Ludwig-Maximilians-Universität München, Institut für Informatik
Lehr- und Forschungseinheit für Programmierung und Softwaretechnik
http://www.pst.ifi.lmu.de/Fopra/raba

Fortgeschrittenenpraktikum

Translation of UML state machines into Java

Contents

HUGO/RT is a framework to transform UML state machines into other representations in order to test, verify or generate code from a model. As input, HUGO/RT requires a UML class diagram and the behaviour of classes specified by UML state machines. HUGO/RT represents a UML state machine with SMILE, the State Machine Intermediate Language (SMILE). SMILE was developed as a compact language with a few basic constructs without translation capabilities for UML expressions and actions as well as event handling. These issues are delegated to a UML environment, which is the context for SMILE. Due to these qualities, SMILE provides a reliable and flexible state machine representation for translation into other representations. SMILE is modeled as an abstraction of PROMELA.

This work describes the code generation from a SMILE-based state machine into Java. The resulting Java package consists of classes which provide the state machine behaviour, an event queue implementation and stubs to override state machine classes. The generated state machine classes provide a specific state machine method that controls the behaviour, methods to get and change variable values and a standard constructor. The state machine method functions as the event processor as specified in UML. The event queue stores the received events and functions as an event dispatcher.

Links


Bearbeiter: Max Raba
Aufgabensteller: Prof. Dr. Martin Wirsing
Betreuer: Dr. Alexander Knapp
Fertigstellung: Wintersemester 2004/05


Fortgeschrittenenpraktika Lehrstuhl Institut Universität
Max Raba, 16.11.2004