Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ringvorlesung 02.11. Einführung in das Graduiertenkolleg (INF 3) 09.11. Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Graph.

Ähnliche Präsentationen


Präsentation zum Thema: "Ringvorlesung 02.11. Einführung in das Graduiertenkolleg (INF 3) 09.11. Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Graph."—  Präsentation transkript:

1 Ringvorlesung Einführung in das Graduiertenkolleg (INF 3) Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Graph. Verfahren (INF 2) , Aufgaben und Auswirkungen der Konstruktion in der Produktentwicklung (KTmfk) Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Math. Methoden (INF 2) , Gestaltungsspielräume beim Entwurf von Betriebssystemen (INF 4) , Entwurf und Planung von Rechnernetzen und Kommunikationssystemen (INF 7) , Entwurfssicherheit und Verläßlichkeitsbewertung (INF 3) , 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) System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration Requirements analysis System design Coding Benutzer- Schnittstelle Daten- modell Funktionen- modell

4 Software-Projektmodell (nach Denert) System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration Requirements analysis System design Coding Modulari- sierung Datenbasis- entwurf Prozeß- organisation

5 Software-Projektmodell (nach Denert) System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration Requirements analysis System design Coding Modul- spezifikation Modul-- konstruktion Modul- test

6 Software-Projektmodell (nach Denert) System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration Requirements analysis System design Coding Subsystem- definition Subsystem- test System- test

7 System-Spezifikation n Modellierung mit u Petri-Netzen u Statecharts

8 Modellierung mit Petri-Netzen n Multitechnologiesysteme u verschiedene, kooperierende Teilsysteme u Spezifikation auf abstraktem Niveau u Simulation, Analyse und Optimierung schon in der frühen Phase n Petri-Netze (C.A. Petri) u abstraktes Beschreibungsmittel u einfach, modular, anschaulich (graphischer Entwurf) u Nebenläufigkeit, Sequenzen, Synchronisation gut darstellbar

9 Petri-Netze: Idee n Modellierung auf abstraktem Niveau u Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph u Identifikation von Teilsystemen mit Stellen u Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1 1 1

10 Petri-Netze: Idee n Modellierung auf abstraktem Niveau u Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph u Identifikation von Teilsystemen mit Stellen u Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1 1 1

11 Petri-Netze: Idee n Modellierung auf abstraktem Niveau u Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph u Identifikation von Teilsystemen mit Stellen u Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1 1 1

12 Petri-Netze: Idee n Nebenläufigkeit u Mehrfachkanten ~ parallel ablaufende Prozesse u Übergangsbedingungen ~ Synchronisation der Teilsysteme n Analyse des Prozeßzustands u Markierung der Knoten ~ Modellierung versch. Zustände

13 Petri-Netze: Formale Definition Petri-Netz PN=(P,T,I,O,m) n P: Stellen (Plätze) n 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) n t aktiviert mit Markierung m  Feuern  neue Markierung m‘ mit:  p  P: m‘(p) = m(p)+O(p,t)-I(p,t) P2P2 I(P 1,T) I(P 2,T) O(P 3,T) P1P1 P3P3 T Aktiv

15 Petri-Netze: Formale Definition Transition t  T aktiviert   p  P: m(p)  I(p,t) n t aktiviert mit Markierung m  Feuern  neue Markierung m‘ mit:  p  P: m‘(p) = m(p)+O(p,t)-I(p,t) P2P2 I(P 1,T) I(P 2,T) O(P 3,T) P1P1 P3P3 T

16 Petri-Netze: Formale Definition Transition t  T aktiviert   p  P: m(p)  I(p,t) n t aktiviert mit Markierung m  Feuern  neue Markierung m‘ mit:  p  P: m‘(p) = m(p)+O(p,t)-I(p,t) P2P2 I(P 1,T) I(P 2,T) O(P 3,T) P1P1 P3P3 T

17 Petri-Netze: Abbildung realer Objekte n Keine Vorgabe durch formale Definition n Plätze: oft Zustand, Position, Materialien,... Markenfuß  Daten-, Kontroll-, Materialfluß n 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 „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK

19 Petri-Netze: Aufzugsteuerung EKEK „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK

20 Petri-Netze: Aufzugsteuerung „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

21 Petri-Netze: Aufzugsteuerung „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

22 Petri-Netze: Aufzugsteuerung „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

23 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

24 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

25 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

26 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

27 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

28 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

29 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

30 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

