UML Activities at Runtime

Experiences of Using Interpreters and Running Generated Code
  • Dominik Gessenharter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6413)


The execution semantics of activities in UML is based on a token flow concept. As flows from a source to a target may contain control nodes and thus tokens may flow to different targets depending on other concurrent flows or on guards annotated to edges, the computation of possible flows is complex. Rules defining when tokens may traverse an edge can be (and most often are) implemented in interpreters.

Generating code is possible, too, but it is rarely seen in academic as well as in commercial tools. However, the compilation of activities to code may speed up the execution of activities.

In this paper, we present an interpreter for activities, an enhanced interpreter using static analysis of activities before executing them as well as a code generation approach. We compare these different techniques with regard to runtime behavior and consumption of resources.


Lookup Table Outgoing Edge Action Execution Decision Node Incoming Edge 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bhattacharjee, A., Shyamasundar, R.: Validated code generation for activity diagrams. In: Chakraborty, G. (ed.) ICDCIT 2005. LNCS, vol. 3816, pp. 508–521. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Bulach, A.: Untersuchungen zur Laufzeitverbesserung des ActiveCharts-Interpreters. Master’s thesis, Universität Ulm (2008)Google Scholar
  3. 3.
    Gessenharter, D.: Extending the uml semantics for a better support of model driven software development. In: The 2010 International Conference on Software Engineering Research and Practice (SERP 2010) Workshop on Applications of UML/MDA to Software Systems (2010), accepted for publication (to appear)Google Scholar
  4. 4.
    Koch, N., Zhang, G., Baumeister, H.: UML-Based Web Engineering: An Approach Based on Standards. Web Engineering: Modelling and Implementing Web Applications, 157–191 (2008),
  5. 5.
    LMU Ludwig-Maximilians-Universitt Mnchen, Institute for Informatics Programming and Software Engineering. UWE Examples 12 (2009),
  6. 6.
    Sarstedt, S.: Semantic Foundation and Tool Support for Model-Driven Development with UML 2 Activity Diagrams. PhD thesis, Ulm University (2006)Google Scholar
  7. 7.
    Sarstedt, S., Kohlmeyer, J., Raschke, A., Schneiderhan, M.: A new approach to combine models and code in model driven development. In: International Conference on Software Engineering Research and Practice, International Workshop on Applications of UML/MDA to Software Systems (2005)Google Scholar
  8. 8.
    Object Management Group, UML 2.1.1 Superstructure Specification, Document formal/2007-02-05 (2007)Google Scholar
  9. 9.
    Usman, M., Nadeem, A.: Automatic Generation of Java Code from UML Diagrams using UJECTOR. International Journal of Software Engineering and Its Applications 3(2), 21–37 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Dominik Gessenharter
    • 1
  1. 1.Institute of Software Engineering and Compiler ConstructionUlm UniversityUlmGermany

Personalised recommendations