Flexible Task Management for Self-Adaptation of Mixed-Criticality Systems with an Automotive Example
Total Page:16
File Type:pdf, Size:1020Kb
Fakultat¨ fur¨ Informatik Fachgebiet Vernetzte Rechensysteme Technische Universitat¨ Munchen¨ Flexible Task Management for Self-Adaptation of Mixed-Criticality Systems with an Automotive Example Daniel Andreas Krefft Vollst¨andigerAbdruck der von der Fakult¨atf¨urInformatik der Technischen Universit¨at M¨unchen zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr.rer.nat.) genehmigten Dissertation. Vorsitzende: Prof. Dr. Claudia Eckert Pr¨ufendeder Dissertation: Prof. Dr. Uwe Baumgarten Prof. Dr.-Ing. Andreas Herkersdorf Die Dissertation wurde am 22.08.2018 bei der Technischen Universit¨atM¨unchen eingereicht und durch die Fakult¨atf¨urInformatik am 11.12.2018 angenommen. Abstract With regard to future connected cars, there are two trends leading to consolidated hard- ware devices as well as an increasing software complexity within a car. In consequence, a rising number of software needs to use the provided resources of a few high-performance hardware devices. For an efficient resource usage, a flexible software management sup- porting the (self-)adaptation of a software system is getting more and more important - even within a car. This flexible software management therefore needs to consider the criticality and real-time properties of an application within this context. Corresponding to the hardware consolidation, the management approach should be combined with the actual application on one hardware device. With a recent advance of multi-core embed- ded systems, there exists a potential hardware platform which is able to support this combination in an embedded context. Especially, the usage of a flexible management supporting the self-adaptation of a mixed-criticality software system on an embedded hardware device during run-time is of interest. For integrating a flexible software management on top of an embedded hardware plat- form, this work investigates the application of a controlled adaptation process consider- ing the given resources. The work, thus, describes a consolidated architecture approach which designs the flexible software management as part of an operating system. The cor- responding adaptation process is based on a newly designed run-time integration frame- work which allows the deployment of mixed-criticality applications into a given software system. For realizing the several decision phases within the integration framework, an extended description considering the static and dynamic information of an application and the system itself is described. With the usage of a multi-core platform, the decision making processes for the adaptation can be executed beside the actual applications on the same device. The implementation is done by using a micro-kernel based real-time operating system. As part of a distributed environment, the implemented system is tested according to certain automotive scenarios. Furthermore, the system is also tested in isolation through a software-in-the-loop comparable approach. The first evaluation results present an indication if the demanded resource and adaptation requirements are fulfilled. Moreover, this work presents a fundamental feasibility study for adapting an automotive system during operation. In conclusion, this thesis explores aspects for integrating a flexible software manage- ment approach in an embedded mixed-critical system on a multi-core hardware platform and demonstrates the feasibility of adapting such a system during operation. iii Zusammenfassung Mit Hinblick auf zuk¨unftigevernetzte Fahrzeuge, gibt es zwei Trends, welche sowohl zu konsolidierten Steuerger¨aten,als auch zu einer zunehmenden Komplexit¨atvon Software im Fahrzeug f¨uhrenwerden. In der Konsequenz muss eine steigende Anzahl von Soft- ware die Ressourcen von wenigen leistungsstarken Steuerger¨atenverwenden. F¨ureine effiziente Nutzung dieser Ressourcen wird eine flexible Verwaltung zur Unterst¨utzungder (Selbst-)Adaption eines Software Systems immer wichtiger - sogar im Fahrzeug. Diese flexible Softwareverwaltung muss die Kritikalit¨ats-und Echtzeiteigenschaften einer An- wendung in diesem Kontext ber¨ucksichtigen. Entsprechend der Hardwarekonsolidierung sollte die Verwaltung mit der eigentlichen Anwendung auf einem Ger¨atausgef¨uhrtwer- den. Mit den j¨ungstenEntwicklungen von Mehrkernprozessoren in eingebetteten Sys- temen existiert eine m¨ogliche Plattform welche diese Kombination unterst¨utzenkann. Besonders die Nutzung einer flexiblen Verwaltung, welche die Selbst-Adaption im Bere- ich gemischt-kritischer Software Systeme auf einem eingebetteten Ger¨atzur Laufzeit unterst¨utzt,ist hierbei von Interesse. F¨urdie Integration einer flexiblen Softwareverwaltung untersucht diese Arbeit die An- wendbarkeit einer kontrollierten Adaption eines Software Systems unter Ber¨ucksichtigung der gegebenen Ressourcen. Die Arbeit beschreibt hierzu eine konsolidierte Architektur, welche die flexible Softwareverwaltung als Teil eines Betriebssystems vorsieht. Der Adap- tionsprozess selbst basiert auf einem, in dieser Arbeit entwickelten, Laufzeit-Framework zur Integration von gemischt-kritischen Anwendungen in ein gegebenes Software Sys- tem. Zur Realisierung der einzelnen Entscheidungsprozesse innerhalb des Frameworks wird eine erweiterte Beschreibung zur Erfassung der statischen und dynamischen Infor- mationen ¨uber die Anwendung und das System selber pr¨asentiert. Durch die Nutzung eines Mehrkernprozessors k¨onnendie Entscheidungsprozesse f¨urdie Adaption neben den eigentlichen Anwendungen auf dem selben Ger¨atausgef¨uhrtwerden. Die Umsetzung des vorgestellten Ansatzes erfolgt unter Verwendung eines microkernel- basierten Echtzeitbetriebssystems. Das System wird in verschiedenen automotiven An- wendungsszenarien als Teil eines verteilten Bordnetzes beziehungsweise, isoliert, in einem Software-in-the-Loop Ansatz getestet. Die ersten Ergebnisse geben eine Einsch¨atzung dar¨uber, inwieweit die geforderten Aspekte zur Nutzung der verf¨ugbarenRessourcen und zum zeitlichen Verhalten der Adaption erreicht werden konnten. Dar¨uber hinaus pr¨asentiert diese Arbeit eine grunds¨atzliche Machbarkeitsstudie ¨uber die M¨oglichkeit das automotive System mit Hilfe des entwickelten Ansatzes zur Laufzeit zu adaptieren. Zusammenfassend untersucht diese Arbeit die Aspekte zur Integration einer flexi- blen Softwareverwaltung in einem eingebetteten gemischt-kritischen System auf einer Mehrkernprozessor-basierten Hardware-Plattform und zeigt die Machbarkeit solch ein System w¨ahrendder Ausf¨uhrungzur Laufzeit zu adaptieren. v Acknowledgments First of all, I would like to thank Prof. Dr. Uwe Baumgarten for his dedication giving me the possibility to work at his chair of operating systems and for the opportunity to work on such an interesting thesis topic. His door has always been open for conversations, discussions and giving me the right directions. Further, I would like to thank my mentor Prof. Dr. Andreas Herkersdorf for giving me valuable remarks and for his readiness to examine my thesis. Many thanks to all my colleagues at the chair of operating systems. I met many special people who inspired me in our pro-active meetings, talks and day-to-day work. Especially Susanne Guggenmos and Sebastian Eckl provided me a huge support. Many thanks also to all students contributing to the work we developed during my time at the chair, including the creation of our prototype, where Alexander Reisner and Alexander Weidinger showed their enthusiasm and dedication. I am deeply thankful to my family and my friends who supported me with open ears and good advice over the years. Special thanks go to Woody Lemcke for proofreading my thesis. I would like to thank my parents, my mother Belinda Krefft and my father Raimund Krefft. This thesis would not have been possible without all their love and support also in difficult times. Last but not least, a great thank you goes to a special person in my life. With your smile, love and enthusiasm you have given me the motivation for this long run. Thank you, Susanne Mozes. vii Contents Abstract iii Zusammenfassung v Acknowledgments vii Contents ix List of Figures xiii List of Tables xv Acronyms xvii 1 Introduction 1 1.1 Background and Current Trends . .1 1.2 Motivation . .3 1.3 Problem and Contributions . .6 1.4 Structure of the Work . .8 2 Fundamentals of Embedded Systems Development 9 2.1 Basic Taxonomy of a System . .9 2.2 Architecture in Software Engineering . 10 2.3 Functional and Design Requirements . 13 2.3.1 Taxonomy of Self-Adaptation . 14 2.3.2 Taxonomy of Dependability . 16 2.4 System Analysis Foundations of an Embedded System . 21 2.4.1 System Architecture . 22 2.4.2 Real-time Scheduling . 26 2.4.3 Communication . 33 3 Domain Analysis 35 3.1 Operating System Architectures for Multi-Core Systems . 35 3.2 Real-Time Scheduling of Dynamic Mixed-Critical Systems . 38 3.3 Mixed-Critical System Properties . 42 3.4 Self-Adaptive Systems Properties . 44 3.5 Differences between Related Work and Proposed Approach . 47 ix Contents 4 Design of a Consolidated Self-Adaptive Software Architecture for Multicore Systems 53 4.1 Description of the Overall System Architecture . 53 4.2 Kernel Space and User Space Interactions . 56 4.3 Allocation of Software Components to Multicore Hardware Platform . 60 4.3.1 Integration of Application Components within the System . 61 4.3.2 Criticality-Aware Allocation of Software Components . 63 4.3.3 Isolation Supporting Criticality . 66 4.4 Description of Workflows for Self-Adaptive Software Architecture Changes 68 4.4.1 Adding a New Task into the System . 69 4.4.2 Optimizing