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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Aguado, J., Mendler, M., Lüttgen, G.: A-maze-ing Esterel. In: SLAP ’03. ENTCS, vol. 88, pp. 21–37 (2004)
de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC/FSE ’01, pp. 109–120. ACM Press, New York (2001)
André, C.: Computing SyncCharts reactions. In: SLAP ’03. ENTCS, vol. 88, pp. 3–19 (2004)
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)
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)
Berry, G., Gonthier, G.: The Esterel synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)
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)
Boussinot, F.: Reactive C: An extension of C to program reactive systems. Software – Practice and Experience 21(4), 401–428 (1991)
Boussinot, F.: SugarCubes implementation of causality. Technical Report RR-3487, INRIA (1998)
Boussinot, F., Dabrowski, F.: Safe reactive programming: The FunLoft proposal. In: MULTIPROG: Programmability Issues for Multi-Core Computers. Informal workshop proceedings (2008)
Boussinot, F., de Simone, R.: The SL synchronous language. IEEE Trans. on Software Engineering 22(4), 256–266 (1996)
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. on Comp. 35(8), 677–691 (1986)
van Dalen, D.: Intuitionistic logic. In: van Dalen, D. (ed.) Handbook of Philosophical Logic, ch. 4, vol. III, pp. 225–339. Reidel, Dordrechtz (1986)
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)
Eshuis, R.: Reconciling Statechart semantics. Science of Computer Programming 74(3), 65–99 (2009)
Esmaeilsabzali, S., Day, N.A., Atlee, J.M.: Big-step semantics. Technical Report CS-2009-05, Univ. of Waterloo (2009)
Esterel Technologies. SCADE Suite, http://www.esterel-technologies.com
Fitting, M.: A Kripke-Kleene semantics for logic programs. Logic Programming 2(4), 295–312 (1985)
Fitting, M.C.: Bilattices and the semantics of logic programming. Journal of Logic Programming 11(2), 91–116 (1991)
Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: ICLP/SLP, pp. 1070–1080 (1988)
Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)
Harel, D.: Statecharts in the making: A personal account. In: History of Programming Languages, pp. 5-1–5-43. ACM Press, New York (2007)
Harel, D., Gery, E.: Executable object modeling with Statecharts. IEEE Computer, 31–42 (July 1997)
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)
Harel, D., Naamad, A.: The STATEMATE semantics of Statecharts. ACM Trans. on Software Engineering Methodology 5(4), 293–333 (1996)
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)
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)
Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw Hill, New York (1998)
Hooman, J.J.M., Ramesh, S., de Roever, W.-P.: A compositional axiomatization of Statecharts. Theoretical Computer Science 101, 289–335 (1992)
Huizing, C., de Roever, W.-P.: Introduction to design choices in the semantics of Statecharts. Information Processing Letters 37, 205–213 (1991)
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)
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)
Jahanian, F., Mok, A.K.: Modechart: A specification language for real-time systems. IEEE Trans. on Software Engineering 20(12), 933–947 (1994)
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)
Levi, F.: A compositional μ-calculus proof system for Statecharts processes. Theoretical Computer Science 216(1-2), 271–311 (1999)
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)
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)
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)
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)
Lüttgen, G., Mendler, M.: The intuitionism behind Statecharts steps. ACM Trans. on Computational Logic 3(1), 1–41 (2002)
Lüttgen, G., Mendler, M.: Towards a model-theory for Esterel. In: SLAP ’02. ENTCS, vol. 65(5) (2002)
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)
Maggiolo-Schettini, A., Peron, A., Tini, S.: A comparison of Statecharts step semantics. Theoretical Computer Science 290(1), 465–498 (2003)
Mandel, L., Pouzet, M.: ReactiveML: A reactive extension to ML. In: PPDP ’05. ACM Press, New York (2005)
Maraninchi, F., Rémond, Y.: Argos: An automaton-based synchronous language. Comput. Lang. 27(1/3), 61–92 (2001)
The Mathworks. Stateflow user’s guide, http://www.mathworks.com
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)
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)
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)
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)
Potop-Butucaru, D., Edwards, S.A., Berry, G.: Compiling ESTEREL. Springer, Heidelberg (2007)
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)
Shepherdson, J.C.: Logics for negation as failure. In: Logic from Computer Science, pp. 521–583. Springer, Heidelberg (1991)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)