Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software Architektur-Modelle

Ähnliche Präsentationen


Präsentation zum Thema: "Software Architektur-Modelle"—  Präsentation transkript:

1 Software Architektur-Modelle
Vorlesung Software Architektur-Modelle Konsistenz & Semantik 2 Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

2 Gliederung für heute und nächstes Mal
Konsistenz-Überprüfung von Modellen Formalisierung von Modellen Sprachen, Transitionssysteme, Partielle Worte Petrinetze Semantiken (StateMachine, ActivityGraph, Interaction) Formalisierung von Eigenschaften Verklemmung, Termination, Sicherheit,... informelle Konsistenzbedingungen Validation durch Rezension/Begehung (Review/Walkthrough) Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

3 Rückblick: Was hatten wir letzes Mal erreicht
Basisdefinitionen ETS, Ablauf, einige elementare Eigenschaften Sprachsemantik, Sprachäquivalenz Erste Elemente einer formalen Semantik flache Zustandsautomaten Anschriften? hierarchische Automaten? Nebenläufigkeit? Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

4 Rückblick: Soll-Software Architektur
Sachbearbeiter-PC Bestands- führungs GUI Leserverwaltung Leihverkehr Filiale GUI GUI Logik Logik DB/2 DB/2 IBM S/390 Andere Filialen Bestands- führung Zentrale DB/2 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

5 Rückblick: Soll-Software Architektur
Sachbearbeiter-PC Bestands- führungs GUI Leserverwaltung Leihverkehr Filiale GUI GUI Logik Logik DB/2 DB/2 IBM S/390 Andere Filialen Bestands- führung Zentrale DB/2 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

6 Rückblick: Soll-Software Architektur
Sachbearbeiter-PC Bestands- führungs GUI Leserverwaltung Leihverkehr DB/2 GUI Logik Filiale GUI Logik DB/2 Andere Filialen IBM S/390 Leihverkehr DB/2 GUI Logik Bestands- führung Zentrale DB/2 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

7 Rückblick: Soll-Software Architektur
p Leihverkehri p Leihverkehrj VPN Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

8 Rückblick: Protokollrolle „Leihverkehr“
Leihverkehri p Leihverkehrj VPN Protokollrolle Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

9 Rückblick: Verhalten des Konnektors
p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor Verzögerung, aber kein Verlust & Vertauschungen o.ä. Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

10 Erwünschte Eigenschaft: Normalfall
interne („unsichtbare“) Aktionen Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

11 Erwünschte Eigenschaft: Äquivalent zum Normalfall?
„Äquivalent“ kann (im Moment) nur heißen: Sprachäquivalent unter einem gegebenen . Die Antwort ist dann: Ja, wenn  gerade die Menge der internen Aktionen ist. Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

12 Konsistenz 1: Gilt die erwünschte Eigenschaft?
p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

13 ETS-Semantik von ActivityGraph
ActivityGraph ETS Transition Element der Übergangsrelation ActionState „normal“ Zustand Send wie Transition Receive wie Transition State InitialState Zustand FinalState Zustand ObjectFlowState ? Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

14 Konsistenz 1: Gilt die erwünschte Eigenschaft?
p Leihverkehri p Leihverkehrj VPN Protokollrolle process idle wait receive _query _answer send prepare internal Konnektor Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

15 Konsistenz 1: Gilt die erwünschte Eigenschaft?
p Leihverkehri p Leihverkehrj VPN Protokollrolle process idle wait receive _query _answer send prepare internal Konnektor receive_answer empty answer send _answer send _query query empty receive_query Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

16 Konsistenz 1: Gilt die erwünschte Eigenschaft?
p Leihverkehri p Leihverkehrj VPN Protokollrolle process idle wait receive _query _answer send prepare internal P = {send_query .receive_query .send_answer .receive_answer} Konnektor receive_answer empty answer send _answer send _query query empty receive_query Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

17 Konsistenz 1: Gilt die erwünschte Eigenschaft?
Leihverkehri Connector Leihverkehrj process idle wait receive _query _answer send prepare internal process idle wait receive _query _answer send prepare internal empty query answer P = {send_query .receive_query .send_answer .receive_answer} Frage: Gilt P  L(PR  K  PR), mit  = {internal}? Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

