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.
Similar content being viewed by others
References
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
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)
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)
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
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)
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)
Broy M. and Stølen K. (2001). Specification and Development of Interactive systems – Focus on Streams, Interfaces and Refinement. Springer, Berlin
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
Cheng, Y.-P.: Refactoring design models for inductive verification. In: Proceedings of International Symposium on Software Testing and Analysis, pp. 164–168 (2002)
Functional Logic Language Curry. Language Homepage: www.informatik.uni-kiel.de/~mh/curry/, (2006)
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)
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)
Dijkstra E. (1975). Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8): 453–457
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
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)
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
Fowler M. (1999). Refactoring – Improving the Design of Existing Code. Addison Wesley, Reading
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)
Hanus M. (1994). The integration of functions into logic programming: from theory to practice. J. Logic Program. 19–20: 583–628
Heninger K. (1980). Specifying software requirements for complex systems: new techniques and their application. IEEE TSE SE- 6(1): 2–13
Heitmeyer C., Jeffords R. and Labaw B. (1996). Automated consistency checking of requirements specifications. ACM Trans. SW Eng. Methodol. 5(3): 231–261
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)
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)
Janicki R. and Sekerinski E. (2001). Foundations of the Trace Assertion Method of Module Interface Specification. IEEE TSE 27(7): 577–598
Lamport L. (1995). TLA in pictures. IEEE TSE, 21(9): 768–775
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)
Lynch, N., Vaandrager, F.: Forward and backward simulations for timing-based systems. In REX workshop, vol. 600 of Springer LNCS, pp. 397–446 (1991)
Manna, Z. et al. STeP: the Stanford Temporal Prover. Technical Report STAN-CS-TR-94-1518, Department of Computer Science, Stanford University (1994)
Mens T., Demeyer S., Du Bois B., Stenten H., Van Gorp P.: Refactoring: current research and future trends.. ENTCS 82(3): 483–499 (2003)
MOST Cooperation. MOST Specification, Rev. 2.2. www.mostnet.de/downloads/Specifications/(2002)
Mens T. and Tourwé T. (2004). A survey of software refactoring. IEEE TSE 30(2): 126–139
Parnas D. (1992). Tabular Representations of Relations. Technical Report CRL-260, Telecommunications Research Institute of Ontario
Parnas D. and Madey J. (1995). Functional documents for computer systems.. Sci. Comput. Program. 1(25): 41–61
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)
Prowell S. and Poore J. (2003). Foundations of sequence-based software specification. IEEE TSE 29(5): 1–13
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)
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
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)
Philipps, J., Rumpe, B.: Refinement of information flow architectures. In: Proceedings of 1st International Conference on Formal Engineering Methods, pp. 203–212 (1997)
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)
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
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)
Shen, H., Zucker, J., Parnas, D.: Table transformation tools: Why and how. In: Proceedings 11th Annual Conf. on Computer Assurance, pp. 3–11 (1996)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Lionel Briand.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0037-5