@InProceedings{Hoefig2011,
  author    = {Edzard H{\"o}fig and Peter H. Deussen and Ina Kathrin Schieferdecker},
  booktitle = {2011 {ICSE} Symposium on Software Engineering for Adaptive and Self-Managing Systems, {SEAMS} 2011, Waikiki, Honolulu , HI, USA, May 23-24, 2011},
  title     = {On the performance of {UML} state machine interpretation at runtime},
  doi       = {10.1145/1988008.1988025},
  pages     = {118--127},
  publisher = {Association for Computing Machinery ({ACM})},
  abstract  = {Modelling system behaviour by means of UML Behavioral State Machines is an established practice in software engineering. Usually, code generation is employed to create a system's software components. Although this approach yields software with a good runtime performance, the resulting system behaviour is static. Changes to the behaviour model necessarily provoke an iteration in the code generation workflow and a re-deployment of the generated artefacts. In the area of autonomic systems engineering, it is assumed that systems are able to adapt their runtime behaviour in response to a changing context. Thus, the constraints imposed by a code generation approach make runtime adaptation difficult, if not impossible. This article investigates a solution to this problem by employing interpretation techniques for the runtime execution of UML State Machines, enabling the adaptability of a system's runtime behaviour on the level of single model elements. This is done by devising concepts for behaviour model interpretation, which are then used in a proof-of-concept implementation to demonstrate the feasibility of the approach. For a quantitative evaluation we provide a performance comparison between the proof-of-concept implementation and generated code for a number of benchmark models. We find that UML State Machine interpretation has a performance overhead when compared with static code generation, but found it to be adequate for the majority of situations, except when dealing with high-throughput or delay-sensitive data.},
  file      = {:2011/Hoefig2011 - On the Performance of UML State Machine Interpretation at Runtime.pdf:PDF},
  keywords  = {UML state machine, Models at runtime, System adaptation},
  type      = {conference},
  year      = {2011}
}
