Skip to main content

Languages for reactive specifications: Synchrony vs asynchrony

  • Conference paper
  • First Online:
Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT 1994, ProCoS 1994)

Abstract

Asynchronous and Synchronous languages have been in use for the specification of reactive systems. One of the main distinguishing features of these two classes lies in the way nondeterminism is used for the specification of programs. In this paper, we formally analyze these two classes from this point of view by comparing the asynchronous language CSP with the synchronous language Esterel. The synchronous language Esterel is based on the notions of determinism, input nondeterminacy and parallelism whereas CSP is built on the notions of nondeterminism, concurrency and distribution. The main objectives of the study are to assess:

  1. 1.

    The role of nondeterminism in the specification of the behaviour and realization of programs: A clear distinction between local and global nondeterminism enables us to distinguish between the implementational nondeterminism and environmental or input nondeterminism. The results in this direction would enable one to achieve observable determinism where the implementational choices can be hidden and thus, analyze the program behaviour with reference to the real environmental nondeterminism in the specification. This in turn leads to a proper refinement of specifications and programs and also aids in deriving distributed implementations of finite state transition systems which are not necessarily deterministic.

  2. 2.

    The implementability of asynchronous languages through synchronous languages: The synchrony hypothesis of the synchronous languages makes it closer to a perfect machine. Thus, the implementability of asynchronous languages in synchronous languages not only provides a realistic implementation but also provides other higher level abstractions (such as multi-process interactions) for reactive specifications using features such as broadcast, interrupts, exception handling mechanisms etc.

The work was partially supported by IFCPAR (Indo-French Centre for the Promotion of Advanced Research), New Delhi, India.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Berry (1992), A hardware implementation of pure Esterel, SADHANA: Special Issue on Real Time edited by RK Shyamasundar, Academy Proceedings in Engineering Sciences, Indian Academy of Sciences, 17 (1):95–139, 1992.

    Google Scholar 

  2. G. Berry and G. Gonthier (1988), The Esterel synchronous programming language: Design, semantics, Implementation, Rapport de Recherche 842, INRIA 1988, Science of Computer Programming, Vol. 19, No.2, Nov. 92, pp. 87–152.

    Google Scholar 

  3. G. Berry, S. Ramesh and R.K. Shyamasundar (1993), Communicating Reactive Processes, 20th Acm Symposium on Principles of Programming Languages, South Carolina, Jan. 1993.

    Google Scholar 

  4. G. Boudol, V. Roy, R. de Simone, and D. Vergamini, Process Calculi, from theory to practice: Verification tools, In Automatic Verification Methods for Finite State Systems, LNCS 407, Springer-Verlag, 1990, pp. 1–10.

    Google Scholar 

  5. P. Caspi and A. Girault (1992), An algorithm for distributing finite transition systems on a shared/distributed memory system, IMAG Report, L-17, Grenoble, France.

    Google Scholar 

  6. C.A.R. Hoare (1978), Communicating Sequential Processes, CACM, August 1978.

    Google Scholar 

  7. Z. Manna and A. Pnueli, Models for Reactivity, TR, Stanford, 1992 (an earlier version presented at the 25th Anniversary of INRIA).

    Google Scholar 

  8. E.-R. Olderog and C.A.R. Hoare (1983), Specification-oriented semantics for communicating processes, 10th ICALP, Barcelona, LNCS, 154, Springer Verlag, pp. 561–572.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hans Langmaack Willem-Paul de Roever Jan Vytopil

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shyamasundar, R.K., Ramesh, S. (1994). Languages for reactive specifications: Synchrony vs asynchrony. In: Langmaack, H., de Roever, WP., Vytopil, J. (eds) Formal Techniques in Real-Time and Fault-Tolerant Systems. FTRTFT ProCoS 1994 1994. Lecture Notes in Computer Science, vol 863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58468-4_187

Download citation

  • DOI: https://doi.org/10.1007/3-540-58468-4_187

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58468-1

  • Online ISBN: 978-3-540-48984-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics