Translating Statecharts to B

We present algorithms for the translation of statecharts to the Abstract Machine Notation of the B method. These algorithms have been implemented in iState, a tool for translating statecharts to various programming languages. The translation proceeds in several phases. We give a model of statecharts, a model of the code in AMN, as well as the intermediate representations in terms of class diagrams and their textual counterpart. The translation algorithms are expressed in terms of these models. We also discuss optimizations of the generated code. The translation scheme is motivated by making the generated code comprehensible.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[3]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[4]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[5]  Emil Sekerinski,et al.  iState: A Statechart Translator , 2001, UML.

[6]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[7]  Emil Sekerinski,et al.  Graphical Design of Reactive Systems , 1998, B.

[8]  Gerard J. Holzmann,et al.  Implementing statecharts in PROMELA/SPIN , 1998, Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques.

[9]  Amel Mammar,et al.  An overview of a method and its support tool for generating B specifications from UML notations , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[10]  Kevin Lano,et al.  Structuring reactive systems in B AMN , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[11]  Yassine Lakhnech,et al.  On formal semantics of statecharts as supported by STATEMATE , 1997, FME 1997.

[12]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[13]  H. P. Nguyen Derivation de specifications formelles b a partir de specifications semi-formelles , 1998 .

[14]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.

[15]  Johan Lilius,et al.  Formalising UML State Machines for Model Checking , 1999, UML.