Abstract
A system design typically involves various languages, each one describing the system at a different level of abstraction. To achieve a trustworthy design, it is essential that the interfaces between these laguages are conceptually well understood and mathematically sound. Recent research in semantics attempts to clarify and structure the development of such interfaces.
This paper considers three languages for communicating, reactive systems — a specification language SL, a programming languages PL and a machine language ML — and outlines two approaches developed in the ESPRIT Basic Research Action “ProCoS” on how to establish the language interfaces. The SL/PL interface is based on a common predicative semantics leading to a mixed term design calculus, and the PL/ML interface is based on an interpreter and algebraic reasoning leading to a prototype compiler written in PROLOG.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
R.J.R. Back, Refinement Calculus, Part II: Parallel and Reactive Programs, In: [BRR90] pp. 67–93.
J.W. de Bakker, W.-P. de Roever, G. Rozenberg, Eds., Stepwise Refinement of Distributed Systems: Models, Formalisms, correctness, Lecture Notes in Comput. Sci. 430 (Springer-Verlag, 1990).
F.L. Bauer et al., The Munich Project CIP, Vol. II: The Transformation System CIP-S, LNCS 292 (Springer-Verlag, 1987).
D. Bjørner, A ProCoS project description, ESPRIT BRA 3104, Bulletin of the EATCS 39 (1989) 60–73.
J.P. Bowen, Formal specification of the ProCoS/safemos instruction set, Microprocessors and Microsystems 14 (1990) 631–643.
J.P. Bowen, From programs to object code using logic and logic programming, in: S. Graham, R. Giegerich, Proc. CODE '91 International Workshop on Code Generation, SchloßDagstuhl, Germany, 1991 (to appear).
M. Broy, Specification and top-down design of distributed systems, J. Comput. System Sci. 34 (1987) 236–265.
R.H. Campbell, A.N. Habermann, The specification of process synchronisation by path expressions, Lecture Notes in Comput. Sci. 16 (Springer-Verlag, 1974).
K.M. Chandy, J. Misra, Parallel Program Design: A Foundation, Addison-Wesley, 1988.
He Jifeng, E.-R. Olderog, Eds., Interfaces for Languages of Concurrent Languages, ProCoS Monographs Vol. 2, 1992 (to appear).
E.C.R. Hehner, Predicative programming, Comm. ACM 27 (2), 1984.
C.A.R. Hoare, Proof of correctness of data representation, Acta Inform. 1 (1972) 272–281.
C.A.R. Hoare, Programs are predicates, in: C.A.R. Hoare, J.C. Shepherdson (Eds.), Mathematical Logic and Programming Languages (Prentice-Hall, London, 1985) 141–155.
C.A.R. Hoare, I.J. Hayes, He Jifeng, C.C. Morgan, A.W. Roscoe, J.W. Sanders, I.H. Sorensen, J.M. Spivey, B.A. Sufrin, Laws of programming, Comm. ACM 30 (1987) 673–686.
C.A.R. Hoare, He Jifeng, Refinement algebra proves correctness of a compiler, in: M. Broy, Ed., Programming and Mathematical Method, Proc. Marktoberdorf Summer School 1990 (to appear with Springer-Verlag).
INMOS Ltd., occam 2 Reference Manual (Prentice Hall, 1988).
K.M. Jensen, H. Rischel, E.-R. Olderog, S. Rössig, Syntax and informal semantics for the ProCoS specification language 0, ProCoS Doc. Id. ID/DTH KMJ 4/2, Tech. Univ. Denmark, 1990.
B. Krieg-Brückner, Algebraic specification and functional for transformational program and meta program development, in: J. Diaz, F. Orejas, Eds., Proc. TAPSOFT '89, Lecture Notes in Comput. Sci. 352 (Springer-Verlag, 1989).
L. Lamport, The temporal logic of actions, Manuscript, DEC Systems Research Center, Palo Alto, April 1991.
R. Milner, Calculus of Communicating Processes, Lecture Notes in Comput. Sci. 92 (Springer-Verlag, 1980).
R. Milner, Communication and Concurrency (Prentice-Hall, 1989).
E.-R. Olderog, Nets, Terms and Formulas: Three Views of Concurrent Processes and Their Relationship (Cambridge University Press, 1991).
E.-R. Olderog, Towards a design calculus for communicating programs, in: J.C.M. Baeten, J.F. Groote, Eds., CONCUR '91, Lecture Notes in Comput. Sci. 527 (Springer-Verlag, 1991) 61–77.
D. Park, Finiteness is mu-ineffable, Theoret. Comput. Sci. 3 (1976) 173–181.
S. Rössig, M. Schenke, Specification and stepwise development of communicating systems, in: S. Prehn, W.J. Toetenel, Eds, Proc. VDM '91 Symposium, Vol. 1, Lecture Notes in Comput. Sci. 551 (Springer-Verlag, 1991) 149–163.
A.W. Roscoe, C.A.R. Hoare, The laws of occam programming, Theoret. Comput. Sci. 60 (1988) 177–229.
Zhou Chaochen, C.A.R. Hoare, A.P. Ravn, A calculus of durations, Inform. Proc. Letters 40 (1992) 269–276.
J. Zwiers, Compositionality, Concurrency, and Partial Correctness — Proof Theories for Networks of Processes and Their Relationship, Lecture Notes in Comput. Sci. 321 (Springer-Verlag, 1989).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Olderog, E.R. (1992). Interfaces between languages for communicating systems. In: Kuich, W. (eds) Automata, Languages and Programming. ICALP 1992. Lecture Notes in Computer Science, vol 623. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55719-9_111
Download citation
DOI: https://doi.org/10.1007/3-540-55719-9_111
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55719-7
Online ISBN: 978-3-540-47278-0
eBook Packages: Springer Book Archive