Activity-driven synthesis of state machines

  • Authors:
  • Rolf Hennicker;Alexander Knapp

  • Affiliations:
  • Ludwig-Maximilians-Universität München;Ludwig-Maximilians-Universität München

  • Venue:
  • FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

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.