43
Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen Integration von Modellsichten am Beispiel von AutoFocus Prof. Dr. Dr. h.c. Manfred Broy Gemeinsam mit Dr. Bernhard Schätz Fakultät für Informatik, TU München SS 2007

Modellbildung in der Entwicklung mit Schwerpunkt ... · Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Modellbildung in der Entwicklung mit Schwerpunkt Architekturen

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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))