modellbildung in der entwicklung mit schwerpunkt ... · fakultät für informatik lehrstuhl iv:...
TRANSCRIPT
![Page 1: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/1.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modellbildung in der Entwicklung mitSchwerpunkt Architekturen
Integration von Modellsichtenam Beispiel von AutoFocus
Prof. Dr. Dr. h.c. Manfred BroyGemeinsam mit Dr. Bernhard SchätzFakultät für Informatik, TU MünchenSS 2007
![Page 2: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/2.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modellintegration
Modellintegration: Von Teilsichten zur Gesamtsicht
• Ein Modell ist eine Abstraktion: Definiert eine Sichtauf ein System
• Typische Sichten– Datensicht: Datenmodell
– Schnittstellensicht: Black Box Modell
– Zustandssicht: Zustandsmaschinen
– Prozesssicht: Ablaufmodell
– Architektursicht: Architekturmodell
![Page 3: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/3.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Aufgaben der Modellintegration
• Zusammenspiel unabhängiger Modellsichten– Konsistenz
– Vollständigkeit
• Zusammenspiel redundanter Modellsichten– Konsistenz
• Zusammenspiel der Modellierungstechniken einerModellierungssprache
![Page 4: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/4.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Beispiel Konsistenz Daten-/Zustandsmodell
• Eine Zustandsmaschine mit Ein/Ausgabe arbeitet mitDaten– Zustandsattribute– Nachrichten für Ein/Ausgabe
• Ein Datenmodell definiert eine– Menge von Sorten/Datentypen– Menge von Operationen darauf
• Konsistenz: Die Typen/Sorten werden wie durch ihreOperationen festgelegt verwendet
• Vollständigkeit: Alle verwendeten Typen/Sorten undOperationen sind definiert
![Page 5: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/5.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Das Beispiel: AutoFocus
Wir demonstrieren die Problematik am Beispiel
• AutoFocus: Ein Werkzeug für modellbasierteEntwicklung von Software für eingebettete Systeme
![Page 6: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/6.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Offenes System/Komponente
Offenes System/Komponente: Gekapselter Teil des Gesamtsystems• Kopplung mit Umgebung über Schnittstelle• Umgebungsunabhängig beschreibbares Verhalten
![Page 7: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/7.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Schnittstelle
Syntaktische Schnittstelle: Interaktionspunkte Komponente/Umgebung
• Richtung der Interaktion (Ein-/Ausgabe)
• Art der Interaktion (Nachrichtentyp)
![Page 8: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/8.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Kompatibilität zum Datenmodell
• Die auftretenden Nachrichten sind im Datenmodelldeklariert
![Page 9: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/9.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Kompatibilität bei Verhaltensmodellierung
• Soweit ist nur ein „syntaktische Schnittstelle“ desSystems/der Komponente beschrieben
• Das „Innere“ (das Verhalten) des Systems/derKomponente wird beschrieben durch– Architektur– Zustandsmaschine– Interaktionsdiagramme– Black Box Spezifikation (in AutoFocus nicht implementiert)
• Kompatibilität: Das „Innere“ passt zur SyntaktischenSchnittstelle
![Page 10: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/10.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Architektur und Hierarchie
Hierarchie: Strukturelle Komponentenarchitektur
• Interne Komponentenstruktur („glass box“)
• Unterkomponenten und interne Kanäle
• Interne und externe Schnittstelle
Controller
A
Merge
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorBA:Signal
BB:Signal
Req:Signal
![Page 11: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/11.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Integration: Kopplung Externe/interne Sicht
Integration: Schnittstellensicht
• Interne Eingabe = externe Ausgabe
• Interne Ausgabe = externe Eingabe
Controller
A
Merge
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorBA:Signal
BB:Signal
Req:Signal
![Page 12: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/12.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Signal
ButtonBPr Pr-
t+2t+1t t+3
T
Signal: Kanalhistorie
• Gezeitete Beobachtung des Kanals mit globalem Zeittakt
• Definition der beobachteten Nachrichten pro Zeittakt
![Page 13: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/13.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modell: Strom (wie gehabt)
Strom: (Potentielle unendliche) Nachrichtensequenz• Daten: Trägermenge M = {m1, m2, m3,...}• Nachrichten: Datum oder Absenz M⊥ = M ∪ { ⊥ }• Ströme: Sequenzen über M⊥
– Endliche Ströme: M⊥*
– Unendliche Ströme: M⊥∞
– Potentiell unendliche Ströme: M⊥ω = M⊥
* ∪ M⊥∞
– Funktional: M⊥ω = N → M⊥
• Varianten: Mω (ungezeitet), (M*)ω (schwach kausal)• Spezialfall Autofocus: Genau eine Nachricht pro
Zeitintervall
![Page 14: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/14.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Ablauf
Ablauf: Signalhistorie Komponente
• Alle Schnittstellenelemente
• Alle Zeitschritte
ButtonB
Pr
Pr
-t+2
t+1
t
t+3
IndicatB
-
On
-
ButtonA
-
-
-
TrafLights
-
Green
-
PedLights
Stop
-
IndicatA
-
On
-
-
t+2
t+1
t
t+3
t+2
t+1
t
t+3
t+2
t+1
t
t+3
t+2
t+1
t
t+3
t+2
t+1
t
t+3
![Page 15: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/15.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Interaktionsdiagramme
• Ein Interaktionsdiagramm entspricht in unsererTerminologie eine Ablauf (Prozesssicht)
• Das Interaktiondiagramm beschreibt einen Ablauf(Beispiel) und dabei welche Nachrichten in welchenZeitintervallen auf welchen Kanälen fließen
![Page 16: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/16.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Interaktionssequenz
Sequenz: Beschreibung Teilablauf
Facility
ButtonB.Present
IndicatorA.On
IndicatorB.On
TrafLights.Green
PedLights.Stop
ButtonB.Present
ButtonB
Pr
Pr
-t+2
t+1
t
t+3
IndicatBButtonA TrafLights PedLights IndicatA
-
On
-
-
-
-
-
Green
-
Stop
-
-
On
-
-
![Page 17: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/17.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modell: Ablauf
(Syntaktische) Schnittstelle: Typisierung
• Komponentenbezeichner: K
• Kanalbezeichner: i1,...,im,o1,...,on
• Nachrichtentyp: I1,...,In,I1,...,In
(Semantische) Schnittstelle: Verhalten
• Abläufe: I1,⊥∞ × ... × Im,⊥
∞ × O1,⊥∞ × ... × On,⊥
∞
• Verhalten: B(i1,...,im,o1,...,on): B: I1,⊥
∞ × ... × Im,⊥∞ ×O1,⊥
∞ × ... × On,⊥∞ → B
![Page 18: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/18.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Zusicherungen für Kommunikationshistorien
• Die Spezifikation eines System/Komponenten- verhaltens durcheine Formel B(i1,...,im,o1,...,on) ist syntaktisch korrekt, wenn– Die Formel nur über die vorgesehen Kanäle spricht
– In der Formel die Kanalnamen für Ströme des ensprecendenDatentyps verwendet werden
• Darüber hinaus gibt es noch semantische Bedingungen– Keine Widersprüche in der Formel
– Keine Beschränkungen der Eingabe: ∀ i1,...,im. ∃ o1,...,on. B(i1,...,im,o1,...,on)
– Keine Widerspruch zur Kausalität
![Page 19: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/19.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Komposition
• Syntaktische Kompatibilität– Kanalnamen und Kanaltypen passen zusammen
![Page 20: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/20.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Controller
A
Merge
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorBA:Signal
BB:Signal
Req:Signal
Controller
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorReq:Signal
Merge
ABA:Signal
BB:Signal
Req:Signal
Konzept: Komposition
Komposition:
• Kopplung Komponenten mittels gemeinsamer Kanäle
• Komponenteninteraktion mittels Nachrichtenaustausch
![Page 21: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/21.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Verhalten von Architekturen
• In den Architekturen gibt es Interaktion zwischen denKomponenten
• Diese Interaktion kann wieder durchInteraktionsdiagramme dargestellt werden
• Die so dargestellten Beispielabläufe müssen zu demVerhalten der Komponenten passen
![Page 22: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/22.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Verteilter Ablauf
Ablauf: Signalhistorie komponiertes System
• Abläufe Komponenten
• Synchronisation gemeinsamer Kanäle
Controller
A
Merge
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorBA:Signal
BB:Signal
Req:Signal
Controller Merge
BB.Present
R eq.Present
IndA.On
IndB.On
TL.Green
PL.Stop
BB.Present
![Page 23: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/23.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Kompositionalität
Kompositionalität: Verhaltensbestimmung• Von: Verhalten Einzelkomponenten• Zu: Verhalten Gesamtsystem
Controller
A
Merge
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorBA:Signal
BB:Signal
Req:Signal
Controller Merge
BB.Present
R eq.Present
IndA.On
IndB.On
TL.Green
PL.Stop
BB.Present
![Page 24: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/24.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modell: Komposition
Komposition: K || K‘
• Schnittstelle K: i1,...,im,o1,...,on
• Schnittstelle K‘: i‘1,...,i‘m‘,o‘1,...,o‘n‘
• Synchronisation i1 = o‘1,...,ik = o‘k, i‘1 = o1,...,i‘k‘ = ok‘
• Schnittstelle K||K‘: ik+1,...,im,i‘k‘+1,...,i‘m‘,o1,...,ono‘1,...,o‘n‘)
• Verhalten K||K‘(ik+1,...,im, i‘k‘+1,...,i‘m‘,o1,...,ono‘1,...,o‘n‘) = K(i1,...,im,o1,...,on,) ∧ K‘(i‘1,...,i‘m‘,o‘1,...,o‘n‘)
• Zusätzlich: Verstecken der internen Kanäle durchExistenzquantoren
![Page 25: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/25.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Kapselung
Kapselung: Verbergen interner Struktur
• Unterkomponenten
• Interne Kanäle
Controller
A
Merge
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorBA:Signal
BB:Signal
Req:Signal
![Page 26: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/26.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Abstraktion
Abstraktion: Verbergen interne Kommunikation
• Von: Abläufe Glass-Box
• Zu: Abläufe Black Box
Controller
A
Merge
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorBA:Signal
BB:Signal
Req:Signal
Controller Merge
BB.Present
R eq.Present
IndA.On
IndB.On
TL.Green
PL.Stop
BB.Present
![Page 27: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/27.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modell: Abstraktion
Komposition: K\{i1,...,ik,o1,..., ok‘}
• Schnittstelle K: i1,...,im,o1,...,on,
• Schnittstelle K\{i1,...,ik,o1,..., ok‘}: ik+1,...,im, ok‘+1,..., on
• Verhalten K\{i1,...,ik,o1,..., ok‘}(ik+1,...,im, ok‘+1,..., on) = ∃i1,...,ik,o1,..., ok‘ . K(i1,...,im,o1,...,on)
![Page 28: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/28.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Komposition von Spezifikationen
Composed components spec
in x1: M1 , x2: M2 , ...
out y1: N1 , y2: N2 , ...
! c1, c2 , ... : P1 " ... " Pn
Systemkomposition = logisches UND
Channel Hiding = Existenzquantifikation
x2 : M
2
y1: N
1x
1: M
1
Composed
Component
P3
y2 : N
2
P4
P1
P2
c1 : T
1
Eingabekanäle Ausgabekanäle
Interne Kanäle
Einführung
Architektur-beschreibung
FormaleModellierung
Entwurf
Wieder-verwendung
Evolution
![Page 29: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/29.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Zustandsmaschinen
• Das Verhalten eines Systems/einer Komponentekann auch durch Zustandsmaschine mit Ein/Ausgabebeschrieben werden
![Page 30: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/30.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Zustandsautomat
Automat: Zustandsorientierte Verhaltensbeschreibung
• Zustand: Betriebsmodi, Variablen , Eingabe Ausgabe
• Übergang: Lese-/Schreibe-Aktion
Controller
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorReq:Signal
Local Variables ofController:Controller
Intt= -1
Signal requested
Receive request
Wait in yellow
Wait in red
Wait in redyellow
Green
Yellow
Red
RedYellow
Init
Switch to yellow
Switch to red Switch to redyellow
Switch to greeninitialize
![Page 31: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/31.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Zustand
Zustand: Beobachtung zwischen zwei Übergängen
• Ports: aktuelle Nachrichten
• Variablen: aktuelle Werte
SignalRequested
ReceiveRequest
-On-Ind-Stop-PL-Green-TL--PresentReq910-1T
GreenGreenGreenState
T
![Page 32: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/32.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Übergang
Übergang: Relation Vorzustand/Nachzustand• Vorzustand: Modus, Variablen, Input Ports• Nachzustand: Output Ports, Variablen, Modus
Receive requestGreen
(t == (-1)):Req?Present:TL!Green; PL!Stop; Ind!On:t = TGreen
GreenTGreenOnStopGreenPresent-1Green
ModustIndPLTLReqtModus
NachzustandVorzustand
![Page 33: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/33.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Ausführung
Ausführungsschritt: Lesen Vorzustand/Schreiben Nachzustand• Vorzustand: Kontrollzustand, Datenzustand, Eingabe• Nachzustand: Ausgabe, Datenzustand, Kontrollzustand
Receive requestGreen
(t == (-1)):Req?Present:TL!Green; PL!Stop; Ind!On:t = TGreen
GreenTGreenOnStopGreenPresent-1Green
StatetIndPLTLReqtState
Post-StatePre-State
T
t+2t+1t t+3
-On-Ind
-Stop-PL
-Green-TL
--PresentReq
910-1T
GreenGreenGreenState
SignalRequested
ReceiveRequest
![Page 34: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/34.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modell: Ausführung
Automat: Struktur• Zustand: S (s0 Startzustand)• Eingabe: i1,...,im• Ausgabe: o1,...,on
• Übergangsrelation: T(s,i1,...,im,o1,...,on ,s): S ×I1× ... ×Im×O1× ... ×On×S → B
Automat: Verhalten• A(s,i1,...,im,o1,...,on): S∞ × I1,⊥
∞ × ... ×Im, ⊥∞ ×O1,⊥
∞ × ... ×On,⊥
∞ → B
• A(s, i1,...,im,o1,...,on) = s.0 = s0 and o1.0 = ⊥ ∧ ... ∧ o1.0 = ⊥ ∧ ∀t. T(s.t,i1.t,...,im .t,o1 .(t+1),...,on.(t+1) ,s.(t+1))
![Page 35: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/35.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Ablauf einer Maschine
• Eine Zustandsmaschine mit Ein-/Ausgabe erzeugt– für jede Eingabehistorie
– Einen Ablauf bestehend aus• einem Strom von Zuständen
• einerAusgahistorie
![Page 36: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/36.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Konzept: Ablauf Zustandsautomat
Ablauf Zustandsautomat: Einschränkung Ausführung
• Einschränkung auf Schnittstellen
• Kapselung von Daten und Modus
Controller
A
IndA:IndSig
IndB:IndSig
TL:TrafColor
PL:PedColorReq:Signal
Local Variables ofController:Controller
Intt= -1
Signal requested
Receive request
Wait in yellow
Wait in red
Wait in redyellow
Green
Yellow
Red
RedYellow
Init
Switch to yellow
Switch to red Switch to redyellow
Switch to greeninitialize
![Page 37: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/37.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Modell: Ablauf
Automat: Ausführungsablauf• K(i1,...,im,o1,...,on): I1,⊥
∞ × ... ×Im, ⊥∞ ×O1,⊥
∞ × ... ×On,⊥
∞ → B
• K(i1,...,im,o1,...,on) = A(s,i1,...,im,o1,...,on) \ {s}
![Page 38: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/38.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Zusammenfassung
Integration von Modellen:• Abläufe (Ströme) als gemeinsames Modell• Modularer Modellbegriff
– Abläufe komponierter Komponenten aus Abläufen der einzelnenKomponenten
– Abläufe gekapselter Komponenten aus Abläufen der offenenKomponenten
– Abläufe implementierter Komponenten aus Abläufen derZustandsmaschinen der Komponenten
Modulare Integration von Systemmodellen erlaubt modulareSystementwicklung
![Page 39: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/39.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Feature model
CompositionRefinementTime
Implementation
Implementation
uses
uses
usesAbstraction
Data model: Types/sorts and characteristic functions
State transition model: States and state machines
CompositionRefinementTime
Process transition model: Events, actions and causal relations
CompositionRefinementTime
Interface model: components Input and output
CompositionRefinementTime
Abstraction
Hierarchy and architecture
Abstraction
Is sub-feature
Towards a theory of modelling: meta model
![Page 40: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/40.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Systemmodell
Ein System
• hat eine syntaktische Schnittstelle (Ein-/Ausgabekanäle)
• wird in Verhalten und/oder Struktur dargestellt– IF: durch stromverarbeitende Funktion beschrieben eine logische
Formel (Schnittstellenspezifikation)
– ZM: eine Zustandsmaschine, beschrieben durch einZustandsübergangsdiagramm
– AR: eine Architektur, beschrieben durch ein Netzwerk vonKomponenten (für die wiederum Verhaltensbeschreibungenexistieren)
– PR: durch Mengen von Abläufen, beschrieben durch eine Mengevon Interaktionsdiagrammen
![Page 41: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/41.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Übergänge zwischen Darstellungen
Zwischen jeder der Darstellungen gibt es Übergange
IF ZM AR PR
IF
ZM
AR
PR
![Page 42: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/42.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Wechsel zwischen Systemsichten
• Ist für jede Komponente einer Architektur eineZustandsmaschine gegeben, so kann die Architekturals Zustandsmaschine aufgefasst werden.
• Jede stromverarbeitende Funktion definiert eineZustandsmaschine und umgekehrt
• ...
![Page 43: Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen](https://reader030.vdocuments.pub/reader030/viewer/2022040713/5e178e583a68b9239b7d5b76/html5/thumbnails/43.jpg)
Fakultät für InformatikLehrstuhl IV: Software & Systems Engineering
Beispiel für ein Verträglichkeitseigenschaft ...
Sei
• Abs die Schnittstellenabstraktion fürZustandsmaschinen
• II die Komposition auf Zustandsmaschinen
• ⊗ die Komposition für Schnittstellen
Abs((Δ1, σ1) || (Δ2, σ2) ) =
Abs((Δ1, σ1)) ⊗ Abs((Δ2, σ2))