Applying the Engineering Statechart Formalism to the Evaluation of Soft Real-Time in Operating Systems - a Use Case Tailored Modeling and Analysis Technique
Total Page:16
File Type:pdf, Size:1020Kb
Dissertation zur Erlangung des Grades des Doktors der Ingenieurwissenschaften der Naturwissenschaftlich-Technischen Fakult¨aten der Universit¨atdes Saarlandes R S V E I T I A N S U S S A I R S A V I E N Applying the Engineering Statechart Formalism to the Evaluation of Soft Real-Time in Operating Systems - A Use Case Tailored Modeling and Analysis Technique Vorgelegt von Alexander Koenen-Dresp Glons, Belgien Tag der Einreichung: 4. Juli 2008 Tag des Kolloquiums: 28. Oktober 2008 Dekan: Prof. Dr. Joachim Weickert Vorsitzender der Pr¨ufungskommission: Prof. Dr. Reinhard Wilhelm 1. Berichterstatter: Prof. Dr. Helge Scheidig 2. Berichterstatter: Prof. Bernd Finkbeiner, PhD Akademischer Mitarbeiter: Dr. Mark Hillebrand Acknowledgements First of all I thank my primary advisor Professor Helge Scheidig for the unique opportu- nity to participate in his research. I am also very grateful for the excellent supervision and the guidance Professor Bernd Finkbeiner gave me during my research. Without his clear guidelines on the methodology, this thesis would never have been possible. My colleges Sebastian Sch¨oningand Reinhart Spurk also greatly contributed to this work - thank you. Words cannot express my gratitude towards my wife Wiebke. Her never-ending fight for my success was the best support for which I could ever have hoped. I am very grateful to my three proof readers, Calogero Cumbo, Christian Franze and Robert Koch. To Robert I owe thanks for his friendship and personal support over the last decade. Since my research and the writing of this thesis was conducted while I was a full-time employee of the German Armed Forces Command Control and Information System Reg- iment (GAFCCIS Rgt) in Cologne and later of the NATO Programming Centre (NPC) in Glons (Belgium), I would like to thank all my superior officers for their support. In particular, Colonel Scholz, Commander of the GAFCCIS Rgt and his deputy Lieutenant Colonel Domke. At the NPC my thanks go to Colonel Eisenreich, Commander of the NPC, Lieutenant Colonels Nauth and Feuerbach, the Senior National Officers of Germany and to all my colleges for taking over my duties during my absent periods. Finally I would like to express my sincere appreciation to my family and all those not mentioned who have contributed, directly or indirectly to this thesis. For my beloved wife Wiebke and my dearly departed grandfather Paul All we have to decide is what to do with the time that is given to us. Gandalf the Grey, J.R.R. Tolkien Abstract Multimedia applications that have emerged in recent years impose unique requirements on an underlying general purpose operating system (GPOS). The suitability of a GPOS for multimedia processing is judged by its soft real-time capabilities. To date, the question of how these capabilities can be assessed has scarcely been addressed: this is a gap in GPOS research. By answering questions on the impacts of the Interrupt Handling Facility (IHF) on the overall soft real-time capabilities of a GPOS, this thesis contributes to the filling of this blank space. The Engineering Statechart Formalism (ESF ), a use case tailored formal method of modeling real-world OS, is syntactically and semantically defined. Models of the IHF of selected real-world operating systems are then created by means of this technique. As no appropriate real-time concept fitting the goals of this thesis as yet exists, a suitable definition is constructed. By projecting this system-wide idea to the interrupt subsystem, specific indicators for this subsystem are derived. These indicators are then evaluated by applying formal techniques such as graph-based analysis and temporal logic model checking to the ESF models. Finally, the assertions derived from this evaluation are interpreted with respect to their impacts on real-time multimedia processing in different general purpose operating systems. Kurzzusammenfassung Multimedia-Anwendungen haben in den letzten Jahren weite Verbreitung erfahren. Solche Anwendungen stellen besondere Anforderungen an das Betriebssystem (BS), auf dem sie ausgef¨uhrtwerden. Insbesondere Echtzeitf¨ahigkeiten des Betriebssystems sind von Be- deutung, wenn es um seine Eignung f¨urMultimedia-Verarbeitung geht. Bis heute wurde die Frage, wie sich diese F¨ahigkeiten konkret innerhalb eines BS manifestieren, nur unzu- reichend untersucht. Die vorliegende Arbeit leistet einen Beitrag zur F¨ullungdieser L¨ucke in der BS-Forschung. Die Effekte des Subsystems zur Unterbrechungsbehandlung in BS auf die Echtzeitf¨ahigkeit des Gesamtsystems werden detailliert auf Basis von Modellen dieses Subsystems in ver- schiedenen BS analysiert. Um eine formale Auswertung zu erlauben, wird eine auf den Anwendungsfall zugeschnittene formale Methode zur BS-Modellierung verwendet. Die spezifizierte Syntax und Semantik dieses Engineering Statechart Formalism (ESF) basieren auf dem klassischen Statechart-Formalismus. Da bislang kein geeigneter Echtzeit-Begriff existiert, wird eine konsistente Definition herge- leitet. Durch die Abbildung dieser sich auf das Gesamtsystem beziehenden Eigenschaft auf die Unterbrechungsbehandlung werden spezifische Indikatoren f¨urdieses Subsystem hergeleitet. Die Auspr¨agungendieser Indikatoren f¨urdie verschiedenen untersuchten Be- triebssyteme werden anhand formaler Methoden wie graphbasierter Analyse und Tempo- ral Logic Model Checking ausgewertet. Die Interpretation der Untersuchungsergebnisse liefert Aussagen ¨uber die Effekte der Implementierung der Unterbrechungsbehandlung auf die Echtzeitf¨ahigkeit der untersuchten Betriebssysteme bei der Verarbeitung von multime- dialen Daten. Ausf¨uhrliche Zusammenfassung Multimedia-Anwendungen haben in den letzten Jahren weite Verbreitung erfahren. Solche Anwendungen stellen besondere Anforderungen an das Betriebssystem (BS), auf dem sie ausgef¨uhrtwerden. Insbesondere Echtzeitf¨ahigkeiten des Betriebssystems sind von Bedeu- tung, wenn es um seine Eignung f¨urMultimedia-Verarbeitung geht. Es existieren zwar zahlreiche L¨osungen f¨urdie Verbesserung des systeminternen Scheduling, aber ganzheitliche Ans¨atze,die andere Komponenten des Systems mit einbeziehen, sind bisher kaum vorhan- den. Die damit einhergehende Frage, wie sich die geforderten Echtzeitf¨ahigkeiten in konkreten Subsystemen innerhalb eines BS manifestieren, ist daher bis heute nur un- zureichend untersucht. Die vorliegende Arbeit leistet einen Beitrag zur F¨ullungdieser L¨ucke in der Betriebssystem- Forschung. Der interaktive Teil eines Betriebssystems, die Unterbrechungsbehandlung, wird hier eingehend hinsichtlich seiner Einfl¨usseauf das Systemverhalten hin untersucht. Dazu kommen Methoden aus den Disziplinen des Software Engineering und der rechner- gest¨utztenVerifikation zum Einsatz: die Effekte des Subsystems zur Unterbrechungsbe- handlung in verschiedenen BS auf die Echtzeitf¨ahigkeit des Gesamtsystems werden detail- liert mittels formaler Modelle abgebildet und analysiert. Da sich Betriebssysteme bez¨uglich ihrer inh¨arenten Eigenschaften signifikant von an- deren Software-Systemen unterscheiden, ist der erste notwendige Schritt die Entwick- lung einer formalen, anwendungsfallspezifischen Modellierungstechnik. Ein auf klassischen Statecharts basierender Formalismus { der Engineering Statechart Formalism (ESF) { wird hergeleitet und seine Syntax sowie Semantik definiert. Die zus¨atzlichen Statechart- Elemente erleichtern die Modellierung von Rekursion, reduzieren die Komplexit¨atder Modelle und stellen ein Werkzeug zur Verf¨ugung,um sowohl logisch gruppierte als auch parallele Abl¨aufeohne Mehraufwand abzubilden. Drei unterschiedliche Betriebssysteme f¨urdie Intel IA32-Architektur, namentlich Linux, OpenBSD und L4Ka::Pistachio werden ausgew¨ahltund die relevanten Bestandteile des Interrupt-Subsystems mittels Techniken des Reverse Engineering unter Verwendung des ESF modelliert. Da bislang kein f¨urdie Zielsetzung dieser Arbeit geeigneter Echtzeit-Begriff existiert, wird eine konsistente Definition basierend auf Time Utility Functions (TUF) hergeleitet. Die somit erreichte Abgrenzung zwischen hartem und weichem Echtzeitbegriff erlaubt die Fest- legung des Konzeptes von Multimedia-orientierter weicher Echtzeit f¨ur Betriebssysteme. Dieser sich auf das Gesamtsystem beziehende Echtzeitbegriff wird anschließend auf die Unterbrechungsbehandlung projiziert. Da dieser Projektionsvorgang eine komplette Sys- temarchitektur voraussetzt, wird die am Lehrstuhl f¨urBetriebssysteme der Universit¨at des Saarlandes entwickelte Component Extension (CE) als Referenz-Architektur angenom- men. Mittels der Projektion werden spezifische Indikatoren f¨urdas Interrupt-Subsystem hergeleitet. Diese Indikatoren werden ISO-Qualit¨atsfaktorenf¨urAnwendungssoftware zu- geordnet. Die Auspr¨agungendieser Indikatoren f¨urdie drei verschiedenen untersuchten Betriebs- syteme werden anhand unterschiedlicher formaler Methoden ausgewertet. Dabei werden in Abh¨angigkeit von der Natur jedes Indikators verschiedene Herangehensweisen spezifiziert und angewandt. Architekturelle Eigenschaften werden mittels statischer, syntaktischer Analyseverfahren ausgewertet, f¨urKontrollflussbasierte Indikatoren wird eine Methode zur graphbasierten Analyse entwickelt. Die verbleibenden, eingabeabh¨angigenIndika- toren werden dann mittels Temporal Logic Model Checking evaluiert. Daf¨urwird ein umfassendes Regelwerk zur Umwandlung von ESF -Modellen in Kripkestrukturen definiert. Die Interpretation der Untersuchungsergebnisse liefert quantitative und qualitative Aus- sagen ¨uber die Effekte der Implementierung der Unterbrechungsbehandlung auf