Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ringvorlesung Einführung in das Graduiertenkolleg (INF 3)

Ähnliche Präsentationen


Präsentation zum Thema: "Ringvorlesung Einführung in das Graduiertenkolleg (INF 3)"—  Präsentation transkript:

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


Herunterladen ppt "Ringvorlesung Einführung in das Graduiertenkolleg (INF 3)"

Ähnliche Präsentationen


Google-Anzeigen