Abstract
The synthesis of object behaviour from scenarios is a well-known and important issue in the transition from system analysis to system design. We describe a model transformation procedure from UML 2.0 interactions into UML 2.0 state machines that focuses, in contrast to existing approaches, on standard synchronous operation calls where the sender of a message waits until the receiver object has executed the requested operation possibly returning a result. The key aspect of our approach is to distinguish between active and inactive phases of an object participating in an interaction. This allows us to generate well-structured state machines separating “stable” states, where an object is ready to react to an incoming message, and “activity” states which model the computational behaviour of an object upon receipt of an operation call. The translation procedure is formalised, in accordance with the UML 2.0 meta-model, by means of an abstract syntax for scenarios which are first translated into I/O-automata as an appropriate intermediate format. Apparent non-determinism in the automata gives rise to feedback on scenario deficiencies and to suggestions on scenario refinements. Finally, for each object of interest the corresponding I/O-automaton is translated into a UML 2.0 state machine representing stable states by simple states and activity states by submachine states which provide algorithmic descriptions of operations. Thus the resulting state machines can be easily transformed into code by applying well-known implementation techniques.
This research has been partially supported by the GLOWA-Danube project (01LW0303A) sponsored by the German Federal Ministry of Education and Research.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Fowler, M.: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, Boston (1997)
Whittle, J., Schumann, J.: Generating Statechart Designs from Scenarios. In: Proc. 22\(^{\text{nd}}\) Int. Conf. Software Engineering (ICSE’00), pp. 314–323. IEEE Computer Society Press, Los Alamitos (2000)
Krüger, I., Grosu, R., Scholz, P., Broy, M.: From MSCs to Statecharts. In: Rammig, F.J. (ed.) Distributed and Parallel Embedded Systems, pp. 61–71. Kluwer Academic Publishers, Dordrecht (1999)
Maier, T., Zündorf, A.: The Fujaba Statechart Synthesis Approach. In: Proc. 2\(^{\text{nd}}\) Int. Wsh. Scenarios and State Machines: Models, Algorithms, and Tools (SCESM’03), Portland, Oregon (2003)
Uchitel, S., Kramer, J., Magee, J.: Synthesis of Behavioral Models from Scenarios. IEEE Trans. Softw. Eng. 29(2), 99–115 (2003)
Liang, H., Dingel, J., Diskin, Z.: A Comparative Survey of Scenario-based To State-based Model Synthesis Approaches. In: Proc. 5\(^{\text{th}}\) Int. Wsh. Scenarios and State Machines: Models, Algorithms and Tools (SCESM’06), Shanghai, pp. 5–12 (2006)
Mellor, S.J., Balcer, M.J.: Executable UML — A Foundation for Model-Driven Architecture. Addison-Wesley, Boston (2002)
Blaha, M., Rumbaugh, J.: Object-Oriented Modeling and Design with UML. Pearson Education, Upper Saddle River (2005)
Object Management Group: Unified Modeling Language: Superstructure, version 2.0 (2005), http://www.omg.org/cgi-bin/doc?formal/05-07-04 , (06/12/28)
Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns. Addison-Wesley, Boston (1995)
Mäkinen, E., Systä, T.: MAS: An Interactive Synthesizer to Support Behavioral Modelling in UML. In: Proc. 23\(^{\text{rd}}\) IEEE Int. Conf. Software Engineering (ICSE’01), pp. 15–24. IEEE Computer Society Press, Los Alamitos (2001)
Tenzer, J., Stevens, P.: Modelling Recursive Calls with UML State Diagrams. In: Pezzé, M. (ed.) ETAPS 2003 and FASE 2003. LNCS, vol. 2621, pp. 135–149. Springer, Heidelberg (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Hennicker, R., Knapp, A. (2007). Activity-Driven Synthesis of State Machines. In: Dwyer, M.B., Lopes, A. (eds) Fundamental Approaches to Software Engineering. FASE 2007. Lecture Notes in Computer Science, vol 4422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71289-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-71289-3_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71288-6
Online ISBN: 978-3-540-71289-3
eBook Packages: Computer ScienceComputer Science (R0)