Software Architektur-Modelle Vorlesung Software Architektur-Modelle Konsistenz & Semantik 2 Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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) 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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? 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Rückblick: Soll-Software Architektur p Leihverkehri p Leihverkehrj VPN 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Rückblick: Protokollrolle „Leihverkehr“ Leihverkehri p Leihverkehrj VPN Protokollrolle 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Rückblick: Verhalten des Konnektors p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor Verzögerung, aber kein Verlust & Vertauschungen o.ä. 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Erwünschte Eigenschaft: Normalfall interne („unsichtbare“) Aktionen 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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. 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 1: Gilt die erwünschte Eigenschaft? p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 ? 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 1: Gilt die erwünschte Eigenschaft? p Leihverkehri p Leihverkehrj VPN Protokollrolle process idle wait receive _query _answer send prepare internal Konnektor 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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}? 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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? 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
PN-Semantik von ActivityGraph ActivityGraph Petrinetz Transition Transition ActionState „normal“ Transition Send Transition Receive Transition State „normal“ Platz InitialState Markierung FinalState Markierung ObjectFlowState Platz 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 1, zweiter Anlauf: Gilt die erwünschte Eigenschaft? send receive use process prepare send receive use process prepare get put 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 1, zweiter Anlauf: Gilt die erwünschte Eigenschaft? receive process prepare send use get receive process prepare send use put put get 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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? 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 2a: Gelten die unerwünschten Eigenschaften? Ausfall von LV-Partnern p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 2b: Gelten die unerwünschten Eigenschaften? Leitungszusammenbruch p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenz 2b: Gelten die unerwünschten Eigenschaften? Falscher Adressat: Verklemmung p Leihverkehri p Leihverkehrj VPN Protokollrolle Konnektor 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 15504 (SPICE), ISO 12207, und CMM. Lesen Sie die Literatur, die teilweise schon im Netz hängt, und bis Freitag vollständig sein wird 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle
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 11.12.2001 Konsistenz & Semantik 2 VL Software Architektur-Modelle ã Dr. Harald Störrle