Skip to main content
Log in

Computing refactorings of state machines

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alur R., Courcoubetis C., Halbwachs N., Henzinger T.A., Ho P.-H., Nicollin X., Olivero A., Sifakis J. and Yovine S. (1995). The algorithmic analysis of hybrid systems. Theor. Comput. Sci. 138(1): 3–34

    Article  MATH  Google Scholar 

  2. Behm, P., Benoit, P., Faivre, A., Meynadier, J.-M.: Météor: a successful application of B in a large project. In: Proceedings of Formal Methods, vol. 1708 of Springer LNCS, pp. 369–387 (1999)

  3. Basin, D., Kuruma, H., Takaragi, K., Wolff, B.: Verification of a Signature Architecture with HOL-Z. In: Proceedings of Formal Methods, vol. 3582 of Springer LNCS, pp. 269–285 (2005)

  4. Bernard E., Legeard B., Luck X. and Peureux F. (2004). Generation of test sequences from formal specifications: GSM 11.11 standard case-study. SW Pract. Exp. 34(10): 915–948

    Article  Google Scholar 

  5. Beine, M., Otterbach, R., Jungmann, M.: Development of safety-critical software using automatic code generation. In: Proceeding SAE World Congress (publication SP-1852: In-Vehicle Networks and Software, Electrical Wiring Harnesses, and Electronics and Systems Reliability) (2004)

  6. Breitling, M., Philipps, J.: Step by step to histories. In: Proceedings of Algebraic Methodology And Software Technology, vol. 1816 of Springer LNCS, pp. 11–25 (2000)

  7. Broy M. and Stølen K. (2001). Specification and Development of Interactive systems – Focus on Streams, Interfaces and Refinement. Springer, Berlin

    MATH  Google Scholar 

  8. Chan W., Anderson R., Beame P., Burns S., Modugno F., Notkin D. and Reese J. (1998). Model checking large software specifications. IEEE TSE 24(7): 498–520

    Google Scholar 

  9. Cheng, Y.-P.: Refactoring design models for inductive verification. In: Proceedings of International Symposium on Software Testing and Analysis, pp. 164–168 (2002)

  10. Functional Logic Language Curry. Language Homepage: www.informatik.uni-kiel.de/~mh/curry/, (2006)

  11. Correa, A., Werner, C.: Applying refactoring techniques to UML/OCL Models. In: Proceedings of 7th International Conference on the Unified Modeling Language, pp. 173–187 (2004)

  12. Dajani-Brown, S., Cofer, D., Hartmann, G., Pratt, S.: Formal modeling and analysis of an avionics triplex sensor voter. In: Proceedings of 10th International SPIN Workshop, volume 2648 of Springer LNCS, pp. 34–48 (2003)

  13. Dijkstra E. (1975). Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8): 453–457

    Article  MATH  MathSciNet  Google Scholar 

  14. Eckrich, M., Schäuffele, J., Baumgartner, W.: New Steering System-BMW on the road to success with ASCET-SD, ES1000 and INCA. RealTimes, 1, 20–21 (2001) en.etasgroup.com/downloads/rt/rt_2001_01_20_en.pdf

  15. Ferrari, A., Gaviani, G., Gentile, G., Stefano, M., Romagnoli, L., Beine, M.: Automatic code generation and platform based design methodology: an engine management system design case study. In: Proceedings of SAE World Congress (publication SP-924: Software/Hardware Systems) (2005)

  16. Farchi E., Hartman A. and Pinter S.S. (2002). Using a model-based test generator to test for standard conformance. IBM Syst. J. 41(1): 89–110

    Article  Google Scholar 

  17. Fowler M. (1999). Refactoring – Improving the Design of Existing Code. Addison Wesley, Reading

    Google Scholar 

  18. Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Proceedings of 9th International Conference on Computer Aided Verification, vol. 1254 of Springer LNCS, pp. 72–83 (1997)

  19. Hanus M. (1994). The integration of functions into logic programming: from theory to practice. J. Logic Program. 19–20: 583–628

    Article  MathSciNet  Google Scholar 

  20. Heninger K. (1980). Specifying software requirements for complex systems: new techniques and their application. IEEE TSE SE- 6(1): 2–13

    Article  Google Scholar 

  21. Heitmeyer C., Jeffords R. and Labaw B. (1996). Automated consistency checking of requirements specifications. ACM Trans. SW Eng. Methodol. 5(3): 231–261

    Article  Google Scholar 

  22. Huber, F., Schätz, B., Einert, G.: Consistent Graphical Specification of Distributed Systems. In: Proceedings of Formal Methods Europe, vol 1313 of Springer LNCS, pp 122–141 (1997)

  23. Jeffords, R., Heitmeyer, C.: Automatic Generation of State Invariants from Requirements Specifications. In: Proceedings of 6th International Symposium on Foundations of SW Engineering, pp. 56–69 (1998)

  24. Janicki R. and Sekerinski E. (2001). Foundations of the Trace Assertion Method of Module Interface Specification. IEEE TSE 27(7): 577–598

    Google Scholar 

  25. Lamport L. (1995). TLA in pictures. IEEE TSE, 21(9): 768–775

    Google Scholar 

  26. Lynch, N., Tuttle, M.: Hierarchical correctness proofs for distributed algorithms. In: Proceedings of 6th annual ACM Symposium on Principles of Distributed Computing, pp. 137–151 (1987)

  27. Lynch, N., Vaandrager, F.: Forward and backward simulations for timing-based systems. In REX workshop, vol. 600 of Springer LNCS, pp. 397–446 (1991)

  28. Manna, Z. et al. STeP: the Stanford Temporal Prover. Technical Report STAN-CS-TR-94-1518, Department of Computer Science, Stanford University (1994)

  29. Mens T., Demeyer S., Du Bois B., Stenten H., Van Gorp P.: Refactoring: current research and future trends.. ENTCS 82(3): 483–499 (2003)

    Google Scholar 

  30. MOST Cooperation. MOST Specification, Rev. 2.2. www.mostnet.de/downloads/Specifications/(2002)

  31. Mens T. and Tourwé T. (2004). A survey of software refactoring. IEEE TSE 30(2): 126–139

    Google Scholar 

  32. Parnas D. (1992). Tabular Representations of Relations. Technical Report CRL-260, Telecommunications Research Institute of Ontario

    Google Scholar 

  33. Parnas D. and Madey J. (1995). Functional documents for computer systems.. Sci. Comput. Program. 1(25): 41–61

    Article  Google Scholar 

  34. Parnas, D., Peters, D.: An easily extensible toolset for tabular mathematical expressions. In: Proceedings of 5th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, vol. 1579 of Springer LNCS, pp. 345–359 (1999)

  35. Prowell S. and Poore J. (2003). Foundations of sequence-based software specification. IEEE TSE 29(5): 1–13

    Google Scholar 

  36. Pretschner, A., Prenninger, W.: Computing refactorings of behavior models. In: Proceedings of ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, vol. 3713 of Springer LNCS, pp. 126–141 (2005)

  37. Philipps J., Pretschner A., Slotosch O., Aiglstorfer E., Kriebel S. and Scholl K. (2003). Model-based test case generation for smart cards. ENTCS 80: 168–192

    Google Scholar 

  38. Pretschner, A., Prenninger, W., Wagner, S., Kühnel, C., Baumgartner, M., Zölch, R., Sostawa, B., Stauner, T.: One evaluation of model-based testing and its automation. In: Proceedings of 27th International Conference on Software Engineering, pp. 392–401 (2005)

  39. Philipps, J., Rumpe, B.: Refinement of information flow architectures. In: Proceedings of 1st International Conference on Formal Engineering Methods, pp. 203–212 (1997)

  40. Philipps, J., Rumpe, B.: Refinement of pipe and filter architectures. In: Proc. of World Congres on Formal Methods, vol. 1708 of Springer LNCS, pp. 96–115 (1999)

  41. Pretschner A., Slotosch O., Aiglstorfer E. and Kriebel S. (2004). Model Based Testing for Real—The Inhouse Card Case Study. J Softw. Tools Technol. Transf. 5(2–3): 140–157

    Article  Google Scholar 

  42. Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML models. In: Proceedings of 4th International Conference on the Unified Modeling Language, vol. 2185 of Springer LNCS, pp. 134–148 (2001)

  43. Shen, H., Zucker, J., Parnas, D.: Table transformation tools: Why and how. In: Proceedings 11th Annual Conf. on Computer Assurance, pp. 3–11 (1996)

  44. van Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards Automating Source-Consistent UML Refactorings. In: Proceedings 6th International Conference on The Unified Modeling Language, Modeling Languages and Applications, vol. 2863 of Springer LNCS, pp. 144–158 (2003)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Pretschner.

Additional information

Communicated by Dr. Lionel Briand.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pretschner, A., Prenninger, W. Computing refactorings of state machines. Softw Syst Model 6, 381–399 (2007). https://doi.org/10.1007/s10270-006-0037-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0037-5

Keywords

Navigation