Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 16.11.2005
Ein Brief von Microsoft Research: Bitte denken Sie auch daran Ihre Studenten auf den Imagine Cup 2006 (http://www.imaginecup.info) hinzuweisen. Sowohl der Imagine Cup als auch unser Förderprogramm für Studenten tragen dazu bei, dass der akademische Nachwuchs sich durch Projektarbeit und Netzwerkbildung auf seine Karriere vorbereiten kann. Aktuelle Informationen finden Sie unter http://www.studentprogram.de Nachwuchsförderung oder Ideensuche zum Spottpreis? 16.11.2005
Übersicht 0. Einleitungsbeispiel (Mars Polar Lander) 1. Eingebettete Systeme 1.1. Definitionen (eingebettetes System, Realzeit, Prozess, Steuerung, …) 1.2. Anforderungsanalyse allgemeine Vorgehensweise Beispiel Türsteuergerät systematische Ansätze; Def. Modus, Kondition, Historie Anwendungsfallbeschreibungen 1.3. Modellierung Timed Automata 16.11.2005
Def. Zeitautomat Ein zeitbeschrifteter Automat ist ein Tupel bestehend aus endlicher Menge L von Orten oder Plätzen (locations) Teilmenge L0 von Anfangsorten endliches Alphabet von Ereignissen endliche Menge von Uhren (-variablen) Invariante Inv(s) für jeden Ort (zeitabhängige Bedingung) endliche Menge E von Transitionen bestehend aus Quelle, Zielort Ereignis aus dem Alphabet zeitabhängige Bedingung Menge von Uhren die zurückgesetzt werden off low bright klick x:=0 x>3 x 3 y300 y>300 y:=0 16.11.2005
Semantik Jedem zeitbeschrifteten Automaten wird ein zustandsunendliches Transitionssystem zugeordnet Kontrollschritt: (l,v) –a–>(l´,v´) falls ein Übergang (l,a,g,r,l´) existiert mit v erfüllt g und v´=v[r:=0] Zeitschritt: (l,v) –d–>(l´,v´) falls l´=l und v´=v+d und sowohl v als auch v´ erfüllen Inv(l) Jeder Pfad durch das Transitionssystem ist ein Ablauf des Automaten In wie weit sind zeitbeschriftete Automaten analysierbar? Kann man entscheiden, ob ein bestimmter Zustand erreichbar ist? 16.11.2005
Idee: Äquivalenzklassenbildung Partitionierung des unendlichen Zustandsraumes in endlich viele „Regionen“ alle Zustände einer Region weisen „ähnliches“ Verhalten auf 16.11.2005
Quotienten Def. Quotientenautomat bezüglich einer Partitionierung der Zustandsmenge Abstraktion von gewissen Variablen (kleinerer Wertebereich oder ganz weglassen) Zustände im Quotientenautomat sind Äquivalenzklassen von Zuständen im ursprünglichen Vergröberung der Verhaltensbeschreibung: Menge aller möglichen Abläufe (akzeptierter Wortschatz) wird größer Gesucht: Abstraktion die die Sprache nicht vergrößert Bei Zeitautomaten Abstraktion der Uhrenvariablen? Reduktion des Wertebereichs der Uhren? 16.11.2005
Sprachschatz für Zeitautomaten Wdh.: Jeder Pfad durch das Transitionssystem ist ein Ablauf des Automaten Def.: Pfad = ((l0, v0) –c0–>(l1, v1) –c1–>(l2, v2) –c2–>…); l ist Ort, v ist Uhrenbelegung, c Ereignis oder Dauer Bei Zeitschritten vi+1=vi+t, bei Kontrollschritten vi+1=vi [r:=0] Ist diese Granularität erforderlich? z.B. (l0 –c0–>l1–c1–>l2–c2–>l3 …) ausreichend? oder (c0––>c1––>c2––>c3––>…) ? oder überhaupt nur (e0e1e2e3…) ? 16.11.2005
Sprachschatz für Zeitautomaten Def. Sprache eines Automaten zeitlos: Menge aller (endlichen oder unendlichen) Wörter (ohne Berücksichtigung Uhren) zeitabhängig: Menge von Folgen (e0 –d0–>e1–d1–>e2–d2–>e3 …) Sprache des uhrlosen Automaten enthält zeitlose Sprache Def. Äquivalenz von Automaten erzeugte Sprachen sind gleich zwei verschiedene Äquivalenzbegriffe zeitabhängig äquivalente Automaten sind auch zeitlos äquivalent Bsp. zeitlos äquivalent, aber nicht zeitabhängig äquivalent a b x:=0 x>10 16.11.2005
Regionen und Zonen endliche Partitionierung des Zustandsraumes x y Eine Region (Äquivalenzklasse) 1 2 3 Definition Regionenäquivalenz: Sei cmax die größte im Automaten vorkommende Konstante. v @R u gdw der integrale Teil aller Uhrenbelegungen ist gleich bzw. beidesmal >cmax. der fraktionale Teil ist beidesmal =0 oder beidesmal >0 falls x<cmax und y<cmax, dann beidesmal xy oder beidesmal yx 16.11.2005
Zonen endliche Mengen von Ungleichungen alle möglichen Beziehungen zwischen allen Uhrenvariablen Es reicht, sich auf Linearkombinationen von Variablen (c=k1*c1+…+kn*cn) zu beschränken Definition: w @Z w’ gdw w und w’ erfüllen die selben Bedingungen der Form xi < c, xi = c, xi – xj < c, xi –xj =c wobei ccmax 16.11.2005
Endlichkeit des Zustandsraumes Die Relationen haben einen endlichen Index d.h. es gibt nur endlich viele erreichbare Regionen / Zonen d.h. der Regionen/Zonengraph ist endlich Beweisidee (Regionen) folgt aus der Definition von @R: endlich viele integrale Teile cmax und endlich viele Vergleiche der fraktionalen Teile Beweisidee (Zonen) bei endlich vielen rationalen Zahlen gibt es nur endlich viele Linearkombinationen (Summierungsmöglichkeiten), die kleiner als eine vorgegebene Schranke sind im Automaten werden nur endlich viele Konstante erwähnt daher gibt es nur endlich viele unterschiedlich erfüllte Bedingungen der angegebenen Art 16.11.2005
Konstruktion des Regionengraphen x y Successor regions, Succ(r) r 1 2 3 Reset region r[y:=0] r[x:=0] Der Regionengraph als (endlicher) Automat ist zeitlos äquivalent zum ursprünglichen Zeitautomaten erfüllt die selben Sicherheitseigenschaften 16.11.2005
Beispiel |Regionen| = |Orte| * |Konstante| * |Uhren|! i.A. exponentiell in der Anzahl der Uhren und Konstanten (PSPACE-vollständig) 16.11.2005
© Uli Stein 16.11.2005
UppAal, Kronos, Rabbit… Tools zur Konstruktion des Regionengraphen animierte Simulation temporale Verifikation unterschiedliche interne Repräsentation Mengen von Ungleichungen BDDs Differenzmatrizen, difference bound matrices --- Präsentation UPPAAL --- http://www.cs.auc.dk/~kgl/ARTES/sld041.htm 16.11.2005
16.11.2005