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 02.11. Einführung in das Graduiertenkolleg (INF 3) 09.11. Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Graph. Verfahren (INF 2) 16.11., 23.11. Aufgaben und Auswirkungen der Konstruktion in der Produktentwicklung (KTmfk) 30.11. Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Math. Methoden (INF 2) 07.12., 14.12. Gestaltungsspielräume beim Entwurf von Betriebssystemen (INF 4) 21.12., 11.01. Entwurf und Planung von Rechnernetzen und Kommunikationssystemen (INF 7) 18.01., 25.01. Entwurfssicherheit und Verläßlichkeitsbewertung (INF 3) 01.02., 08.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) 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 2 1 1 1 2 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 2 1 1 1 2

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 2 1 1 1 2

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 2 1 1 1 2 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 2 1 1 1 2

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 2 1 1 1 2

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 2 1 1 1 2

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