Please use this identifier to cite or link to this item: http://dx.doi.org/10.18419/opus-2523
Authors: Gunzert, Michael
Title: Komponentenbasierte Softwareentwicklung für sicherheitskritische eingebettete Systeme
Other Titles: Componentbased software developement for safety critical embedded systems
Issue Date: 2003
metadata.ubs.publikation.typ: Dissertation
Series/Report no.: IAS-Forschungsberichte;2003,4
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-15295
http://elib.uni-stuttgart.de/handle/11682/2540
http://dx.doi.org/10.18419/opus-2523
ISBN: 3-8322-2138-7
Abstract: Eingebettete Systeme, wie Antiblockiersysteme oder Motorsteuerungen dringen immer mehr in sicherheitskritische Anwendungsbereiche vor. Die Systeme werden zunehmend verteilt und untereinander vernetzt. Die Software in diesen Systemen gewinnt sehr stark an Bedeutung und wird gleichzeitig immer umfangreicher und komplexer. Es werden daher neue Methoden und Verfahren benötigt, um diese Komplexität zu beherrschen. Ziel der vorliegenden Arbeit war die Entwicklung einer Konzeption für die komponentenbasierte Softwareentwicklung für sicherheitskritische eingebettete Systeme. Dabei wurden zuerst die Eigenschaften von sicherheitskritischen eingebetteten Systemen untersucht. Daraus wurden Anforderungen an die Konzeption abgeleitet. Zusätzlich wurden Anforderungen an die komponentenbasierte Entwicklung definiert. In der anschließenden Untersuchung zum Stand der Technik wurden Methoden und Werkzeuge analysiert und bewertet, die eine komponentenbasierte Softwareentwicklung oder eine formale Verifikation der Software ermöglichen. Die gestellten Anforderungen konnten dabei jeweils nur teilweise erfüllt werden. Im Rahmen der durchgeführten Untersuchungen wurde festgestellt, dass sich ein synchrones, zeitgesteuertes Ausführungsmodell sehr gut eignet, um die Anforderungen erfüllen zu können. Deshalb wurden dann der synchrone Ansatz reaktiver Systeme und eine zeitgesteuerte Architektur für verteilte Systeme näher untersucht. Außerdem wurde die Model-Checking Technologie für die Verifikation von Sicherheitseigenschaften ausgewählt. All diese Technologien bilden die Grundlage für die entwickelte Konzeption. Auf der Basis des sychronen Modells wurde dann ein Komponentenmodell für synchrone Softwarekomponenten definiert. Dieses besteht aus einem reaktiven Teil und einem Datenverarbeitungsteil. Das Verhalten der Komponente wird durch den reaktiven Teil bestimmt, der die Datenverarbeitung steuert und ein deterministisches Verhalten aufweist. Es wurde ein Konzept für die komponentenbasierte Entwicklung mit synchronen Softwarekomponenten entwickelt. Der Entwurf der Software erfolgt dabei in einem Entwurfsmodell auf graphischer Ebene. Dabei definiert der Applikationsentwickler Baugruppen als funktionale Einheiten. Diese Baugruppen werden schrittweise weiter verfeinert, bis sie sich durch die vorhandenen Komponenten realisieren lassen. Die Softwarekomponenten können dazu aus einer Bibliothek ausgewählt, parametriert und durch Signale miteinander verbunden werden. Aus dem komponentenbasierten Entwurf kann durch automatische Codegenerierung direkt ablauffähiger Code erzeugt werden. Durch das synchrone Zeitmodell und die formale Semantik der verwendeten Sprache ESTEREL ist eine formale Verifikation von Sicherheitseigenschaften möglich. Damit kann nachgewiesen werden, dass die Software bestimmte sicherheitskritische Anforderungen erfüllt und somit das Vertrauen in die Software erhöht werden. Die Verifikation erfolgt dabei vollautomatisch durch Model-Checking. Zur Evaluierung der entwickelten Konzeption wurde eine Werkzeugumgebung entworfen und prototypisch implementiert. Die Werkzeugumgebung ViPER (Visual Programming Environment for Embedded Real-Time Systems) erlaubt die Entwicklung verteilter eingebetteter Systeme mit synchronen Softwarekomponenten. Das entwickelte Konzept wurde an zwei Beispielen aus der Automobilforschung erprobt. Das erste Beispiel ist ein einfaches Steer-by-Wire System. Dabei wurde die mechanische Lenkung eines Go-Kart durch eine elektronische Lenkung ersetzt. Bei dem zweiten Beispiel handelt es sich um Software für einen Prototypen eines Brake-by-Wire Systems, das bei der DaimlerChrysler Forschung entwickelt wurde. Dabei konnte eine Reihe von Sicherheitseigenschaften der Software nachgewiesen werden.
Embedded systems as anti-blocking systems or engine controllers advance more and more into safety critical applications. The systems are increasingly distributed and interconnected. The software in these systems is gaining in significance rapidly and becomes larger and more complex at the same time. Therefore, new methods and procedures are needed in order to manage this complexity. The goal of this thesis was the development of a conception for the component based software development for safety critical systems. At first, the properties of safety critical embedded systems have been analysed. Thereof, requirements have been derived. Additional requirements for the component based development have been defined as well. In the following studies regarding the state of the art, methods and tools have been analysed and valued that enable either a component based development or a formal verification of software. The raised requirements could be met only partly in each case. During the analyses, it has been found that a synchronous time-triggered execution model is very well suited to meet the requirements. Therefore, the synchronous approach for reactive systems and a time-triggered architecture have been further investigated. Besides, the model-checking technology has been selected for the verfication of safety properties. All these technologies form the basis for the conception developed. A component model for synchronous software components has then been defined on the basis of the synchronous model. This model consists of a reactive part and a data processing part. The behavior of the component is determined by the reactive part which controls the data processing part and behaves in a deterministic way. A concept for the component based development with synchronous software components has been developed. Software design is performed using a design model on a graphical level. The application developer hereby defines modules as functional units. These modules are refined iteratively to a point where they can be realized by existing components. The software components can therefore be selected, parameterized and connected through signals. Executable code can be generated from the component based design by automatic code generation. Using the synchronous model of time and the formal semantics of the used language ESTEREL, a formal verification of safety properties is possible. Using this technique, it can be proved that the software meets specific safety critical requirements and trust in the software can be raised. Verification is performed fully automatically by using model-checking. For evaluation of the conception, a tool environment has been designed and implemented as a prototype. The tool environment ViPER (Visual Programming Environment for Embedded Real-Time Systems) supports the development of distributed embedded systems with synchronous software components. The conception has been evaluated on two example systems from automobile research. The first example was a simple Steer-by-Wire system where the mechanical steering of a Go-Kart has been replaced by an electronic system. The second example was a prototype of a real Brake-by-Wire system that has been developed by DaimlerChrysler research. With this system a number of safety properties have been proved sucessfully.
Appears in Collections:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Files in This Item:
File Description SizeFormat 
Diss-Gunzert.pdf1,32 MBAdobe PDFView/Open


Items in OPUS are protected by copyright, with all rights reserved, unless otherwise indicated.