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.
Similar content being viewed by others
References
AGEL workshop manual version 3.0, 1989. Produced by ILOG, Mountain View, CA.
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.
G. Berry and G. Gonthier. Incremental development of an HDLC entity in esterel. Computer Networks and ISDN Systems, 22:35–49, 1991.
G. Berry and G. Gonthier. The esterel synchronous programming language: design, semantics, implementation. Science of Computer Programming, 19:87–152, 1992.
G. Berry, S. Ramesh, and R. K. Shyamasundar. Communicating reactive processes. In ACM SIGPLAN-SIGACT Symposium of Programming Languages, pages 85–98, 1993.
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.
E. Coste-Maniere. Utilisation d'esterel dans un contexte ansynchrone: une application robotique. Technical report, INRIA, December 1989.
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.
N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer Academic, 1993.
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.
D. Harel. Statecharts: A visual approach to complex systems. Science of Computer Programming, 8:231–274, 1987.
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.
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.
F. Jahanian and A. Mok. Modechart: a specification language for real-time systems. IEEE Transactions on Software Engineering, 20(12):933–947, December 1994.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.
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.
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.
R. Milner. Communication and Concurrency. Series in Computer Science. Prentice Hall, 1989.
G.J. Murakami and R. Sethi. Terminal call processing in esterel. In Proceedings of the IFIP 92 World Computer Congress, Madrid, Spain, 1992.
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.
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.
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.
Author information
Authors and Affiliations
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
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
Issue Date:
DOI: https://doi.org/10.1007/BF00122418