31 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

32 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

33 Petri-Netze: Aufzugsteuerung Start „Ab“ „Auf“ Keller (K) Erdge- schoß (E) KEKE EKEK EKEK

34 Petri-Netze: zu primitiv! n Bei komplexen Spezifikationen/Modellierungen: große Graphen  Netze unübersichtlich n Zeitabhängigkeiten schwer modellierbar n keine Unterscheidung zwischen u Flußkontrolle, Nutzdaten, Material u verschiedenen Material-, Nutzdatentypen n keine inhibitorischen Kanten

35 Petri-Netze: w-Funktionen w T : T  Expr Bool Zusätzliche Schaltbedingung: Transition t kann nur aktiv sein, wenn w T (t) erfüllt ist w P : P  Var Bool  v  Var Bool : (v = true   p  P: (w P (p) = v  m(p) > 0))

36 Petri-Netze & Zeit: TPN n Jeder Transaktion wird eine Zeitfunktion zugewiesen n Zeitfunktion deterministisch oder stochastisch (~SPN) n Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt n Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht

37 Petri-Netze & Zeit: TPN n Jeder Transaktion wird eine Zeitfunktion zugewiesen n Zeitfunktion deterministisch oder stochastisch (~SPN) n Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt n Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht

38 Petri-Netze & Zeit: TPN n Jeder Transaktion wird eine Zeitfunktion zugewiesen n Zeitfunktion deterministisch oder stochastisch (~SPN) n Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt n Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht

39 Petri-Netze & Zeit: TPN n Jeder Transaktion wird eine Zeitfunktion zugewiesen n Zeitfunktion deterministisch oder stochastisch (~SPN) n Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt n Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht

40 Petri-Netze: gefärbte Netze (CPN) n Gefärbte/attributierte Marken n Farbkonvertierungsfunktion an den Kanten n z.B. Teile in verschiedenen Bearbeitungszuständen oder verschiedenen Orten modellierbar n neu: Farbkonflikt „normales“ Petri-Netz: ? ? gefärbtes Petri-Netz:

41 n „Normales“ Petri-Netz: n Gefärbtes Petri-Netz Petri-Netze: gefärbte Netze (CPN) Waschen Fertig 1 Marke  {1,2} Marke = 3 Fertig incr Waschen

42 Petri-Netze: sonstiges n Inhibitorkanten n Informations-Transitions-Netze (ITN) u schwarze Plätze: üblicher Kontrollfluß/Prozeßablauf u weiße Plätze: Fluß interner Datenobjekte u zusätzliche Gewichte für Informationsverarbeitung und Schaltbedingungen n...

43 Statecharts n 1987 von D. Harel als visuelle Spezifikationssprache für reaktive Systeme eingeführt n Semantik erstmals 1996 definiert („Statemate-Semantik“) n Erweiterung konventioneller Zustandsdiagramme: u Hierarchisierung u Kommunikationsmechanismen StandBy off/{} on/{} txt/{} Normal Videotext txt/{} Mute SoundOn mute/{}sound/{} ImageSound On

44 Statecharts: Zustände n Startzustände n einfache Zustände (basic states) n Oder-Zustände (or-states) n Und-Zustände (and-states)

45 Statecharts: Zustände n History-Zustände StandBy standby/{} 1/{} Kanal 1 Kanal 2 2/{} On 1/{} 2/{} Off off/{} on/{} H off/{}

46 Statecharts: Transitionen n Transitionen zwischen unterschiedlichen Hierarchiestufen erlaubt:

47 Statecharts: Transitionen n Transitionen sind beschriftet mit Ereignis [Bedingung] / Aktion n Ereignis: Signal für 1 Zeitschritt n Bedingung: boolesches Prädikat n Aktion: Erzeugung anderer Ereignisse Aber wann??? I-Feedback D-Feedback M-Feedback

48 Zusammenfassung n Graphische Verfahren sind nicht unbedingt anschaulich n Formale Fundiertheit ist keine Voraussetzung für (wirtschaftlichen) Erfolg n Petri-Netze: + einfache Struktur - unübersichtlich für nichttriviale Beispiele n Statecharts: + Hierarchie vermeidet Zustandsexplosion - Ereignisse sind Broadcast-Ereignisse


Herunterladen ppt "Ringvorlesung 02.11. Einführung in das Graduiertenkolleg (INF 3) 09.11. Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Graph."

Ähnliche Präsentationen


Google-Anzeigen