Results 11  20
of
122
Qin Analysing memory resource bounds for lowlevel programs
 In ISMM 08
, 2008
"... Embedded systems are becoming more widely used but these systems are often resource constrained. Programming models for these systems should take into formal consideration resources such as stack and heap. In this paper, we show how memory resource bounds can be inferred for assemblylevel programs. ..."
Abstract

Cited by 19 (1 self)
 Add to MetaCart
Embedded systems are becoming more widely used but these systems are often resource constrained. Programming models for these systems should take into formal consideration resources such as stack and heap. In this paper, we show how memory resource bounds can be inferred for assemblylevel programs. Our inference process captures the memory needs of each method in terms of the symbolic values of its parameters. For better precision, we infer pathsensitive information through a novel guarded expression format. Our current proposal relies on a Presburger solver to capture memory requirements symbolically, and to perform fixpoint analysis for loops and recursion. Apart from safety in memory adequacy, our proposal can provide estimate on memory costs for embedded devices and improve performance via fewer runtime checks against memory bound. 1.
A Refinement Algebra for ObjectOriented Programming
, 2003
"... In this article we introduce a comprehensive set of algebraic laws for rool, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the objectoriented features of the language. We show that this set of laws is complete in the sense that ..."
Abstract

Cited by 16 (3 self)
 Add to MetaCart
In this article we introduce a comprehensive set of algebraic laws for rool, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the objectoriented features of the language. We show that this set of laws is complete in the sense that it is sufficient to reduce an arbitrary rool program to a normal form expressed in a restricted subset of the rool operators. We also
Engineering and Theoretical Underpinnings of Retrenchment
, 2001
"... Refinement is reviewed in a partial correctness framework, highlighting in particular the distinction between its use as a specification constructor at a high level, and its use as an implementation mechanism at a low level. Some of its shortcomings as specification constructor at high levels of ..."
Abstract

Cited by 16 (13 self)
 Add to MetaCart
