Computing refactorings of state machines

For behavior models expressed in statechart-like formalisms, we show how to compute semantically equivalent yet structurally different models. These refactorings are defined by user-provided logical predicates that partition the system’s state space and that characterize coherent parts – modes or control states–of the behavior. We embed the refactorings into an incremental development process that uses a combination of both tables and graphically represented state machines for describing systems.

[1]  Tom Mens,et al.  Refactoring: Current Research and Future Trends , 2003, LDTA@ETAPS.

[2]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[3]  A. Pretschner,et al.  Model-based testing for real , 2004, International Journal on Software Tools for Technology Transfer.

[4]  David Lorge Parnas,et al.  Table transformation tools: why and how , 1996, Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96.

[5]  Stacy J. Prowell,et al.  Foundations of Sequence-Based Software Specification , 2003, IEEE Trans. Software Eng..

[6]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[7]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[8]  Manfred Broy,et al.  Specification and development of interactive systems: focus on streams, interfaces, and refinement , 2001 .

[9]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[10]  Burkhart Wolff,et al.  Verification of a Signature Architecture with HOL-Z , 2005, FM.

[11]  Alexander Pretschner,et al.  Model Based Testing for Real: The Inhouse Card Case Study , 2001 .

[12]  David Notkin,et al.  Model checking large software specifications , 1996, SIGSOFT '96.

[13]  Alexander Pretschner,et al.  Model-Based Test Case Generation for Smart Cards , 2003, FMICS.

[14]  Ryszard Janicki,et al.  Foundations of the Trace Assertion Method of Module Interface Specification , 2001, IEEE Trans. Software Eng..

[15]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[16]  Edward Y. Chang,et al.  STeP: The Stanford Temporal Prover , 1995, TAPSOFT.

[17]  Alberto Ferrari,et al.  Automatic Code Generation and Platform Based Design Methodology: An Engine Management System Design Case Study , 2005 .

[18]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[19]  Yasumitsu Matsuo,et al.  Proton Conductivity of Superionic Conductor Tl 3 H(SO 4 ) 2 , 2007 .

[20]  David Lorge Parnas,et al.  An Easily Extensible Toolset for Tabular Mathematical Expressions , 1999, TACAS.

[21]  Darren D. Cofer,et al.  Formal Modeling and Analysis of an Avionics Triplex Sensor Voter , 2003, SPIN.

[22]  Yung-Pin Cheng,et al.  Refactoring design models for inductive verification , 2002, ISSTA '02.

[23]  Constance L. Heitmeyer,et al.  Automatic generation of state invariants from requirements specifications , 1998, SIGSOFT '98/FSE-6.

[24]  Bruno Legeard,et al.  Generation of test sequences from formal specifications: GSM 11‐11 standard case study , 2004, Softw. Pract. Exp..

[25]  David Notkin,et al.  Model checking large software specifications , 1996, SIGSOFT '96.

[26]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[27]  Michael Hanus,et al.  The Integration of Functions into Logic Programming: From Theory to Practice , 1994, J. Log. Program..

[28]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[29]  Bernhard Rumpe,et al.  Refinement of Pipe-and-Filter Architectures , 1999, World Congress on Formal Methods.

[30]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[31]  Bernhard Rumpe,et al.  Refinement of information flow architectures , 1997, First IEEE International Conference on Formal Engineering Methods.

[32]  Alexander Pretschner,et al.  One evaluation of model-based testing and its automation , 2005, ICSE.

[33]  Tom Mens,et al.  Towards Automating Source-Consistent UML Refactorings , 2003, UML.

[34]  David Lorge Parnas,et al.  Tabular Representation of Relations , 1992 .

[35]  Jan Philipps,et al.  Step by Step to Histories , 2000, AMAST.

[36]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[37]  Nancy A. Lynch,et al.  Forward and Backward Simulations, II: Timing-Based Systems , 1991, Inf. Comput..

[38]  Rainer Otterbach,et al.  Development of Safety-Critical Software Using Automatic Code Generation , 2004 .

[39]  Paul Benoit,et al.  Météor: A Successful Application of B in a Large Project , 1999, World Congress on Formal Methods.

[40]  Alexander Pretschner,et al.  Computing refactorings of behavior models , 2005, MoDELS'05.

[41]  Alan Hartman,et al.  Using a model-based test generator to test for standard conformance , 2002, IBM Syst. J..

[42]  Cláudia Maria Lima Werner,et al.  Applying Refactoring Techniques to UML/OCL Models , 2004, UML.

[43]  Leslie Lamport,et al.  TLA in Pictures , 1995, IEEE Trans. Software Eng..

[44]  Bernhard Schätz,et al.  Consistent Graphical Specification of Distributed Systems , 1997, FME.