Präsentation herunterladen
Veröffentlicht von:Renate Heinrich Geändert vor über 8 Jahren
1
Ringvorlesung 02.11. Einführung in das Graduiertenkolleg (INF 3)
Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Graph. Verfahren (INF 2) 16.11., Aufgaben und Auswirkungen der Konstruktion in der Produktentwicklung (KTmfk) Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Math. Methoden (INF 2) 07.12., Gestaltungsspielräume beim Entwurf von Betriebssystemen (INF 4) 21.12., Entwurf und Planung von Rechnernetzen und Kommunikationssystemen (INF 7) 18.01., Entwurfssicherheit und Verläßlichkeitsbewertung (INF 3) 01.02., Entwurf verläßlicher Systeme aus der Sicht des IC-Entwurfs (LRS)
2
Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs Graphische Verfahren
Mark Minas
3
Software-Projektmodell (nach Denert)
Benutzer- Schnittstelle Daten- modell Funktionen- Requirements analysis System design Coding System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration
4
Software-Projektmodell (nach Denert)
Modulari- sierung Datenbasis- entwurf Prozeß- organisation Requirements analysis System design Coding System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration
5
Software-Projektmodell (nach Denert)
Requirements analysis System design Coding System-Spezifikation Modul- spezifikation Modul-- konstruktion test System-Konstruktion Modul-Programmierung System-Integration
6
Software-Projektmodell (nach Denert)
Requirements analysis System design Coding System-Spezifikation Subsystem- definition test System- System-Konstruktion Modul-Programmierung System-Integration
7
System-Spezifikation
Modellierung mit Petri-Netzen Statecharts
8
Modellierung mit Petri-Netzen
Multitechnologiesysteme verschiedene, kooperierende Teilsysteme Spezifikation auf abstraktem Niveau Simulation, Analyse und Optimierung schon in der frühen Phase Petri-Netze (C.A. Petri) abstraktes Beschreibungsmittel einfach, modular, anschaulich (graphischer Entwurf) Nebenläufigkeit, Sequenzen, Synchronisation gut darstellbar
9
Petri-Netze: Idee Modellierung auf abstraktem Niveau
Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph Identifikation von Teilsystemen mit Stellen Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1
10
Petri-Netze: Idee Modellierung auf abstraktem Niveau
Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph Identifikation von Teilsystemen mit Stellen Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1
11
Petri-Netze: Idee Modellierung auf abstraktem Niveau
Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph Identifikation von Teilsystemen mit Stellen Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1
12
Petri-Netze: Idee Nebenläufigkeit Analyse des Prozeßzustands
Mehrfachkanten ~ parallel ablaufende Prozesse Übergangsbedingungen ~ Synchronisation der Teilsysteme Analyse des Prozeßzustands Markierung der Knoten ~ Modellierung versch. Zustände
13
Petri-Netze: Formale Definition
Petri-Netz PN=(P,T,I,O,m) P: Stellen (Plätze) T: Transitionen (endliche Mengen!) PÈT ¹ Æ PÇT = Æ I: P´T ® N: Eingabefunktion (Kantengewichte) O: P´T ® N: Ausgabefunktion (Kantengewichte) m: P ® N: Markierungsvektor (#Marken pro Stelle)
14
Petri-Netze: Formale Definition
Transition tÎT aktiviert Û "pÎP: m(p) ³ I(p,t) t aktiviert mit Markierung m Þ Feuern Þ neue Markierung m‘ mit: "pÎP: m‘(p) = m(p)+O(p,t)-I(p,t) 2 1 P2 I(P1,T) I(P2,T) O(P3,T) P1 P3 T Aktiv
15
Petri-Netze: Formale Definition
Transition tÎT aktiviert Û "pÎP: m(p) ³ I(p,t) t aktiviert mit Markierung m Þ Feuern Þ neue Markierung m‘ mit: "pÎP: m‘(p) = m(p)+O(p,t)-I(p,t) P2 I(P1,T) I(P2,T) O(P3,T) P1 P3 T 1 2 1 1 2
16
Petri-Netze: Formale Definition
Transition tÎT aktiviert Û "pÎP: m(p) ³ I(p,t) t aktiviert mit Markierung m Þ Feuern Þ neue Markierung m‘ mit: "pÎP: m‘(p) = m(p)+O(p,t)-I(p,t) P2 I(P1,T) I(P2,T) O(P3,T) P1 P3 T 1 2 1 1 2
17
Petri-Netze: Abbildung realer Objekte
Keine Vorgabe durch formale Definition Plätze: oft Zustand, Position, Materialien, ... Markenfuß « Daten-, Kontroll-, Materialfluß hilfreich: Festlegung verschiedener Platz- und Transitionsklassen Þ Restriktionen und Verifikationsmöglichkeiten (z.B. „Transporttransition“ erlaubt keine Änderung der Markenzahl, „Pufferstelle“ kann bis zu N Marken enthalten)
18
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K „Auf“ Keller (K)
19
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)
20
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)
21
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)
22
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)
23
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
24
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
25
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
26
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
27
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
28
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
29
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
30
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
31
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
32
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
33
Petri-Netze: Aufzugsteuerung
Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)
34
Petri-Netze: zu primitiv!
Bei komplexen Spezifikationen/Modellierungen: große Graphen Þ Netze unübersichtlich Zeitabhängigkeiten schwer modellierbar keine Unterscheidung zwischen Flußkontrolle, Nutzdaten, Material verschiedenen Material-, Nutzdatentypen keine inhibitorischen Kanten
35
Petri-Netze: w-Funktionen
wT: T ® ExprBool Zusätzliche Schaltbedingung: Transition t kann nur aktiv sein, wenn wT (t) erfüllt ist wP: P ® VarBool "vÎVarBool: (v = true Û $pÎP: (wP(p) = v Ù m(p) > 0))
36
Petri-Netze & Zeit: TPN
Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 2 1
37
Petri-Netze & Zeit: TPN
Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 1 2 1 1 2
38
Petri-Netze & Zeit: TPN
Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 1 2 1 1 2
39
Petri-Netze & Zeit: TPN
Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 1 2 1 1 2
40
Petri-Netze: gefärbte Netze (CPN)
Gefärbte/attributierte Marken Farbkonvertierungsfunktion an den Kanten z.B. Teile in verschiedenen Bearbeitungszuständen oder verschiedenen Orten modellierbar neu: Farbkonflikt „normales“ Petri-Netz: gefärbtes Petri-Netz: ? ?
41
Petri-Netze: gefärbte Netze (CPN)
„Normales“ Petri-Netz: Gefärbtes Petri-Netz Waschen Fertig 1 Marke Î {1,2} Marke = 3 Fertig incr Waschen
42
Petri-Netze: sonstiges
Inhibitorkanten Informations-Transitions-Netze (ITN) schwarze Plätze: üblicher Kontrollfluß/Prozeßablauf weiße Plätze: Fluß interner Datenobjekte zusätzliche Gewichte für Informationsverarbeitung und Schaltbedingungen ...
43
Statecharts 1987 von D. Harel als visuelle Spezifikationssprache für reaktive Systeme eingeführt Semantik erstmals 1996 definiert („Statemate-Semantik“) Erweiterung konventioneller Zustandsdiagramme: Hierarchisierung Kommunikationsmechanismen On Mute SoundOn mute/{} sound/{} Image Sound txt/{} Normal Videotext off/{} on/{} StandBy
44
Statecharts: Zustände
Startzustände einfache Zustände (basic states) Oder-Zustände (or-states) Und-Zustände (and-states)
45
Statecharts: Zustände
History-Zustände On 1/{} Kanal 1 on/{} H 2/{} 1/{} Kanal 2 2/{} off/{} on/{} standby/{} Off StandBy off/{}
46
Statecharts: Transitionen
Transitionen zwischen unterschiedlichen Hierarchiestufen erlaubt:
47
Statecharts: Transitionen
Transitionen sind beschriftet mit Ereignis [Bedingung] / Aktion Ereignis: Signal für 1 Zeitschritt Bedingung: boolesches Prädikat Aktion: Erzeugung anderer Ereignisse Aber wann??? I-Feedback D-Feedback M-Feedback
48
Zusammenfassung Graphische Verfahren sind nicht unbedingt anschaulich
Formale Fundiertheit ist keine Voraussetzung für (wirtschaftlichen) Erfolg Petri-Netze: + einfache Struktur - unübersichtlich für nichttriviale Beispiele Statecharts: + Hierarchie vermeidet Zustandsexplosion - Ereignisse sind Broadcast-Ereignisse
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.