Upload
katarina-weiss
View
102
Download
0
Embed Size (px)
Citation preview
11.11.2005
Software-Engineering IIEingebettete Systeme, Softwarequalität, Projektmanagement
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
Folie 2H. Schlingloff, Software-Engineering II 11.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, Time Petri Nets
Folie 3H. Schlingloff, Software-Engineering II 11.11.2005
Requirements-Management
• Aufgabe: Verwaltung der spezifizierten Anforderungen Erfassung von Anforderungen aus Dokumenten
(capturing) Verknüpfung zu Modulen und Testfällen (linking) Verfolgbarkeit (tracing) Analyse, Verifikation, Transformation Lebenszyklus von Anforderungen, Groupware Dokumentationsunterstützung
• RM-Tools können nicht die Qualität der Anforderungen (Präzision, Vollständigkeit, Eindeutigkeit etc.) verbessern!
• INCOSE Requirements Management Tools Survey: http://www.paper-review.com/tools/rms/read.php
Folie 4H. Schlingloff, Software-Engineering II 11.11.2005
Beispiel: DOORS® von Telelogic®
Folie 5H. Schlingloff, Software-Engineering II 11.11.2005
Beispiel: DOORS® von Telelogic®
Folie 6H. Schlingloff, Software-Engineering II 11.11.2005
Beispiel: DOORS® von Telelogic®
Folie 7H. Schlingloff, Software-Engineering II 11.11.2005
Modellierung
• Realzeitkonzepte in UML Zustandsdiagrammen after (time) als Trigger absoluter Zeitpunkt als Trigger
• Informelle Semantik die Transition wird t Zeiteinheiten nach dem Zeitpunkt zu
dem sie aktiv wird ausgeführt die Transition wird zur angegebenen Uhrzeit ausgeführt
• Vielfach nicht ausreichend keine Mindest- / Höchstwartezeiten keine Möglichkeit mehrere Uhren zu verwenden
Zustand 1 Zustand 2after (5 ms) / Aktivität
Folie 8H. Schlingloff, Software-Engineering II 11.11.2005
Timed Automata
• Timed Automata (zeitbeschriftete Automaten) erweitern das Konzept klassischer endlicher Automaten um (Stopp-)Uhren Uhren laufen ständig (kein Anhalten) alle Uhren laufen mit der selben Geschwindigkeit (perfekte Uhren, t
´=1) Uhren können durch Transitionen auf 0 zurückgesetzt werden Uhren können das Schalten von Transitionen beeinflussen
S1 S2x<2
a, x:=0
x>1, b
• Eine Uhr x.• Keine Invariante an s1, also kann das
System beliebig lang in s1 bleiben.• Beim Übergang zu s2 mit a wird die Uhr
auf 0 zurückgesetzt.• In s2 läuft die Uhr.• Frühestens 1 Zeiteinheit später ist der
Übergang zu s möglich, spätestens 2 Zeiteinheiten später muss er stattfinden.
Folie 9H. Schlingloff, Software-Engineering II 11.11.2005
Anwendungsbeispiel
• Doppelklick-Schalter Klick an, klick aus Wenn zweimal hintereinander schnell geklickt wird, heller
• Zusatzanforderung Schalte nach spätestens 300 s wieder dunkler
Mehr über timed automata: Rajeev Alur, Tom HenzingerR. Alur and T.A. Henzinger. Real-time logics: complexity and expressiveness. Information and Computation 104(1):35-77, 1993 R. Alur and D.L. Dill. A theory of timed automata. Theoretical Computer Science 126:183-235, 1994
http://www.cis.upenn.edu/~alur/Talks/sfm-rt-04.ppt (lesen!)
off low brightklick
klick
klick
klick
x:=0
x>3
x 3y300
y>300
y:=0
Folie 10H. Schlingloff, Software-Engineering II 11.11.2005
Und nun etwas formaler
• Gegeben eine Menge von Zeitvariablen X. Eine zeitabhängige Bedingung ist eine boolesche Kombination von Formeln der Art x<c, xc (rationales c)
• 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, optional) endliche Menge E von Transitionen bestehend aus
- Quelle, Zielort- Ereignis aus dem Alphabet (optional)- zeitabhängige Bedingung (optional)- Menge von Uhren die zurückgesetzt werden (optional)
Folie 11H. Schlingloff, Software-Engineering II 11.11.2005
Semantik
• Jedem zeitbeschrifteten Automaten wird ein zustandsunendliches Transitionssystem zugeordnet Zustände: (l, v) wobei l ein Ort und v eine Belegung der
Uhren mit reellen Werten ist die Inv(l) erfüllt Anfangszustände: (l0,(0,…,0)) Zustandsübergänge
- 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 Achtung: z.B. bei inkonsistenten Bedingungen leere
Menge
Folie 12H. Schlingloff, Software-Engineering II 11.11.2005
Erweiterungen
• zusätzliche Variable v1,…,vn über endlichem Wertebereich W1,…,Wn
Ort = (Platz, Werte (w1,…,wn))
• Input / Output – Events Partitionierung der Menge in Eingaben (i?), Ausgaben (o!), und
interne Ereignisse Jede Transition darf mit einer Eingabe oder einem internen
Ereignis und gleichzeitig mit mehreren Ausgaben beschriftet sein
• Parallele Automaten übliches Automatenprodukt (interleaving)
Aufgabe geben Sie eine formale Definition an zeigen Sie dass dies keine echte Erweiterung des Modells ist
Folie 13H. Schlingloff, Software-Engineering II 11.11.2005
Folie 14H. Schlingloff, Software-Engineering II 11.11.2005
Verifikation
• In wie weit sind zeitbeschriftete Automaten analysierbar?• Kann man entscheiden ob ein bestimmter Zustand
erreichbar ist?
Folie 15H. Schlingloff, Software-Engineering II 11.11.2005
Idee: Äquivalenzklassenbildung
• Partitionierung des unendlichen Zustandsraumes in endlich viele „Regionen“
• alle Zustände einer Region weisen „ähnliches“ Verhalten auf
Folie 16H. Schlingloff, Software-Engineering II 11.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?