Using a Triple Graph Grammar for State Machine Implementations

  • Authors:
  • Michael Striewe

  • Affiliations:
  • Universitat Duisburg-Essen,

  • Venue:
  • ICGT '08 Proceedings of the 4th international conference on Graph Transformations
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

State machines can be comprehensively specified, simulated and validated at design time to get a formally founded skeleton for a software application. A direct implementation of state machines in Java source code can realize states as classes, transitions as methods and variables as well as pre-conditions and variable updates as auxilliary methods, invoking either arbitrary application methods to retrieve the current variable values or evaluating expressions [1]. Viewed from an abstract level, implementation and state machine are two models, sharing the same semantics. To maintain the modelled software systems, it is vitally important to perserve as much of this semantics as possible in the source code to be able to track back changes and errors [2,3]. In contrast to these considerations, current techniques of model-driven development use several unidirectional steps, starting from an abstract model and resulting in platfrom specific source code.