skip to main content
article
Free Access

The STATEMATE semantics of statecharts

Published:01 October 1996Publication History
Skip Abstract Section

Abstract

We describe the semantics of statecharts as implemented in the STATEMATE system. This was the first executable semantics defined for the language and has been in use for almost a decade. In terms of the controversy around whether changes made in a given step should take effect in the current step or in the next one, this semantics adopts the latter approach.

References

  1. BERRY, G. AND GONTHIER, G. 1992. The Esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Program. 19, 87-152. Google ScholarGoogle Scholar
  2. HAREL, D. 1987. Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8, 231-274. Preliminary version available as Tech. Rep. CS84-05, The Weizmann Inst. of Science, Rehovot, Israel. Feb. 1984. Google ScholarGoogle Scholar
  3. HAREL, D. AND PNUELI, A. 1985. On the development of reactive systems. In Logics and Models of Concurrent Systems, K.R. Apt, Ed. NATO ASI Series, vol. F-13. Springer-Verlag, New York, 477-498. Google ScholarGoogle Scholar
  4. HAREL, D. AND POLITI, M. 1996. Modeling Reactive Systems with Statecharts: The STATE- MATE Approach. To be published. Preliminary version available as Tech. Rep., i-Logix, Inc., Andover, Mass. Titled "The Languages of STATEMATE." Google ScholarGoogle Scholar
  5. HAREL, D., LACHOVER, H., NAAMAD, A., PNUELI, A., POLITI, M., SHERMAN, R., SHTULL-TRAURING, A., AND TRAKHTENBROT, M. 1990. STATEMATE: A working environment for the development of complex reactive systems. IEEE Trans. Softw. Eng. 16, 403-414. Preliminary version appeared in Proceedings of the l Oth International Conference on Software Engineering. IEEE Press, New York, 1988, pp. 396-406. Google ScholarGoogle Scholar
  6. HAREL, D., PNUELI, A., SCHMIDT, J. P., AND SHERMAN, R. 1987. On the formal semantics of statecharts. In Proceedings of the 2nd IEEE Symposium on Logic in Computer Science. IEEE Press, New York, 54-64.Google ScholarGoogle Scholar
  7. HUIZING, C. AND DE ROEVER, W.P. 1991. Introduction to design choices in the semantics of statecharts. Inf. Process Lett. 37, 205-313. Google ScholarGoogle Scholar
  8. HUIZING, C., GERTH, R., AND DE ROEVER, W.P. 1988. Modeling statecharts behavior in a fully abstract way. In Proceedings of the Colloquium on Trees in Algebra and Programming. Lecture Notes in Computer Science, vol. 299. Springer-Verlag, New York, 271-294. Google ScholarGoogle Scholar
  9. KESTEN, Y. AND PNUELI, A. 1992. Timed and hybrid statecharts and their textual representation. In Formal Techniques in Real-Time and Fault-Tolerant Systems, J. Vytopil, Ed. Lecture Notes in Computer Science, vol. 571. Springer-Verlag, Berlin, 591-619. Google ScholarGoogle Scholar
  10. LEVESON, N. G., HEIMDAHL, M. P. E., HILDRETH, H., AND REESE, J.D. 1995. Requirements specification for process-control systems. IEEE Trans. Softw. Eng. 20, 684-707. Google ScholarGoogle Scholar
  11. MARANINCHI, F. 1992. Operational and compositional semantics of asynchronous automaton compositions. In Proceedings of CONCUR '92. Lecture Notes in Computer Science, vol. 630. Springer-Verlag, Berlin, 550-564. Google ScholarGoogle Scholar
  12. PNUELI, A. AND SHALEV, M. 1991. What is in a step: On the semantics of statecharts. In Proceedings of the Symposium on Theoretical Aspects of Computer Software. Lecture Notes in Computer Science, vol. 526. Springer-Verlag, Berlin, 244-264. Google ScholarGoogle Scholar
  13. VON DER BEEK, M. 1994. A comparison of statechart variants. In Formal Techniques in Real-Time and Fault-Tolerant Systems, L. de Roever and J. Vytopil, Eds. Lecture Notes in Computer Science, vol. 863. Springer-Verlag, New York, 128-148. Google ScholarGoogle Scholar

Index Terms

  1. The STATEMATE semantics of statecharts

          Recommendations

          Reviews

          Jacques Jean Arsac

          The language of statecharts has been used for specification, modeling, and design of real-life complex systems. This paper describes the system STATEMATE, which has for many years been the only implemented and working semantics for statecharts. A system is made up of activities that can be put to work responding to stimuli generated by its environment. Each step leads from one status to another, starting from the initial status. The essential feature of STATEMATE is that reactions to external and internal events, and changes that occur in a given step, can be sensed only after completion of the step. Events are connected to entering, being in, or exiting a state. Conflicts may occur when several actions in the same step call for changing the value of a common variable (racing conditions). The way the history of an execution can be interpreted is given by a short algorithm. The same technique is used to describe the execution of a single step, which is the heart of all of the dynamic analysis tools of STATEMATE. Two models are given for the way time is connected to the execution of steps. An appendix relates STATEMATE to other similar works. This paper is an excellent presentation of the use of statecharts for programming. Syntax is ignored. The authors claim that “one of the central considerations in deciding upon a useful semantics is simplicity and clarity. A user need not see the details of the mathematical definition, but he or she must be able to understand how it works in a relatively intuitive way.” They have reached their goal. The paper is simple, clear, and well documented, with a good presentation of the state of the art in complex system specification and modeling. It is easy to read and is worth reading for those who have to design such systems. It is a valuable contribution to software engineering.

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader