Skip to main content

Interfaces between languages for communicating systems

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 623))

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.

Unable to display preview. Download preview PDF.

References

  1. R.J.R. Back, Refinement Calculus, Part II: Parallel and Reactive Programs, In: [BRR90] pp. 67–93.

    Google Scholar 

  2. 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).

    Google Scholar 

  3. F.L. Bauer et al., The Munich Project CIP, Vol. II: The Transformation System CIP-S, LNCS 292 (Springer-Verlag, 1987).

    Google Scholar 

  4. D. Bjørner, A ProCoS project description, ESPRIT BRA 3104, Bulletin of the EATCS 39 (1989) 60–73.

    Google Scholar 

  5. J.P. Bowen, Formal specification of the ProCoS/safemos instruction set, Microprocessors and Microsystems 14 (1990) 631–643.

    Article  Google Scholar 

  6. 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).

    Google Scholar 

  7. M. Broy, Specification and top-down design of distributed systems, J. Comput. System Sci. 34 (1987) 236–265.

    Article  Google Scholar 

  8. R.H. Campbell, A.N. Habermann, The specification of process synchronisation by path expressions, Lecture Notes in Comput. Sci. 16 (Springer-Verlag, 1974).

    Google Scholar 

  9. K.M. Chandy, J. Misra, Parallel Program Design: A Foundation, Addison-Wesley, 1988.

    Google Scholar 

  10. He Jifeng, E.-R. Olderog, Eds., Interfaces for Languages of Concurrent Languages, ProCoS Monographs Vol. 2, 1992 (to appear).

    Google Scholar 

  11. E.C.R. Hehner, Predicative programming, Comm. ACM 27 (2), 1984.

    Google Scholar 

  12. C.A.R. Hoare, Proof of correctness of data representation, Acta Inform. 1 (1972) 272–281.

    Article  Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Article  Google Scholar 

  15. 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).

    Google Scholar 

  16. INMOS Ltd., occam 2 Reference Manual (Prentice Hall, 1988).

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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).

    Google Scholar 

  19. L. Lamport, The temporal logic of actions, Manuscript, DEC Systems Research Center, Palo Alto, April 1991.

    Google Scholar 

  20. R. Milner, Calculus of Communicating Processes, Lecture Notes in Comput. Sci. 92 (Springer-Verlag, 1980).

    Google Scholar 

  21. R. Milner, Communication and Concurrency (Prentice-Hall, 1989).

    Google Scholar 

  22. E.-R. Olderog, Nets, Terms and Formulas: Three Views of Concurrent Processes and Their Relationship (Cambridge University Press, 1991).

    Google Scholar 

  23. 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.

    Google Scholar 

  24. D. Park, Finiteness is mu-ineffable, Theoret. Comput. Sci. 3 (1976) 173–181.

    Article  Google Scholar 

  25. 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.

    Google Scholar 

  26. A.W. Roscoe, C.A.R. Hoare, The laws of occam programming, Theoret. Comput. Sci. 60 (1988) 177–229.

    Article  Google Scholar 

  27. Zhou Chaochen, C.A.R. Hoare, A.P. Ravn, A calculus of durations, Inform. Proc. Letters 40 (1992) 269–276.

    Article  Google Scholar 

  28. 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).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

W. Kuich

Rights and permissions

Reprints 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

Publish with us

Policies and ethics