VL07-Konsistenz1 - Programmierung und Softwaretechnik (PST)

Werbung
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
72, 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
Herunterladen