Interpretation of Behaviour Models at Runtime: Performance Benchmark
Total Page:16
File Type:pdf, Size:1020Kb
Interpretation of Behaviour Models at Runtime Performance Benchmark and Case Studies vorgelegt von Diplom-Ingenieur Edzard H¨ofig aus Berlin Von der Fakult¨atIV { Elektrotechnik und Informatik der Technischen Universit¨atBerlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften Dr.-Ing. genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. habil. Odej Kao Berichterin: Prof. Dr.-Ing. Ina Schieferdecker Berichter: Prof. John Strassner, Ph.D. Tag der wissenschaftlichen Aussprache: 25.3.2011 Berlin, 2011 D 83 Interpretation of Behaviour Models at Runtime Performance Benchmark and Case Studies by Dipl.-Ing. Edzard H¨ofig Technical University of Berlin Faculty IV { Electrical Engineering and Computer Science A dissertation submitted in partial fulfilment of the requirements for the degree of Doctor of Engineering Science Dr.-Ing. Examination board: Chairman: Prof. Dr. habil. Odej Kao Technical University Berlin, Faculty of Electrical Engineering and Computer Science Supervisor: Prof. Dr.-Ing. Ina Schieferdecker Technical University Berlin, Faculty of Electrical Engineering and Computer Science Supervisor: Prof. John Strassner, Ph.D. Pohang University of Science and Technology, Division of IT Convergence Defense date: 25th of March, 2011 Berlin, 2011 D 83 IV Abstract Modelling system behaviour by means of statechart-based formalisms, such as the state machine formalism defined in the Unified Modeling Language, is an established practice in software engineering. As part of a model-driven workflow, engineers usually employ a code generation approach to create software components that implement an intended runtime behaviour. Although this approach yields software components 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. We investigate a solution to this problem by employing interpretation techniques for the runtime execution of behaviour models, 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 proof-of-concept implementations to demonstrate the feasibility of the approach. It is insufficient to show only the general feasibility of behaviour model interpretation, as the usefulness of this approach depends on the context the model is used in, which is determined by a specific application domain. Therefore, an assessment of the approach is carried out, using quantitative as well as qualitative methods. For the quantitative evaluation, a novel benchmark is introduced, that enables a performance comparison between the proof-of-concept implementations and generated code. The qualitative assessment is based on use case studies conducted in the area of network and systems management. Behaviour model interpretation has a performance overhead when compared to code generation. In the context of the network and systems management domain, the performance of the approach is found to be adequate for the vast majority of situations, except when dealing with high-throughput or delay-sensitive data. V VI Zusammenfassung Die Modellierung von Systemverhalten anhand von Zustandsdiagrammen, beispiels- weise anhand der Unified Modeling Language, z¨ahltinzwischen zu den etablierten Vorgehensweisen bei der Erstellung von softwareintensiven Systemen. Um Soft- warekomponenten mit einem gew¨unschten Verhalten herzustellen, wird innerhalb eines modellgetriebenen Arbeitsflusses ¨ublicherweise mit Ans¨atzenzur Kodeerzeu- gung gearbeitet. Solch ein Ansatz erm¨oglicht zwar die Erzeugung eines effizienten Laufzeitystems, allerdings ist das Systemverhalten dann durch die Artefakte des Erzeugungsprozesses statisch festgelegt. Anderungen¨ am Verhaltensmodell ziehen not- wendigerweise eine erneute Erzeugung, Ubersetzung¨ und das wiederholte Aufspielen der Anwendung nach sich. Bei der Entwicklung autonomer Systeme gehen wir davon aus, dass Systeme ihr Ver- halten zur Laufzeit an sich ¨andernde Umgebungsbedingungen anpassen k¨onnen.Da statische Artefakte kaum, oder nur sehr schwer, zur Laufzeit ge¨andertwerden k¨onnen, verbietet sich ein Einsatz von Kodeerzeugung f¨urdie Erstellung autonomer Systeme. In dieser Arbeit untersuchen wir einen L¨osungsansatzf¨urdieses Problem. Anstelle von statischer Kodeerzeugung verwenden wir Techniken der dynamischen Programm- interpretation f¨urdie Ausf¨uhrung von Verhaltensmodellen. Damit erm¨oglichen wir die Anderung¨ von Verhaltensmodellen auf der Ebene einzelner Modellelemente zur Laufzeit. Wir erreichen dieses Ziel durch die Ausarbeitung grundlegender Konzepte der Interpretation von Verhaltensmodellen und demonstrieren anhand von Implemen- tierungen die Machbarkeit des Ansatzes. Wir erachten es nicht als ausreichend nur die generelle Durchf¨uhrbarkeit zu zeigen, da die N¨utzlichkeit des Ansatzes von dem beabsichtigten Anwendungszweck eines Systems abh¨angt.Die Begutachtung unseres Ansatzes erfolgt dabei sowohl durch quantitative als auch durch qualitative Methoden. Zur quantitativen Betrachtung f¨uhrenwir einen eigens entworfenen Benchmark-Test ein, der den Vergleich der Laufzeitverhalten von erzeugtem und interpretiertem Kode erm¨oglicht. Die qualitative Begutachtung st¨utztsich auf Fallstudien aus den Bereichen der Netzwerk- und Systemverwaltung. Wir stellen fest, dass die Interpretation von Verhaltensmodellen zur Laufzeit etwa um einen Faktor 20 langsamer ist als die Verwendung von Kodeerzeugung. Im Kontext der Netzwerk- und Systemverwaltung ist das allerdings unerheblich, da die Ausf¨uhrungsgeschwindigkeit ausreichend f¨urtypische Aufgaben in diesen Gebieten ist. Eine Ausnahme davon bilden Anwendungen, die mit einem sehr hohen Datendurchsatz arbeiten oder die anf¨allig f¨urkleinste Verz¨ogerungenbeim Datentransport sind. VII This thesis is dedicated to my parents. VIII Acknowledgements I would like to acknowledge Prof. Ina Schieferdecker for her friendly advice and constructive criticism. Over the course of the last six years she provided an environ- ment that allowed me to work on theoretical research questions as well as practical engineering tasks. I am certain that this combination improved both the quality of my day-to-day work as well as the quality of this thesis and I am grateful for having been given this opportunity. I would also like to acknowledge Prof. John Strassner for providing fair, timely and thorough criticism on my ideas and course of action. I admire his impressive knowledge, diligent work attitude and true personality. The work on this thesis has been a long process and I am thankful that many of my colleagues have contributed by offering comments. First and foremost Dr. Peter H. Deussen did offer advice and guidance that helped me to structure my thoughts in a way that eventually led to a sequential text. I am also thankful to Dr. Mikhail Smirnow, who is the reason why I am at Fraunhofer FOKUS and who I find to always be a source of inspiration. I am also grateful to Ranganai Chaparadza for his support. Due to his deep understanding of networking technology, Hakan Co¸skun'scomments were very helpful for creation of the network management use case studies. As we are sharing an office, he was the person that heard all of my ideas and thoughts first and I am especially grateful that he always had an open ear to listen and comment on every one of them. Dr. Sven van der Meer provided much appreciated advice during the final stages of the thesis and generally pushed me in the right direction. I would also like to acknowledge Andreas Hinnerichs for his contributions to the TMPL runtime optimisation concepts and Carsten Jaekel for his support during implementation of the MPU concepts and recording of the benchmarking results. I would like to thank Joseph Bauer, Matthias Veit and Timmo Gierke, the aqua- nauten, for being awesome. I profoundly enjoy our friendship and draw inspiration from each of our technical discussions and tossing around of ideas. I am also deeply grateful to Yvonne Rathmann, who offered her knowledge, skills and time to review the final version of my thesis. Finally, I would like to thank my wife Julia. Without her love and support this endeavour would have been a much harder and far less joyful experience. Thank you! Edzard H¨ofig Berlin, May 2011 IX X List of Publications The text of this dissertation includes excerpts of the following previously published material: E. H¨ofigand P. H. Deussen. Model-based Integrated Management: Applying Autonomic Systems Engineering to Network and Systems Management. Invited Article, Int. Journal of Autonomous and Adaptive Communiations Systems, Vol. 4, No. 1, pages 100{118, January 2011. L. Shi, A. Davy, D. Muldowney, S. Davy, E. H¨ofigand Xiaoming Fu. Intrinsic Monitor- ing within an IPv6 Network: Mapping Node Information to Network Paths. Proc. 6th Int. Conf. on Network and Service Management, pages 370{373, October 2010. P. H. Deussen, E. H¨ofig,M. Baumgarten, M. Mulvenna, A. Manzalini and C. Moiso. Com- ponent-ware for Autonomic Supervision Services { The CASCADAS Approach. Invited Article, Int. Journal On Advances in Intelligent Systems, Vol. 3, No. 1 & 2, pages 87{105, 2010.