Computing Refactorings of Behavior Models

  • Alexander Pretschner
  • Wolfgang Prenninger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)


For given behavior models expressed in statechart-like formalisms, we show how to compute semantically equivalent but 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.


State Machine Behavior Model Development Step Rule System Test Case Generation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Fowler, M.: Refactoring - Improving the Design of Existing Code. Addison-Wesley, Reading (1999)Google Scholar
  2. 2.
    Mens, T., Demeyer, S., Du Bois, B., Stenten, H., Van Gorp, P.: Refactoring: Current Research and Future Trends. In: Proc. ETAPS 2003 Workshop on Language Descriptions, Tools and Applications (2003)Google Scholar
  3. 3.
    Huber, F., Schätz, B., Einert, G.: Consistent Graphical Specification of Distributed Systems. In: Proc. Formal Methods Europe, pp. 122–141 (1997)Google Scholar
  4. 4.
    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: Proc. 27th Intl. Conf. on Software Engineering, pp. 392–401 (2005)Google Scholar
  5. 5.
    Philipps, J., Pretschner, A., Slotosch, O., Aiglstorfer, E., Kriebel, S., Scholl, K.: Model-based test case generation for smart cards. In: Proc. 8th Intl. Workshop on Formal Methods for Industrial Critical Systems, pp. 168–192 (2003)Google Scholar
  6. 6.
    Pretschner, A., Slotosch, O., Aiglstorfer, E., Kriebel, S.: Model Based Testing for Real—The Inhouse Card Case Study. J. STTT 5, 140–157 (2004)Google Scholar
  7. 7.
    Lamport, L.: TLA in Pictures. IEEE TSE 21, 768–775 (1995)Google Scholar
  8. 8.
    Heninger, K.: Specifying Software Requirements for Complex Systems: New Techniques and Their Application. IEEE TSE SE-6, 2–13 (1980)Google Scholar
  9. 9.
    Parnas, D., Madey, J.: Functional Documents for Computer Systems. Science of Computer Programming 1, 41–61 (1995)CrossRefGoogle Scholar
  10. 10.
    Heitmeyer, C., Jeffords, R., Labaw, B.: Automated Consistency Checking of Requirements Specifications. ACM Trans. on SW Eng. and Meth. 5, 231–261 (1996)CrossRefGoogle Scholar
  11. 11.
    Parnas, D., Peters, D.: An Easily Extensible Toolset for Tabular Mathematical Expressions. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 345–359. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  12. 12.
    Shen, H., Zucker, J., Parnas, D.: Table transformation tools: Why and how. In: Proc. 11th Annual Conf. on Computer Assurance, pp. 3–11 (1996)Google Scholar
  13. 13.
    Parnas, D.: Tabular Representations of Relations. Technical Report CRL-260, Telecommunications Research Institute of Ontario (1992)Google Scholar
  14. 14.
    Breitling, M., Philipps, J.: Step by step to histories. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 11–25. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Broy, M., Stølen, K.: Specification and Development of Interactive Systems – Focus on Streams, Interfaces, and Refinement. Springer, Heidelberg (2001)zbMATHGoogle Scholar
  16. 16.
    Lynch, N., Tuttle, M.: Hierarchical correctness proofs for distributed algorithms. In: Proc. 6th annual ACM symp. on principles of distr. computing, pp. 137–151 (1987)Google Scholar
  17. 17.
    Philipps, J., Rumpe, B.: Refinement of information flow architectures. In: Proc. ICFEM 1997 (1997)Google Scholar
  18. 18.
    Philipps, J., Rumpe, B.: Refinement of pipe and filter architectures. In: Wing, J.M., Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 96–115. Springer, Heidelberg (1999)Google Scholar
  19. 19.
    Hanus, M.: Functional Logic Language Curry. Language Hompage: (2005),
  20. 20.
    Hanus, M.: The integration of functions into logic programming: From theory to practice. J. Logic Programming 19(20), 583–628 (1994)CrossRefMathSciNetGoogle Scholar
  21. 21.
    MOST Cooperation: MOST Specification, Rev. 2.2 (2002),
  22. 22.
    Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.M.: Refactoring UML models. In: Proc. 4th Intl. Conf. on the Unified Modeling Language, pp. 134–148 (2001)Google Scholar
  23. 23.
    Cheng, Y.P.: Refactoring design models for inductive verification. In: Proc. Intl. Symp. on Software Testing and Analysis, pp. 164–168 (2002)Google Scholar
  24. 24.
    van Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards Automating Source-Consistent UML Refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 144–158. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  25. 25.
    Correa, A., Werner, C.: Applying Refactoring Techniques to UML/OCL Models. In: Proc. 7th Intl. Conf. on the Unified Modeling Language, pp. 173–187 (2004)Google Scholar
  26. 26.
    Prowell, S., Poore, J.: Foundations of Sequence-Based Software Specification. IEEE TSE 29, 1–13 (2003)Google Scholar
  27. 27.
    Janicki, R., Sekerinski, E.: Foundations of the Trace Assertion Method of Module Interface Specification. IEEE TSE 27, 577–598 (2001)Google Scholar
  28. 28.
    Lynch, N., Vaandrager, F.: Forward and backward simulations for timing-based systems. In: Huizing, C., de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1991. LNCS, vol. 600, pp. 397–446. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  29. 29.
    Alur, R., Courcoubetis, C., Halbwachs, N., Henzinger, T., Ho, P.H., Nicollin, X., Olivero, A., Sifakis, J., Yovine, S.: The algorithmic analysis of hybrid systems. Theoretical Computer Science 138, 3–34 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Manna et al., Z.: STeP: the Stanford Temporal Prover. Technical Report STANCS- TR-94-1518, Dept. of Computer Science, Stanford University (1994)Google Scholar
  31. 31.
    Jeffords, R., Heitmeyer, C.: Automatic Generation of State Invariants from Req. Specifications. In: Proc. 6th Intl. Symp. on Foundations of SW Engineering (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Alexander Pretschner
    • 1
  • Wolfgang Prenninger
    • 2
  1. 1.Information SecurityETH ZürichZürichSwitzerland
  2. 2.BMW GroupMünchenGermany

Personalised recommendations