05 Fakultät Informatik, Elektrotechnik und Informationstechnik
Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6
Browse
3 results
Search Results
Item Open Access Ganzheitliche modellbasierte Sicherheitsanalyse von Prozessautomatisierungssystemen(2003) Biegert, Uwe; Göhner, Peter (Prof. Dr.-Ing. Dr. h. c.)Der Betrieb von Prozessautomatisierungssystemen ist immer mit einem gewissen Risiko verbunden. Ein Prozessautomatisierungssystem gilt dann als sicher, wenn das vorhandene Risiko zu keiner Zeit ein so genanntes Grenzrisiko überschreitet. Wird das Grenzrisiko überschritten, so droht Menschen und Umwelt unmittelbar ein Schaden. Mit Hilfe von Sicherheitsanalysen kann das vorhandene Risiko untersucht und abgeschätzt werden. Klassische Sicherheitsanalysen betrachten in der Regel nur einzelne Bestandteile eines Prozessautomatisierungssystems, welches aber im Allgemeinen aus drei verschiedenen Bestandteilen besteht: dem technischen System, dem Rechnersystem und dem Bedienpersonal. Was passiert aber, falls im technischen System ein Bauelement ausfällt, die Automatisierungssoftware Fehler enthält und zur gleichen Zeit das Bedienpersonal falsche Bedieneingriffe ausführt? Solche Fragen können mit klassischen Sicherheitsanalysen nur unzureichend beantwortet werden. Hinzu kommt, dass bei den meisten klassischen Sicherheitsanalysen die eigentliche Analyse des Systems in Form von Brainstorming-Prozessen durchgeführt wird. Dabei kann der Mensch niemals alle möglichen Kombinationen des Zusammenspiels zwischen den Bestandteilen überblicken und bewerten. In der vorliegenden Arbeit wird ein modellbasierter Ansatz zur Durchführung einer ganzheitlichen Sicherheitsanalyse vorgestellt, welche alle Bestandteile eines Prozessautomatisierungssystems berücksichtigt. Die Ausführung erfolgt rechnergestützt. Auf Grund der Komplexität von Prozessautomatisierungssystemen wird eine qualitative komponentenorientierte Modellierungsmethode gewählt. Die Systemgrößen werden durch qualitative Intervallvariablen beschrieben, wobei die definierten Intervallbereiche zusätzlich durch qualitative Ausdrücke kommentiert werden. Durch Kombination von Intervallbereichen entstehen kommentierte Situationen, die das Verhalten wiedergeben. Dabei wird sowohl der bestimmungsgemäße als auch der fehlerhafte Betrieb berücksichtigt. Anhand der Systemstruktur werden die Modelle der Bestandteile miteinander kombiniert, um alle möglichen Situationen des gesamten Prozessautomatisierungssystems zu erhalten. Anschließend werden die ermittelten sicherheitskritischen Situationen des Prozessautomatisierungssystems bewertet und es wird entschieden, ob Sicherheitsmaßnahmen notwendig sind. Durch das rechnergestützte Vorgehen lassen sich im Unterschied zu klassischen Methoden beliebig viele Fehlerkombinationen analysieren und damit Sicherheitslücken im Prozessautomatisierungssystem ermitteln. Das komplexe Zusammenspiel der Bestandteile wird mit Hilfe des qualitativen Modells transparent und analysierbar. Das Modell ist auf Grund seines qualitativen Charakters einfach anzuwenden und die Ergebnisse können leicht interpretiert werden.Item Open Access Validierung komponentenbasierter Software für Echtzeitsysteme(2003) Fleisch, Wolfgang; Göhner, Peter (Prof. Dr.-Ing. Dr. h.c.)Der Anteil und die Bedeutung von Software bei der Entwicklung von Echtzeitsystemen wächst sehr stark. Gleichzeitig werden die Entwicklungszyklen für Software-Produkte zunehmend kürzer, was sich immer häufiger in ausgelieferter fehlerhafter Software widerspiegelt. Durch die Verwendung vorgefertigter Software-Komponenten kann nach dem Baukastenprinzip bei der Konstruktion neuer Produkte die Produktivität und die Qualität erheblich gesteigert werden. Aber auch wenn durch den Einsatz geprüfter, betriebsbewährter Software-Komponenten viele Fehler vermieden werden, muss eine aus Komponenten zusammengesetzte Software auch in Zukunft mit geeigneten Prüfverfahren validiert werden, weil beim Zusammenspiel der Komponenten weiterhin Fehler entstehen können. In der vorliegenden Arbeit wird dazu ein Prüfverfahren zur Validierung komponentenbasierter Software für Echtzeitsysteme entwickelt, das das dynamische Verhalten von komponentenbasierter Software gegenüber den Anforderungen aus Anwendersicht überprüft. Die Anforderungen werden zu Beginn der komponentenbasierten Softwareentwicklung als Anwendungsfälle spezifiziert. Mit Hilfe von erweiterten UML Sequenzdiagrammen werden die Anwendungsfälle systematisch in eine formale, automatisiert prüfbare Notation überführt, die auch die Spezifikation von Echtzeitanforderungen explizit unterstützt. Da beim Entwurf von komponentenbasierter Software bereits vollständig spezifizierte Software-Komponenten verwendet werden, kann das Verhalten schon in der frühen Entwurfsphase mit Hilfe von Simulation validiert werden. Die Verwendung von Simulation hat den Vorteil, dass auch ohne die in der Praxis meist spät verfügbaren Bestandteile des technischen Prozesses und des Automatisierungsrechnersystems eine Prüfung des simulierten Verhaltens der komponentenbasierten Software durchgeführt werden kann. Anhand festgelegter Prüfkriterien wird dann das simulierte Verhalten der komponentenbasierten Software gegenüber dem in den Anwendungsfällen spezifizierten Verhalten geprüft, um damit frühzeitig Fehler aufzudecken. Eine im Rahmen der Arbeit realisierte Validierungsumgebung unterstützt den Softwareentwickler dabei umfassend, angefangen bei der Spezifikation von prüfbaren Anwendungsfällen, bis hin zur automatisierten Prüfung des simulierten Verhaltens. Die Leistungsfähigkeit des Prüfverfahrens und der Validierungsumgebung werden abschließend am Beispiel der Entwicklung und Validierung einer komponentenbasierten Software für eine Kfz-Scheibenwischeranlage demonstriert.Item Open Access Komponentenbasierte Softwareentwicklung für sicherheitskritische eingebettete Systeme(2003) Gunzert, Michael; Göhner, Peter (Prof. Dr.-Ing. Dr. h. c.)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.