Vorlesung Software Architektur-Modelle Konsistenz & Semantik 1 Dr. Harald Störrle Ludwig-Maximilians-Universität München Wintersemester 2001 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 1 7 Organisatorisches · Termin am 18.12. fällt aus · Gastvortrag über S/390 („Host“) wird auf 8.1.2002 verschoben 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 2 7 Aufgaben der letzten Vorlesungen · Finden Sie weitere Konsistenzbedingungen für Modelle. • • • • • Was leisten diese Bedingungen? Unter welchen Bedingungen gelten sie? Wie sind sie operationalisierbar? Sind sie gar maschinell überprüfbar? Wenn ja, wie? Skizzieren Sie Anforderungen an ein Werkzeug, bzw. an den verwendeten Formalismus. · Leiten Sie die Details weiterer Schnittstellen ab! · Was ist wichtiger: • Die vielen kleinen (syntaktischen) Fehler? • Oder die wenigen großen (semantischen) Fehler? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 3 7 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) 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 4 7 Überlappung von Modellen Übergänge - - - x x - - (x) x x x - - (x) x x x (x) - (x) x x x (x) - - x - x (x) x x - - - x x x x - - - - - Struktur Vision Domäne Verwaltung Plattform Funktionalität Schnittstellen Verhalten Impl. & Test Ebene 5 x - - - 4 x - - 3 x - 2 x 1 0 Beziehung zwischen Sichten zweier Ebenen (aufgehängt an Struktur) z.B. Konsistenz Beziehung zwischen Sichten zweier Ebenen (aufgehängt an Struktur) z.B. Konsistenz 4.12.2001 Konsistenz & Semantik 1 Qulitätsmerkmale einer Sicht Sicht VL Software Architektur-Modelle Dr. Harald Störrle Dies ist nur ein (typisches) Beispiel. Prinzipiell sind beliebige Sichten möglich. 5 7 Operationalisierung der Gütekriterien Das ultimative Maß für Operationalisierung ist die Programmierung. Also, die Nagelprobe: könnte man die „Gütekriterien“ vom letzten Mal „in Code gießen“? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 6 7 Operationalisierung der Gütekriterien „Gütekriterien“ Diagramm schön , einfach, übersichtlich informell formal Richtgrößen „Stellschrauben“ Abstraktion (Anzahl Elemente) Gestaltung (Layout, Farbe,...) 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 72, Papierfaktor empfohlene Farbkombinationen 7 7 Operationalisierung der Eigenschaft „Konsistenz“ Konsistenz... ...zwischen Sichten und innerhalb von Sichten · Sichten bestehen aus (Mengen von) Diagrammen (und semi-formalem Text). · Es geht also um Konsistenz zwischen (Mengen von) Diagrammen. Aber welche? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 8 7 Konsistenzen in verschiedene Sichten 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 9 7 Konsistenzen in verschiedene Sichten 1) Schnittstellen Schnittstellen Port_LV-LV Port_LV-Bib Passen Rollen und Tabellen zusammen? Zum Bibliothekar raus Vom Bibliothekar Terminieren die Rollen? Verklemmen die Rollen? Können sie beliebig lang laufen? 4.12.2001 Konsistenz & Semantik 1 Zur Bestandsverwaltung rein raus rein beauskunfte(Sigatur) Bestandsstatus Von der Bestandsverwaltung rein raus rein raus beauskunfte(Signatur) Bestandsdaten beauskunfte(Signatur) Leihstatus bestellen(Leser) Meldung abbrechen - VL Software Architektur-Modelle Dr. Harald Störrle 10 7 Konsistenzen in verschiedene Sichten 2) Struktur Struktur Protokoll Passen Ports von benachbarten Einheiten zueinander? Passen verbundene Ports zum Protokoll des Konnektors? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 11 7 Konsistenzen in verschiedene Sichten 3) Verhalten Verhalten Passen die Abläufe zum generischen Verhalten? Terminieren oder verklemmt das Verhalten? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 12 7 Konsistenzen in verschiedene Sichten Allgemein gefragt · Allgemein gefragt: • Passen die Elemente jeder Sicht zueinander? • Passen die Sichten einer Einheit zueinander? · Diese Elemente sind immer wieder Automaten und Interaktionsdiagramme. · Daher stellen sich immer wieder die gleichen Fragen: • Sind zwei Automaten gleich? • Terminiert/verklemmt/divergiert ein Automat? • Ist ein Interaktionsdiagramm ein Ablauf eines Automaten? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 13 7 Operationalisierung allgemein Eigenschaft von (Menge von) Diagramm(en) Diagramm (konkrete Syntax) informell Eigenschaft von formalem Objekt semantische Domäne 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle formal 14 7 Beispiel 1: einfacher Zustandsautomat 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 15 7 Beispiel 2: Zustandsautomat mit Anschriften 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 16 7 Beispiele 3 & 4: hierarchische Zustandsautomaten 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 17 7 Beispiel 5: einfacher ActivityGraph Hier dargestellt: Protokollrolle „Leihverkehr“ 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 18 7 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 19 7 Beispiel 4: Kommunikation zweier LV-Systeme 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 20 7 Rückblick: Soll-Software Architektur Sachbearbeiter-PC Filiale Bestandsführungs GUI Leserverwaltung Leihverkehr GUI GUI Logik Logik DB/2 DB/2 IBM S/390 Zentrale Bestandsführung Andere Filialen DB/2 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 21 7 Beispiel 4: ...es sind aber beliebig viele... 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 22 7 Beispiel 4 korrigiert Beobachtung: es können mehr als zwei Leihverkehrssysteme gleichzeitig aktiv sein Es können verschiedene Antworten & Anfragen unterwegs sein 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 23 7 Funktioniert das?! · Werden Nachrichten durch Empfang konsumiert? (d.h: existieren sie nur genau einmal?) · Könnte eine Kanaleigenschaft sein · Was sagt die Definition von ActivityGraph im UML Standard? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 24 7 Aufgaben · Finden Sie es heraus! • Lesen Sie im Standard nach, wie Ereignisse abgearbeitet werden! • Was bedeutet das für den Fall des Leihverkehrssystems? · Formalisieren Sie die Protokollrolle des Leihverkehr-Ports zum Bibliothekar. • Finden Sie den Automaten! • Übersetzen Sie ihn! Hat er interessante Eigenschaften? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 25 7 Literatur zu Semantiken Bernd Baumgarten „Petrinetze. Grundlagen und Anwendungen“ Spektrum-Verlag, 2. Aufl., 1996 Robin Milner „Communication and Concurrency“ Prentice-Hall, 1989 Clive Fencott „Formal Methods for Concurrency“ Thomson, 1996 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle Dr. Harald Störrle 26 7