Refinement is reviewed in a partial correctness framework, highlighting in particular the distinction between its use as a specification constructor at a high level, and its use as an implementation mechanism at a low level. Some of its shortcomings as specification constructor at high levels of abstraction are pointed out, and these are used to motivate the adoption of retrenchment for certain high level development steps. Basic properties of retrenchment are described, including a justification of the operation PO, simple examples, simulation properties, and compositionality for both the basic retrenchment notion and enriched versions. The issue of framing retrenchment in the wide variety of correctness notions for refinement calculi that exist in the literature is tackled, culminating in guidelines on how to `brew your own retrenchment theory'. Two short case studies are presented. One is a simple digital redesign control theory problem, the other is a radiotherapy dos...
Communicating Complex Systems
 In Proceedings of ICECCS2006
, 2006
"... This paper presents efficient mechanisms for the direct implementation of formal models of highly concurrent dynamic systems. The formalisms captured are CSP (for concurrency) and B (for state transformation). The technology is driving the development of occamπ, a multiprocessing language based on ..."
Abstract

Cited by 16 (9 self)
 Add to MetaCart
This paper presents efficient mechanisms for the direct implementation of formal models of highly concurrent dynamic systems. The formalisms captured are CSP (for concurrency) and B (for state transformation). The technology is driving the development of occamπ, a multiprocessing language based on a careful combination of ideas from Hoare’s CSP (giving compositional semantics, refinement and safety/liveness analysis) and Milner’s πcalculus (giving dynamic network construction and mobility). We have been experimenting with systems developing as layered networks of selforganising neighbourhoodaware communicating processes, with no need for advanced planning or centralised control. The work reported is part of our TUNA (‘Theory Underpinning Nanotech Assemblers’) project, a partnership with colleagues from the Universities of York, Surrey and Kent, which is investigating formal approaches to the capture of safe emergent behaviour in highly complex systems. A particular study modelling artificial blood platelets is described. A novel contribution reported here is a fast resolution of (CSP external) choice between multiway process synchronisations from which any participant may withdraw its offer at any time. The software technology scales to millions of processes per processor and distributes over common multiprocessor clusters. 1.
Embedding prolog in haskell
 Department of Computer Science, University of Utrecht
, 1999
"... The distinctive merit of the declarative reading of logic programs is the validity ofallthelaws of reasoning supplied by the predicate calculus with equality. Surprisingly many of these laws are still valid for the procedural reading � they can therefore be used safely for algebraic manipulation, pr ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
The distinctive merit of the declarative reading of logic programs is the validity ofallthelaws of reasoning supplied by the predicate calculus with equality. Surprisingly many of these laws are still valid for the procedural reading � they can therefore be used safely for algebraic manipulation, program transformation and optimisation of executable logic programs. This paper lists a number of common laws, and proves their validity for the standard (depth rst search) procedural reading of Prolog. They also hold for alternative search strategies, e.g. breadth rst search. Our proofs of the laws are based on the standard algebra of functional programming, after the strategies have been given a rather simple implementation in Haskell. 1
Formal Method Integration via Heterogeneous Notations
, 1997
"... Method integration is the procedure of combining multiple methods to form a new technique. In the context of software engineering, this can involve combining specification techniques, rules and guidelines for design and implementation, and sequences of steps for managing an entire development. In cu ..."
Abstract

Cited by 15 (9 self)
 Add to MetaCart
Method integration is the procedure of combining multiple methods to form a new technique. In the context of software engineering, this can involve combining specification techniques, rules and guidelines for design and implementation, and sequences of steps for managing an entire development. In current practice, method integration is often an adhoc process, where links between methods are defined on a casebycase basis. In this dissertation, we examine an approach to formal method integration based on socalled heterogeneous notations: compositions of compatible notations. We set up a basis that can be used to formally define the meaning of compositions of formal and semiformal notations. Then, we examine how this basis can be used in combining methods used for system specification, design, and implementation. We demonst...
Towards a Denotational Semantics of Timed RSL using Duration Calculus
, 1999
"... Timed RAISE Specification Language(TRSL) is an extension of RAISE Specification Language by adding time constructors for specifying realtime application. Duration Calculus(DC) is a realtime interval logic which can be used to specify and reason about timing and logical constraints on duration prop ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
Timed RAISE Specification Language(TRSL) is an extension of RAISE Specification Language by adding time constructors for specifying realtime application. Duration Calculus(DC) is a realtime interval logic which can be used to specify and reason about timing and logical constraints on duration properties of Boolean states in a dynamic system. This paper gives a denotational semantics to a subset of TRSL expressions, using Duration Calculus extended with superdense chop modality and notations to capture time point properties of piecewise continuous states of arbitrary types. Using this semantics, we present a proof rule for verifying TRSL iterative expressions and implement the rule to prove the satisfaction by a sample TRSL specification of its realtime requirements. Li Li is a Fellow of UNU/IIST, on leave of absence from University of Science and Technology of China, where he is a Ph.D student. Email: ll@iist.unu.edu. He Jifeng is a Senior Research Fellow of UNU/IIST, on leave o...
Probabilistic Models for the Guarded Command Language
 Science of Computer Programming
, 1995
"... The two models presented in this paper provide two different semantics for an extension of Dijkstra's language of guarded commands. The extended language has an additional operator, namely probabilistic choice, which makes it possible to express randomised algorithms. An earlier model by Claire Jone ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
The two models presented in this paper provide two different semantics for an extension of Dijkstra's language of guarded commands. The extended language has an additional operator, namely probabilistic choice, which makes it possible to express randomised algorithms. An earlier model by Claire Jones included probabilistic choice but not nondeterminism, which meant that it could not be used for the development of algorithms from specifications. Our second model is built on top of Claire Jones' model, using a general method of extending a probabilistic cpo to one which also contains nondeterminism. The first model was constructed from scratch, as it were, guided only by the desire for certain algebraic properties of the language constructs, which we found lacking in the second model. We compare and contrast the properties of the two models both by giving examples and by constructing mappings between them and the nonprobabilistic model. On the basis of this comparison we argue that, i...
Logic of Global Synchrony
, 2001
"... An intermediatelevel specification notation is presented for use with BSPstyle programming. It is achieved by extending prepost semantics to reveal state at points of global synchronisation. That enables us to integrate the prepost, finite and reactiveprocess styles of specification in BSP, as ..."
Abstract

Cited by 14 (10 self)
 Add to MetaCart
An intermediatelevel specification notation is presented for use with BSPstyle programming. It is achieved by extending prepost semantics to reveal state at points of global synchronisation. That enables us to integrate the prepost, finite and reactiveprocess styles of specification in BSP, as shown by our treatment of the dining philosophers. The language is provided with a complete set of laws and has been formulated to benefit from a simple predicative semantics.
A relational model for objectoriented designs
 In Pro. APLAS’2004, LNCS 3302
, 2004
"... Abstract. This paper develops a mathematical characterisation of objectoriented concepts by defining an observationoriented semantics for an objectoriented language (OOL) with a rich variety of features including subtypes, visibility, inheritance, dynamic binding and polymorphism. The language is ..."
Abstract

Cited by 14 (7 self)
 Add to MetaCart
Abstract. This paper develops a mathematical characterisation of objectoriented concepts by defining an observationoriented semantics for an objectoriented language (OOL) with a rich variety of features including subtypes, visibility, inheritance, dynamic binding and polymorphism. The language is expressive enough for the specification of objectoriented designs and programs. We also propose a calculus based on this model to support both structural and behavioural refinement of objectoriented designs. We take the approach of the development of the design calculus based on the standard predicate logic in Hoare and He’s Unifying Theories of Programming (UTP). We also consider object reference in terms of object identity as values and mutually dependent methods.