Software Architektur-Modelle 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
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
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
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
Überlappung von Modellen Übergänge Beziehung zwischen Sichten zweier Ebenen (aufgehängt an Struktur) z.B. Konsistenz Qulitätsmerkmale einer Sicht Ebene Sicht Dies ist nur ein (typisches) Beispiel. Prinzipiell sind beliebige Sichten möglich. 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Operationalisierung der Gütekriterien Das ultimative Maß für Operation-alisierung 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
Operationalisierung der Gütekriterien Diagramm „Gütekriterien“ schön , einfach, übersichtlich informell formal Richtgrößen 72, Papierfaktor empfohlene Farbkombinationen „Stellschrauben“ Abstraktion (Anzahl Elemente) Gestaltung (Layout, Farbe,...) 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Operationalisierung der Eigenschaft „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
Konsistenzen in verschiedene Sichten 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenzen in verschiedene Sichten 1) Schnittstellen Port_LV-LV Port_LV-Bib Passen Rollen und Tabellen zusammen? Terminieren die Rollen? Verklemmen die Rollen? Können sie beliebig lang laufen? 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Konsistenzen in verschiedene Sichten 2) 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
Konsistenzen in verschiedene Sichten 3) 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
Konsistenzen in verschiedene Sichten 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
Operationalisierung allgemein Eigenschaft von (Menge von) Diagramm(en) Diagramm (konkrete Syntax) informell formal Eigenschaft von formalem Objekt semantische Domäne 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiel 1: einfacher Zustandsautomat 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiel 2: Zustandsautomat mit Anschriften 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiele 3 & 4: hierarchische Zustandsautomaten 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiel 5: einfacher ActivityGraph Hier dargestellt: Protokollrolle „Leihverkehr“ 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
ã Dr. Harald Störrle 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiel 4: Kommunikation zweier LV-Systeme 4.12.2001 Konsistenz & Semantik 1 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 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Beispiel 4: ...es sind aber beliebig viele... 4.12.2001 Konsistenz & Semantik 1 VL Software Architektur-Modelle ã Dr. Harald Störrle
Es können verschiedene 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
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
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
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