What Is in a Step: New Perspectives on a Classical Question

  • Willem-Paul de Roever
  • Gerald Lüttgen
  • Michael Mendler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6200)


In their seminal 1991 paper “What is in a Step: On the Semantics of Statecharts”, Pnueli and Shalev showed how, in the presence of global consistency and while observing causality, the synchronous language Statecharts can be given coinciding operational and declarative step semantics. Over the past decade, this semantics has been supplemented with order-theoretic, denotational, axiomatic and game-theoretic characterisations, thus revealing itself as a rather canonical interpretation of the synchrony hypothesis.

In this paper, we survey these characterisations and use them to emphasise the close but not widely known relations of Statecharts to the synchronous language Esterel and to the field of logic programming. Additionally, we highlight some early reminiscences on Amir Pnueli’s contributions to characterise the semantics of Statecharts.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aguado, J., Mendler, M.: Constructive semantics for instantaneous reactions. Theoretical Computer Science (to appear, 2010); A preliminary version of this article is available as Tech. Rep. 63/2005, Univ. of Bamberg (2005)Google Scholar
  2. 2.
    Aguado, J., Mendler, M., Lüttgen, G.: A-maze-ing Esterel. In: SLAP ’03. ENTCS, vol. 88, pp. 21–37 (2004)Google Scholar
  3. 3.
    de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC/FSE ’01, pp. 109–120. ACM Press, New York (2001)Google Scholar
  4. 4.
    André, C.: Computing SyncCharts reactions. In: SLAP ’03. ENTCS, vol. 88, pp. 3–19 (2004)Google Scholar
  5. 5.
    von der Beeck, M.: A comparison of Statecharts variants. In: Langmaack, H., de Roever, W.-P., Vytopil, J. (eds.) FTRTFT 1994 and ProCoS 1994. LNCS, vol. 863, pp. 128–148. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  6. 6.
    Benveniste, A., Caspi, P., Edwards, S.A., Halbwachs, N., Le Guernic, P., de Simone, R.: The synchronous languages 12 years later. Proc. of the IEEE 91(1), 64–83 (2003)CrossRefGoogle Scholar
  7. 7.
    Berry, G., Gonthier, G.: The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)CrossRefMATHGoogle Scholar
  8. 8.
    Bienmüller, T., Damm, W., Wittke, H.: The STATEMATE verification environment – Making it real. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 561–567. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Boussinot, F.: Reactive C: An extension of C to program reactive systems. Software – Practice and Experience 21(4), 401–428 (1991)CrossRefGoogle Scholar
  10. 10.
    Boussinot, F.: SugarCubes implementation of causality. Technical Report RR-3487, INRIA (1998)Google Scholar
  11. 11.
    Boussinot, F., Dabrowski, F.: Safe reactive programming: The FunLoft proposal. In: MULTIPROG: Programmability Issues for Multi-Core Computers. Informal workshop proceedings (2008)Google Scholar
  12. 12.
    Boussinot, F., de Simone, R.: The SL synchronous language. IEEE Trans. on Software Engineering 22(4), 256–266 (1996)CrossRefGoogle Scholar
  13. 13.
    Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. on Comp. 35(8), 677–691 (1986)CrossRefMATHGoogle Scholar
  14. 14.
    van Dalen, D.: Intuitionistic logic. In: van Dalen, D. (ed.) Handbook of Philosophical Logic, ch. 4, vol. III, pp. 225–339. Reidel, Dordrechtz (1986)CrossRefGoogle Scholar
  15. 15.
    Damm, W., Josko, B., Hungar, H., Pnueli, A.: A compositional real-time semantics of STATEMATE designs. In: de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, pp. 186–238. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  16. 16.
    Eshuis, R.: Reconciling Statechart semantics. Science of Computer Programming 74(3), 65–99 (2009)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Esmaeilsabzali, S., Day, N.A., Atlee, J.M.: Big-step semantics. Technical Report CS-2009-05, Univ. of Waterloo (2009)Google Scholar
  18. 18.
    Esterel Technologies. SCADE Suite, http://www.esterel-technologies.com
  19. 19.
    Fitting, M.: A Kripke-Kleene semantics for logic programs. Logic Programming 2(4), 295–312 (1985)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Fitting, M.C.: Bilattices and the semantics of logic programming. Journal of Logic Programming 11(2), 91–116 (1991)MathSciNetCrossRefMATHGoogle Scholar
  21. 21.
    Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: ICLP/SLP, pp. 1070–1080 (1988)Google Scholar
  22. 22.
    Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)MathSciNetCrossRefMATHGoogle Scholar
  23. 23.
    Harel, D.: Statecharts in the making: A personal account. In: History of Programming Languages, pp. 5-1–5-43. ACM Press, New York (2007)Google Scholar
  24. 24.
    Harel, D., Gery, E.: Executable object modeling with Statecharts. IEEE Computer, 31–42 (July 1997)Google Scholar
  25. 25.
    Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtul-Trauring, A., Trakhtenbrot, M.: STATEMATE: A working environment for the development of complex reactive systems. IEEE Trans. on Software Engineering 16(4), 403–414 (1990)CrossRefGoogle Scholar
  26. 26.
    Harel, D., Naamad, A.: The STATEMATE semantics of Statecharts. ACM Trans. on Software Engineering Methodology 5(4), 293–333 (1996)CrossRefGoogle Scholar
  27. 27.
    Harel, D., Pnueli, A.: On the development of reactive systems. In: Logics and Models of Concurrent Systems. NATO ASI Series, vol. F-13, pp. 477–498. Springer, Heidelberg (1985)CrossRefGoogle Scholar
  28. 28.
    Harel, D., Pnueli, A., Schmidt, J.P., Sherman, R.: On the formal semantics of Statecharts. In: LICS ’87, pp. 54–64. IEEE Computer Society Press, Los Alamitos (1987)Google Scholar
  29. 29.
    Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw Hill, New York (1998)Google Scholar
  30. 30.
    Hooman, J.J.M., Ramesh, S., de Roever, W.-P.: A compositional axiomatization of Statecharts. Theoretical Computer Science 101, 289–335 (1992)MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    Huizing, C., de Roever, W.-P.: Introduction to design choices in the semantics of Statecharts. Information Processing Letters 37, 205–213 (1991)CrossRefMATHGoogle Scholar
  32. 32.
    Huizing, C., Gerth, R.: Semantics of reactive systems in abstract time. In: Huizing, C., de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1991. LNCS, vol. 600, pp. 291–314. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  33. 33.
    Huizing, C., Gerth, R., de Roever, W.-P.: Modeling Statecharts behavior in a fully abstract way. In: Dauchet, M., Nivat, M. (eds.) CAAP 1988. LNCS, vol. 299, pp. 271–294. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  34. 34.
    Jahanian, F., Mok, A.K.: Modechart: A specification language for real-time systems. IEEE Trans. on Software Engineering 20(12), 933–947 (1994)CrossRefGoogle Scholar
  35. 35.
    Leveson, N.G., Heimdahl, M., Hildreth, H., Reese, J.D.: Requirements specification for process-control systems. IEEE Trans. on Software Engineering 20(9), 684–707 (1994)CrossRefGoogle Scholar
  36. 36.
    Levi, F.: A compositional μ-calculus proof system for Statecharts processes. Theoretical Computer Science 216(1-2), 271–311 (1999)MathSciNetCrossRefMATHGoogle Scholar
  37. 37.
    Lüttgen, G., von der Beeck, M., Cleaveland, R.: Statecharts via process algebra. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 399–414. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  38. 38.
    Lüttgen, G., von der Beeck, M., Cleaveland, R.: A compositional approach to Statecharts semantics. In: FSE 2000, ACM Software Engineering Notes, pp. 120–129 (2000)Google Scholar
  39. 39.
    Lüttgen, G., Mendler, M.: Statecharts: From visual syntax to model-theoretic semantics. In: Integrating Diagrammatic and Formal Specification Techniques, pp. 615–621. Austrian Computer Society (2001)Google Scholar
  40. 40.
    Lüttgen, G., Mendler, M.: Axiomatizing an algebra of step reactions for synchronous languages. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 163–174. Springer, Heidelberg (2002)Google Scholar
  41. 41.
    Lüttgen, G., Mendler, M.: The intuitionism behind Statecharts steps. ACM Trans. on Computational Logic 3(1), 1–41 (2002)MathSciNetCrossRefGoogle Scholar
  42. 42.
    Lüttgen, G., Mendler, M.: Towards a model-theory for Esterel. In: SLAP ’02. ENTCS, vol. 65(5) (2002)Google Scholar
  43. 43.
    Maggiolo-Schettini, A., Peron, A., Tini, S.: Equivalences of Statecharts. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 687–702. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  44. 44.
    Maggiolo-Schettini, A., Peron, A., Tini, S.: A comparison of Statecharts step semantics. Theoretical Computer Science 290(1), 465–498 (2003)MathSciNetCrossRefMATHGoogle Scholar
  45. 45.
    Mandel, L., Pouzet, M.: ReactiveML: A reactive extension to ML. In: PPDP ’05. ACM Press, New York (2005)Google Scholar
  46. 46.
    Maraninchi, F., Rémond, Y.: Argos: An automaton-based synchronous language. Comput. Lang. 27(1/3), 61–92 (2001)CrossRefMATHGoogle Scholar
  47. 47.
    The Mathworks. Stateflow user’s guide, http://www.mathworks.com
  48. 48.
    Niemelä, I., Simons, P., Syrjänen, T.: Smodels: A system for answer set programming. In: Workshop on Non-Monotonic Reasoning, Breckenridge, Colorado, USA (April 2000)Google Scholar
  49. 49.
    Pearce, D.: From here to there: Stable negation in logic programming. In: Gabbay, D.M., Wansig, H. (eds.) What is Negation?, pp. 161–181. Kluwer, Dordrecht (1999)CrossRefGoogle Scholar
  50. 50.
    Phillips, J., Scholz, P.: Compositional specification of embedded systems with Statecharts. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 637–651. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  51. 51.
    Pnueli, A., Shalev, M.: What is in a step: On the semantics of Statecharts. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 244–264. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  52. 52.
    Potop-Butucaru, D., Edwards, S.A., Berry, G.: Compiling ESTEREL. Springer, Heidelberg (2007)Google Scholar
  53. 53.
    Saraswat, V.A., Jagadeesan, R., Gupta, V.: Foundations of timed concurrent constraint programming. In: LICS ’94, pp. 71–80. IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  54. 54.
    Shepherdson, J.C.: Logics for negation as failure. In: Logic from Computer Science, pp. 521–583. Springer, Heidelberg (1991)Google Scholar
  55. 55.
    Taleghani, A., Atlee, J.M.: Semantic variations among UML State Machines. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 245–259. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  56. 56.
    Uselton, A.C., Smolka, S.A.: A compositional semantics for Statecharts using labeled transition systems. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 2–17. Springer, Heidelberg (1994)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Willem-Paul de Roever
    • 1
  • Gerald Lüttgen
    • 2
  • Michael Mendler
    • 2
  1. 1.Institute of Computer Science and Applied MathematicsChristian-Albrechts-University of KielGermany
  2. 2.Software Technologies and Informatics Theory Research GroupsOtto-Friedrich-University of BambergGermany

Personalised recommendations