Generating class contracts from deterministic UML protocol statemachines

We present an approach to generate behavioral class interfaces in the form of class contracts from UML 2.0 protocol state machines. A generated class contract defines a pre- and post-condition for each operation that triggers a transition in the state machine. We consider the following protocol SM elements: state and state invariants, simple transitions, compound transitions, high-level transitions, complete transitions, self transitions also deal with the case of firing priorities. The generated contracts can be used as a behavioral interface, for documentation, run-time checking and test case generation.

[1]  Stephan Merz,et al.  Model Checking - Timed UML State Machines and Collaborations , 2002, FTRTFT.

[2]  Aamer Nadeem,et al.  A state-based approach to integration testing for object-oriented programs , 2005 .

[3]  E. Benowitz,et al.  Auto-coding UML statecharts for flight software , 2006, 2nd IEEE International Conference on Space Mission Challenges for Information Technology (SMC-IT'06).

[4]  Wanchai Rivepiboon,et al.  Automated-generating test case using UML statechart diagrams , 2003 .

[5]  Didier Bert B’98: Recent Advances in the Development and Use of the B Method , 1998, Lecture Notes in Computer Science.

[6]  Yoonsik Cheon Automated Random Testing to Detect Specification-Code Inconsistencies , 2007, SETP.

[7]  Sungwon Kang,et al.  Test Cases Generation from UML Activity Diagrams , 2007 .

[8]  Joost-Pieter Katoen,et al.  A probabilistic extension of UML statecharts: Specification and Verification. , 2002 .

[9]  Jiro Tanaka,et al.  Mapping UML statecharts to java code , 2004, IASTED Conf. on Software Engineering.

[10]  Hong Sun,et al.  Investigating the use of analysis contracts to support fault isolation in object oriented code , 2002, ISSTA '02.

[11]  Mathias Weske,et al.  Object-Oriented and Internet-Based Technologies, 5th Annual International Conference on Object-Oriented and Internet-Based Technologies, Concepts, and Applications for a NetworkedWorld, Net.ObjectDays 2004, Erfurt, Germany, September 27-30, 2004, Proceedings , 2004, Net.ObjectDays.

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

[13]  Bernhard Rumpe,et al.  The UML as a formal modeling notation , 1998, Comput. Stand. Interfaces.

[14]  Colin F. Snook,et al.  UML-B: Formal modeling and design aided by UML , 2006, TSEM.

[15]  Aamer Nadeem,et al.  A state-based approach to integration testing based on UML models , 2007, Inf. Softw. Technol..

[16]  Diego Latella,et al.  Automatic Verification of a Behavioural Subset of UML Statechart Diagrams Using the SPIN Model-checker , 1999, Formal Aspects of Computing.

[17]  Garry D. Coleman,et al.  Advancing the Standard , 1999 .

[18]  A. Jefferson Offutt,et al.  Using UML Collaboration Diagrams for Static Checking and Test Generation , 2000, UML.

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

[20]  Bernhard Rumpe,et al.  «UML»’99 — The Unified Modeling Language , 2003, Lecture Notes in Computer Science.

[21]  Mark Lillibridge,et al.  Extended static checking for Java , 2002, PLDI '02.

[22]  Doo-Hwan Bae,et al.  Test cases generation from UML state diagrams , 1999, IEE Proc. Softw..

[23]  Gary T. Leavens,et al.  The JML and JUnit Way of Unit Testing and its Implementation , 2004 .

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

[25]  Gregor Engels,et al.  Executable visual contracts , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[26]  Emil Sekerinski Verifying Statecharts with State Invariants , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[27]  Bertrand Meyer,et al.  Contract driven development = test driven development - writing test cases , 2007, ESEC-FSE '07.

[28]  David Harel,et al.  Rhapsody: A Complete Life-Cycle Model-Based Development System , 2002, IFM.

[29]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[30]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[31]  Gabor Karsai,et al.  Applying a Model Transformation Taxonomy to Graph Transformation Technology , 2006, GRaMoT@GPCE.

[32]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.