Skip to main content

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

  • Chapter
Time for Verification

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6200))

Abstract

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.

The initial ideas leading to this paper were developed by the authors during the Dagstuhl Seminar 09481 (Synchron 2009) in November 2009.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Aguado, J., Mendler, M., Lüttgen, G.: A-maze-ing Esterel. In: SLAP ’03. ENTCS, vol. 88, pp. 21–37 (2004)

    Google Scholar 

  3. de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC/FSE ’01, pp. 109–120. ACM Press, New York (2001)

    Google Scholar 

  4. André, C.: Computing SyncCharts reactions. In: SLAP ’03. ENTCS, vol. 88, pp. 3–19 (2004)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  7. Berry, G., Gonthier, G.: The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  9. Boussinot, F.: Reactive C: An extension of C to program reactive systems. Software – Practice and Experience 21(4), 401–428 (1991)

    Article  Google Scholar 

  10. Boussinot, F.: SugarCubes implementation of causality. Technical Report RR-3487, INRIA (1998)

    Google Scholar 

  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. Boussinot, F., de Simone, R.: The SL synchronous language. IEEE Trans. on Software Engineering 22(4), 256–266 (1996)

    Article  Google Scholar 

  13. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. on Comp. 35(8), 677–691 (1986)

    Article  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  16. Eshuis, R.: Reconciling Statechart semantics. Science of Computer Programming 74(3), 65–99 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  17. Esmaeilsabzali, S., Day, N.A., Atlee, J.M.: Big-step semantics. Technical Report CS-2009-05, Univ. of Waterloo (2009)

    Google Scholar 

  18. Esterel Technologies. SCADE Suite, http://www.esterel-technologies.com

  19. Fitting, M.: A Kripke-Kleene semantics for logic programs. Logic Programming 2(4), 295–312 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  20. Fitting, M.C.: Bilattices and the semantics of logic programming. Journal of Logic Programming 11(2), 91–116 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  21. Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: ICLP/SLP, pp. 1070–1080 (1988)

    Google Scholar 

  22. Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  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. Harel, D., Gery, E.: Executable object modeling with Statecharts. IEEE Computer, 31–42 (July 1997)

    Google Scholar 

  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)

    Article  Google Scholar 

  26. Harel, D., Naamad, A.: The STATEMATE semantics of Statecharts. ACM Trans. on Software Engineering Methodology 5(4), 293–333 (1996)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw Hill, New York (1998)

    Google Scholar 

  30. Hooman, J.J.M., Ramesh, S., de Roever, W.-P.: A compositional axiomatization of Statecharts. Theoretical Computer Science 101, 289–335 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  31. Huizing, C., de Roever, W.-P.: Introduction to design choices in the semantics of Statecharts. Information Processing Letters 37, 205–213 (1991)

    Article  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  34. Jahanian, F., Mok, A.K.: Modechart: A specification language for real-time systems. IEEE Trans. on Software Engineering 20(12), 933–947 (1994)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  36. Levi, F.: A compositional μ-calculus proof system for Statecharts processes. Theoretical Computer Science 216(1-2), 271–311 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. Lüttgen, G., Mendler, M.: The intuitionism behind Statecharts steps. ACM Trans. on Computational Logic 3(1), 1–41 (2002)

    Article  MathSciNet  Google Scholar 

  42. Lüttgen, G., Mendler, M.: Towards a model-theory for Esterel. In: SLAP ’02. ENTCS, vol. 65(5) (2002)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  44. Maggiolo-Schettini, A., Peron, A., Tini, S.: A comparison of Statecharts step semantics. Theoretical Computer Science 290(1), 465–498 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  45. Mandel, L., Pouzet, M.: ReactiveML: A reactive extension to ML. In: PPDP ’05. ACM Press, New York (2005)

    Google Scholar 

  46. Maraninchi, F., Rémond, Y.: Argos: An automaton-based synchronous language. Comput. Lang. 27(1/3), 61–92 (2001)

    Article  MATH  Google Scholar 

  47. The Mathworks. Stateflow user’s guide, http://www.mathworks.com

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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  52. Potop-Butucaru, D., Edwards, S.A., Berry, G.: Compiling ESTEREL. Springer, Heidelberg (2007)

    Google Scholar 

  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. Shepherdson, J.C.: Logics for negation as failure. In: Logic from Computer Science, pp. 521–583. Springer, Heidelberg (1991)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

de Roever, WP., Lüttgen, G., Mendler, M. (2010). What Is in a Step: New Perspectives on a Classical Question. In: Manna, Z., Peled, D.A. (eds) Time for Verification. Lecture Notes in Computer Science, vol 6200. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13754-9_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13754-9_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13753-2

  • Online ISBN: 978-3-642-13754-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics