Skip to main content
Log in

A formal approach to reactive systems software: A telecommunications application in Esterel

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

Esterel is a formally-defined language designed for programming reactive systems; namely, those that maintain a permanent interaction with their environment. The AT&T 5ESS® telephone switching system is an example of a reactive system. We describe an implementation in Esterel of one feature of a 5ESS switch; this implementation has been tested in the 5ESS switch simulator. Furthermore, it has been formally verified that this implementation satisfies some safety properties stated by 5ESS software development. Our experience indicates that Esterel is suitable for programming industrial-strength reactive systems, and affords significant advantages in software development over more traditional programming languages used in industrial settings.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. AGEL workshop manual version 3.0, 1989. Produced by ILOG, Mountain View, CA.

  2. M.A. Ardis, J.A. Chaves, L.J. Jagadeesan, P. Mataga, C. Puchol, M. Staskauskas, and J.E. Von Olnhausen. A framework for evaluating specification methods for reactive systems. In Proceedings of the 17th International Conference on Software Engineering, April 1995.

  3. G. Berry and G. Gonthier. Incremental development of an HDLC entity in esterel. Computer Networks and ISDN Systems, 22:35–49, 1991.

    Google Scholar 

  4. G. Berry and G. Gonthier. The esterel synchronous programming language: design, semantics, implementation. Science of Computer Programming, 19:87–152, 1992.

    Google Scholar 

  5. G. Berry, S. Ramesh, and R. K. Shyamasundar. Communicating reactive processes. In ACM SIGPLAN-SIGACT Symposium of Programming Languages, pages 85–98, 1993.

  6. E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite state concurrent systems using temporal logic specifications. ACM TOPLAS, 8(2):244–263, 1986.

    Google Scholar 

  7. E. Coste-Maniere. Utilisation d'esterel dans un contexte ansynchrone: une application robotique. Technical report, INRIA, December 1989.

  8. P.Le Guernic, M.Le Borgne, T. Gauthier, and C.Le Maire. Programming real-time applications with signal. Proceedings of the IEEE, 79(9):1321–1336, 1991.

    Google Scholar 

  9. N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer Academic, 1993.

  10. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous data-flow programming language lustre. Proceedings of the IEEE, 79(9): 1305–1320, 1991.

    Google Scholar 

  11. D. Harel. Statecharts: A visual approach to complex systems. Science of Computer Programming, 8:231–274, 1987.

    Google Scholar 

  12. G. Haugk, F.M. Lax, R.D. Royer, and J.R. Williams. The 5ESS(TM) switching system: Maintenance capabilities. AT&T Technical Journal, 64(6 part 2): 1385–1416, July–August 1985.

    Google Scholar 

  13. L.J. Jagadeesan, C. Puchol, and J.E. Von Olnhausen. Safety property verification of esterel programs and an application to telecommunications software. In Proceedings of the 7th International Conference on Computer-Aided Verification, of the Lecture Notes in Computer Science, 939:127–140, July 1995.

  14. F. Jahanian and A. Mok. Modechart: a specification language for real-time systems. IEEE Transactions on Software Engineering, 20(12):933–947, December 1994.

    Google Scholar 

  15. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.

  16. F. Maraninchi. Argonaute: graphical description, semantics and verification of reactive systems using a process algebra. In Proc. of the International Workshop on Automatic Verification Methods for Finite State Systems. Springer-Verlag, 1989.

  17. K.E. Martersteck and A.E. Spencer. Introduction to the 5ESS(TM) switching system. AT&T Technical Journal, 64(6 part 2): 1305–1314, July–August 1985.

    Google Scholar 

  18. R. Milner. Communication and Concurrency. Series in Computer Science. Prentice Hall, 1989.

  19. G.J. Murakami and R. Sethi. Terminal call processing in esterel. In Proceedings of the IFIP 92 World Computer Congress, Madrid, Spain, 1992.

  20. V. A. Saraswat, R. Jagadeesan, and V. Gupta. Timed default concurrent constraint programming. In Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1995.

  21. J.B. Stefani, L. Hazard, and F. Horn. Computational model for distributed multimedia applications based on a synchronous programming language. Computer Communications, 15(2), March 1992.

  22. P. Wolper, M.Y. Vardi, and A.P. Sistla. Reasoning about infinite computation paths. In IEEE Symposium on Foundations of Computer Science, pages 185–194, 1983.

Download references

Author information

Authors and Affiliations

Authors

Additional information

An earlier version of this paper appeared in the Proceedings of the Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, Florida, 1995.

The author is currently supported by a Fulbright fellowship from Spain's Ministry of Science and Education. The work described here was performed while the author was visiting AT&T Bell Laboratories.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jagadeesan, L.J., Puchol, C. & Von Olnhausen, J.E. A formal approach to reactive systems software: A telecommunications application in Esterel . Form Method Syst Des 8, 123–151 (1996). https://doi.org/10.1007/BF00122418

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00122418

Keywords

Navigation