Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

On the performance of UML state machine interpretation at runtime

: Höfig, E.; Deussen, P.H.; Schieferdecker, I.


Cheng, B. ; Association for Computing Machinery -ACM-; Association for Computing Machinery -ACM-, Special Interest Group on Software Engineering -SIGSOFT-:
Sixth International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011. Proceedings : May 23 - 24, 2011, Waikiki, Honolulu, HI, USA ; co-located with ICSE 2011
New York: ACM, 2011
ISBN: 978-1-4503-0575-4
International Symposium on Software Engineering for Adaptive and Self-Managing Systems <6, 2011, Honolulu/Hawaii>
International Conference on Software Engineering (ICSE) <33, 2011, Honolulu/Hawaii>
Conference Paper
Fraunhofer FOKUS ()

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.