## Formal Derivation of CSP Programs From Temporal Specifications (1995)

Venue: | In Mathematics of Program Construction |

Citations: | 11 - 1 self |

### BibTeX

@INPROCEEDINGS{Berghammer95formalderivation,

author = {Rudolf Berghammer and Burghard Von Karger},

title = {Formal Derivation of CSP Programs From Temporal Specifications},

booktitle = {In Mathematics of Program Construction},

year = {1995},

pages = {180--196},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

. The algebra of relations has been very successful for reasoning about possibly non-deterministic programs, provided their behaviour can be fully characterized by just their initial and final states. We use a slight generalization, called sequential algebra, to extend the scope of relation-algebraic methods to reactive systems, where the behaviour between initiation and termination is also important. To illustrate this approach, we integrate Communicating Sequential Processes and linear temporal logic in sequential algebra and show that the associated calculus permits the formal derivation of CSP programs from temporal specifications. 1 Introduction CSP is a process language for describing concurrent agents that cooperate via synchronous communication [12]. It is the conceptual core of the occam programming language. The theory of CSP and occam is anchored in denotational semantics [3, 21, 11], which has been used to establish algebraic identities between processes [14]. The collecti...

### Citations

1501 |
The Temporal Logic of Reactive and Concurrent Systems: Specifications. The Temporal Logic of Reactive and Concurrent Systems
- Manna, Pnueli
- 1992
(Show Context)
Citation Context ...ped within sequential algebra. The operations of linear temporal logic are also definable in sequential algebra; see [16], where it is also shown that the axioms of the complete proof system given in =-=[19]-=- for this logic are in fact theorems of the sequential calculus. This allows us to integrate CSP with temporal logic, a well-understood tool for specifying reactive systems. Mixed terms may be constru... |

570 | A Transformation System for Developing Recursive Programs
- Burstall, Darlington
- 1976
(Show Context)
Citation Context ...sign calculus which allows the derivation of processes from abstract descriptions of their desired behaviour. The calculational approach to program derivation is by now traditional (see, for example, =-=[6, 20, 4, 18]-=-). Since most errors in software engineering result from erroneous descriptions of the intended behaviour, it is vital that these specifications be as clear and concise as possible. The language CSP i... |

529 |
A lattice-theorethic Fixpoint Theorem and its applications
- Tarski
- 1955
(Show Context)
Citation Context ...(X : BsflX) ` 2B (T 2 ) for the `henceforth' operation, where f denotes the `-greatest fixed point of a monotone function f . The existence of f follows from the well-known Tarski fixed point theorem =-=[26]-=-. 2 3 Concurrency In this section, we shall explore the use of sequential algebra for modelling concurrent processes. In CSP each process is associated with a specific set of events it can engage in, ... |

211 |
On the caldus of relations
- Tarski
- 1941
(Show Context)
Citation Context ...ncluding section, we indicate further applications of the ideas underlying this paper. 2 The axiomatic version of the relational calculus was developed by Tarski and his co-workers (see, for example, =-=[25, 7]-=-). Some applications to computer science can be found in [2, 22, 5, 13, 1]. 2 Boolean Operations, Sequence and Quotients The hardest task in modelling reactive systems is in choosing the right set of ... |

56 |
Distributive and Modular Laws in the Arithmetic of Relation Algebras
- Chin, Tarski
- 1951
(Show Context)
Citation Context ...ncluding section, we indicate further applications of the ideas underlying this paper. 2 The axiomatic version of the relational calculus was developed by Tarski and his co-workers (see, for example, =-=[25, 7]-=-). Some applications to computer science can be found in [2, 22, 5, 13, 1]. 2 Boolean Operations, Sequence and Quotients The hardest task in modelling reactive systems is in choosing the right set of ... |

53 |
The laws of Occam programming
- Roscoe, Hoare
- 1988
(Show Context)
Citation Context ...nceptual core of the occam programming language. The theory of CSP and occam is anchored in denotational semantics [3, 21, 11], which has been used to establish algebraic identities between processes =-=[14]-=-. The collection of these laws constitutes a mechanizable calculus for process transformations [10]. We aim at an extension to a design calculus which allows the derivation of processes from abstract ... |

42 |
StrÃ¶hlein: Relations and Graphs
- Schmidt, T
- 1993
(Show Context)
Citation Context ...R () P T ; R ` Q () R ; T Q ` P PQ ; T R = P (Q ; T R) [ P ; T (R ; T Q) (called Schroder law resp. split axiom) hold. 2 The Schroder law corresponds to the same law from the relational calculus (see =-=[23]-=-), except that PQ T and P T Q are replaced by P ; T Q and P T ; Q. With the definitions (S 1 ) through (S 4 ) we obtain a sequential algebra, which we call the sequential set algebra (over the observa... |

41 |
Formal Program Construction by Transformations
- Bauer, Moller, et al.
- 1989
(Show Context)
Citation Context ...sign calculus which allows the derivation of processes from abstract descriptions of their desired behaviour. The calculational approach to program derivation is by now traditional (see, for example, =-=[6, 20, 4, 18]-=-). Since most errors in software engineering result from erroneous descriptions of the intended behaviour, it is vital that these specifications be as clear and concise as possible. The language CSP i... |

35 |
Relational algebraic semantics of deterministic and nondeterministic programs
- Berghammer, Zierer
- 1986
(Show Context)
Citation Context ...underlying this paper. 2 The axiomatic version of the relational calculus was developed by Tarski and his co-workers (see, for example, [25, 7]). Some applications to computer science can be found in =-=[2, 22, 5, 13, 1]-=-. 2 Boolean Operations, Sequence and Quotients The hardest task in modelling reactive systems is in choosing the right set of possible observations. Rather than fix a particular domain of observations... |

33 | S: Specifying and verifying fault-tolerant systems
- Lamport, Merz
(Show Context)
Citation Context ...sign calculus which allows the derivation of processes from abstract descriptions of their desired behaviour. The calculational approach to program derivation is by now traditional (see, for example, =-=[6, 20, 4, 18]-=-). Since most errors in software engineering result from erroneous descriptions of the intended behaviour, it is vital that these specifications be as clear and concise as possible. The language CSP i... |

18 |
An improved failures model for communicating sequential processes
- Brookes, Roscoe
(Show Context)
Citation Context ...ing concurrent agents that cooperate via synchronous communication [12]. It is the conceptual core of the occam programming language. The theory of CSP and occam is anchored in denotational semantics =-=[3, 21, 11]-=-, which has been used to establish algebraic identities between processes [14]. The collection of these laws constitutes a mechanizable calculus for process transformations [10]. We aim at an extensio... |

9 | Hoare: Sequential calculus
- Karger, R
- 1995
(Show Context)
Citation Context ...Besides the purely settheoretic operations we also need to express time-wise composition of systems. The addition of an associative sequence operation leads from Boolean algebra to sequential algebra =-=[15, 17]-=-. It is distinguished from the algebra of relations 2 by the absence of a converse operation R 7! R T . This is justified by the irreversible nature of observations on reactive systems: Once an event ... |

4 |
de Roever W.P.: A calculus for recursive program schemes
- Bakker
- 1973
(Show Context)
Citation Context ...underlying this paper. 2 The axiomatic version of the relational calculus was developed by Tarski and his co-workers (see, for example, [25, 7]). Some applications to computer science can be found in =-=[2, 22, 5, 13, 1]-=-. 2 Boolean Operations, Sequence and Quotients The hardest task in modelling reactive systems is in choosing the right set of possible observations. Rather than fix a particular domain of observations... |

4 |
Jifeng: The Weakest Prespecification, part
- Hoare, H
- 1986
(Show Context)
Citation Context ...underlying this paper. 2 The axiomatic version of the relational calculus was developed by Tarski and his co-workers (see, for example, [25, 7]). Some applications to computer science can be found in =-=[2, 22, 5, 13, 1]-=-. 2 Boolean Operations, Sequence and Quotients The hardest task in modelling reactive systems is in choosing the right set of possible observations. Rather than fix a particular domain of observations... |

3 |
Hoare C.A.R.: Specification-oriented semantics for communicating processes
- Olderog
- 1986
(Show Context)
Citation Context ...ing concurrent agents that cooperate via synchronous communication [12]. It is the conceptual core of the occam programming language. The theory of CSP and occam is anchored in denotational semantics =-=[3, 21, 11]-=-, which has been used to establish algebraic identities between processes [14]. The collection of these laws constitutes a mechanizable calculus for process transformations [10]. We aim at an extensio... |

2 |
Specification and Proof in Real Time Systems
- Davies
- 1991
(Show Context)
Citation Context ...ions Traditionally, descriptions of CSP processes yet to be written have been set down directly in the semantic domain using arbitrary mathematics rather than the restricted notation of some calculus =-=[12, 21, 8]-=-. Such specifications have the advantage of simplicity and clarity, but they cannot be transformed into programs by algebraic calculation and there are hard to mechanize. The purpose of this section i... |

2 |
The Oxford occam transformation system (draft user documentation
- Goldsmith
- 1994
(Show Context)
Citation Context ...ional semantics [3, 21, 11], which has been used to establish algebraic identities between processes [14]. The collection of these laws constitutes a mechanizable calculus for process transformations =-=[10]-=-. We aim at an extension to a design calculus which allows the derivation of processes from abstract descriptions of their desired behaviour. The calculational approach to program derivation is by now... |

2 |
B.G.O.: Denotational Semantics for occam 2, parts
- Goldsmith, Roscoe, et al.
- 1993
(Show Context)
Citation Context ...ing concurrent agents that cooperate via synchronous communication [12]. It is the conceptual core of the occam programming language. The theory of CSP and occam is anchored in denotational semantics =-=[3, 21, 11]-=-, which has been used to establish algebraic identities between processes [14]. The collection of these laws constitutes a mechanizable calculus for process transformations [10]. We aim at an extensio... |

2 |
Hoare C.A.R.: Sequential calculus
- Karger
- 1995
(Show Context)
Citation Context ...Besides the purely settheoretic operations we also need to express time-wise composition of systems. The addition of an associative sequence operation leads from Boolean algebra to sequential algebra =-=[15, 17]-=-. It is distinguished from the algebra of relations 2 by the absence of a converse operation R 7! R T . This is justified by the irreversible nature of observations on reactive systems: Once an event ... |

2 | Programs as partial graphs, parts I - Schmidt - 1981 |