16
11.11.2005 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

11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

Embed Size (px)

Citation preview

Page 1: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 2: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 3: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 4: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

Folie 4H. Schlingloff, Software-Engineering II 11.11.2005

Beispiel: DOORS® von Telelogic®

Page 5: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

Folie 5H. Schlingloff, Software-Engineering II 11.11.2005

Beispiel: DOORS® von Telelogic®

Page 6: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

Folie 6H. Schlingloff, Software-Engineering II 11.11.2005

Beispiel: DOORS® von Telelogic®

Page 7: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 8: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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.

Page 9: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 10: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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)

Page 11: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 12: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 13: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

Folie 13H. Schlingloff, Software-Engineering II 11.11.2005

Page 14: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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?

Page 15: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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

Page 16: 11.11.2005 Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt

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?