18 Parallel-Schaltung führt zum Produktautomaten
process idle wait receive _query _answer send prepare internal process idle wait receive _query _answer send prepare internal empty query answer Schlimmstenfalls 5n*4 Zustände, also... ...bei 3 Teilnehmern 500 Zustände ...bei 4 Teilnehmern 3000 Zustände Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

19 Innehalten: Ist das die Lösung?
ETSe sind als Semantische Domäne recht unhandlich: 1: hierarchische Zustände 2: Anschriften 1: State-Space-Explosion Das Modell (hier: Aktivitätsdiagramm) wächst linear, aber sein Zustandsraum (das korrespondierende ETS) wächst polynomiell oder gar exponentiell. 2: Validität („Semantical gap“) Es ist ein großer (und damit für den Nutzer nicht nachvollziehbarer) Schritt vom Modell zu seiner Semantik: ist die Semantik überhaupt valide? Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

20 Problem 1: „State Space Explosion“
Dieses Problem hat vor allem zwei Ursachen: a) Nebenläufigkeit Lösung: Formalismen, die Nebenläufigkeit kaschieren, und die symbolische Operationen erlauben (Bisimulationsbeweise, Netzreduktionen u.ä.) Clevere Algorithmik (BDDs) - Brute Force hilft nicht viel... b) Daten Bildung von Äquivalenzklassen von Parametern Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

21 Problem 2: Validität Wird durch abstraktere Formalismen nebenher erledigt Repräsentation von Nebenläufigkeit bzw. Komposition symbolisch Parallele Komposition bei CCS PO-Semantik bei Petrinetze Repräsentation von Daten durch komplexe Anschriften value passing CCS High-level Petrinetze PN Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

22 PN-Semantik von ActivityGraph
ActivityGraph Petrinetz Transition Transition ActionState „normal“ Transition Send Transition Receive Transition State „normal“ Platz InitialState Markierung FinalState Markierung ObjectFlowState Platz Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

23 Konsistenz 1, zweiter Anlauf: Gilt die erwünschte Eigenschaft?
p Leihverkehri p Leihverkehrj Protokollrolle VPN send receive use process prepare P = {send_query .receive_query .send_answer .receive_answer} Konnektor get put Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

24 Konsistenz 1, zweiter Anlauf: Gilt die erwünschte Eigenschaft?
send receive use process prepare send receive use process prepare get put Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

25 Konsistenz 1, zweiter Anlauf: Gilt die erwünschte Eigenschaft?
receive process prepare send use get receive process prepare send use put put get Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

26 Konsistenz 1, zweiter Anlauf: Gilt die erwünschte Eigenschaft?
receive process prepare send use get receive process prepare send use put put get A und symmetrisch für die andere Richtung 1) Vervollständigen 2) Anfangs- & Endmarkierungen 3) Markenspiel durchführen 4) Bezug zum AD herstellen 5) Ist die Semantik korrekt? Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

27 Konsistenz 2a: Gelten die unerwünschten Eigenschaften?
Ausfall von LV-Partnern p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

28 Konsistenz 2b: Gelten die unerwünschten Eigenschaften?
Leitungszusammenbruch p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

29 Konsistenz 2b: Gelten die unerwünschten Eigenschaften?
Falscher Adressat: Verklemmung p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

30 Vorschau Im neuen Jahr: S/390 („Host“) noch einen Termin mit „Theorie“
Vergleich mit C/S-Architekturen noch einen Termin mit „Theorie“ Nebenläufigkeit, Last/Leistung Rest des Semesters: Software-Prozeß die „andere Seite“ der Architektur Vorbereiten: Suchen Sie im Netz nach ISO (SPICE), ISO 12207, und CMM. Lesen Sie die Literatur, die teilweise schon im Netz hängt, und bis Freitag vollständig sein wird Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle

31 Bringen Sie noch andere mit: die Themen Prozeß und Host
Schöne Weihnachten! Guten Rutsch! Kommen Sie wieder! Bringen Sie noch andere mit: die Themen Prozeß und Host sind von den bisherigen Inhalten nahezu vollständig unabhängig Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle


Herunterladen ppt "Software Architektur-Modelle"

Ähnliche Präsentationen


Google-Anzeigen