Advertisement

Activity-Driven Synthesis of State Machines

  • Rolf Hennicker
  • Alexander Knapp
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4422)

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.

Keywords

State Machine Sequence Diagram Abstract Syntax System Object Incoming Message 
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

  1. 1.
    Fowler, M.: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, Boston (1997)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Uchitel, S., Kramer, J., Magee, J.: Synthesis of Behavioral Models from Scenarios. IEEE Trans. Softw. Eng. 29(2), 99–115 (2003)CrossRefGoogle Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    Mellor, S.J., Balcer, M.J.: Executable UML — A Foundation for Model-Driven Architecture. Addison-Wesley, Boston (2002)Google Scholar
  8. 8.
    Blaha, M., Rumbaugh, J.: Object-Oriented Modeling and Design with UML. Pearson Education, Upper Saddle River (2005)Google Scholar
  9. 9.
    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)
  10. 10.
    Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns. Addison-Wesley, Boston (1995)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    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)CrossRefGoogle Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Rolf Hennicker
    • 1
  • Alexander Knapp
    • 1
  1. 1.Ludwig-Maximilians-Universität München 

Personalised recommendations