//img.uscri.be/pth/d98accf1866f4648807efd085bcf424f9f3ebb15
Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus

Interpretation of Behaviour Models at Runtime: Performance Benchmark and Case Studies [Elektronische Ressource] / Edzard Höfig. Betreuer: Ina Schieferdecker

De
291 pages
Interpretation of Behaviour Models at RuntimePerformance Benchmark and Case Studiesvorgelegt vonDiplom-IngenieurEdzard H o gaus BerlinVon der Fakult at IV { Elektrotechnik und Informatikder Technischen Universit at Berlinzur Erlangung des akademischen GradesDoktor der IngenieurwissenschaftenDr.-Ing.genehmigte DissertationPromotionsausschuss:Vorsitzender: Prof. Dr. habil. Odej KaoBerichterin: Prof. Dr.-Ing. Ina SchieferdeckerBerichter: Prof. John Strassner, Ph.D.Tag der wissenschaftlichen Aussprache: 25.3.2011Berlin, 2011D 83Interpretation of Behaviour Models at RuntimePerformance Benchmark and Case Studiesby Dipl.-Ing.Edzard H o gTechnical University of BerlinFaculty IV { Electrical Engineering and Computer ScienceA dissertation submitted in partial ful lmentof the requirements for the degree ofDoctor of Engineering ScienceDr.-Ing.Examination board:Chairman: Prof. Dr. habil. Odej KaoTechnical University Berlin, Faculty of Electrical Engineering and Computer ScienceSupervisor: Prof. Dr.-Ing. Ina SchieferdeckerTechnical University Berlin, Faculty of Electrical Engineering and Computer ScienceSupervisor: Prof. John Strassner, Ph.D.
Voir plus Voir moins
Interpretation of Behaviour Models at Runtime Performance Benchmark and Case Studies
vorgelegt von DiplomIngenieur Edzard Höfig aus Berlin
Von der Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin 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öfig
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
th Defense date: 25 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ählt inzwischen zu den etablierten Vorgehensweisen bei der Erstellung von softwareintensiven Systemen. Um Soft warekomponenten mit einem gewünschten Verhalten herzustellen, wird innerhalb eines modellgetriebenen Arbeitsflusses üblicherweise mit Ansätzen zur Kodeerzeu gung gearbeitet. Solch ein Ansatz ermöglicht zwar die Erzeugung eines effizienten Laufzeitystems, allerdings ist das Systemverhalten dann durch die Artefakte des Erzeugungsprozesses statisch festgelegt.Änderungen am Verhaltensmodell ziehen not wendigerweise eine erneute Erzeugung,Übersetzung 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 ändernde Umgebungsbedingungen anpassen können. Da statische Artefakte kaum, oder nur sehr schwer, zur Laufzeit geändert werden können, verbietet sich ein Einsatz von Kodeerzeugung für die Erstellung autonomer Systeme. In dieser Arbeit untersuchen wir einen Lösungsansatz für dieses Problem. Anstelle von statischer Kodeerzeugung verwenden wir Techniken der dynamischen Programm interpretation für die Ausführung von Verhaltensmodellen. Damit ermöglichen wir dieÄnderung 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ührbarkeit zu zeigen, da die Nützlichkeit des Ansatzes von dem beabsichtigten Anwendungszweck eines Systems abhängt. Die Begutachtung unseres Ansatzes erfolgt dabei sowohl durch quantitative als auch durch qualitative Methoden. Zur quantitativen Betrachtung führen wir einen eigens entworfenen BenchmarkTest ein, der den Vergleich der Laufzeitverhalten von erzeugtem und interpretiertem Kode ermöglicht. Die qualitative Begutachtung stützt sich 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ührungsgeschwindigkeit ausreichend für typische Aufgaben in diesen Gebieten ist. Eine Ausnahme davon bilden Anwendungen, die mit einem sehr hohen Datendurchsatz arbeiten oder die anfällig für kleinste Verzögerungen beim Datentransport sind.
VII
VIII
This thesis is dedicated to my parents.
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. Duetohisdeepunderstandingofnetworkingtechnology,HakanCos¸kunscomments 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öfig Berlin, May 2011
IX
X