Ringvorlesung 02.11. Einführung in das Graduiertenkolleg (INF 3) 09.11. Spezifikationsverfahren in...

48
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)

Transcript of Ringvorlesung 02.11. Einführung in das Graduiertenkolleg (INF 3) 09.11. Spezifikationsverfahren in...

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

Ringvorlesung02.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)

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

Spezifikationsverfahren in den verschiedenen Phasen

des Software-Entwurfs

Graphische Verfahren

Mark Minas

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

Software-Projektmodell (nach Denert)

System-Spezifikation

System-Konstruktion

Modul-Programmierung

System-Integration

Requirements analysis

System design

Coding

Benutzer-Schnittstelle

Daten-modell

Funktionen-modell

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

Software-Projektmodell (nach Denert)

System-Spezifikation

System-Konstruktion

Modul-Programmierung

System-Integration

Requirements analysis

System design

Coding

Modulari-sierung

Datenbasis-entwurf

Prozeß-organisation

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

Software-Projektmodell (nach Denert)

System-Spezifikation

System-Konstruktion

Modul-Programmierung

System-Integration

Requirements analysis

System design

Coding

Modul-spezifikation

Modul--konstruktion

Modul-test

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

Software-Projektmodell (nach Denert)

System-Spezifikation

System-Konstruktion

Modul-Programmierung

System-Integration

Requirements analysis

System design

Coding

Subsystem-definition

Subsystem-test

System-test

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

System-Spezifikation Modellierung mit

Petri-Netzen Statecharts

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

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

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

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

1

1

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

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

1

1

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

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

1

1

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

Petri-Netze: Idee Nebenläufigkeit

Mehrfachkanten ~ parallel ablaufende Prozesse Übergangsbedingungen ~ Synchronisation der Teilsysteme

Analyse des Prozeßzustands Markierung der Knoten ~ Modellierung versch. Zustände

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

Petri-Netze: Formale Definition

Petri-Netz PN=(P,T,I,O,m) P: Stellen (Plätze) T: Transitionen (endliche Mengen!) PT PT I: PT N: Eingabefunktion (Kantengewichte) O: PT N: Ausgabefunktion (Kantengewichte) m: P N: Markierungsvektor (#Marken pro

Stelle)

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

21

1

1

2

Petri-Netze: Formale Definition Transition tT aktiviert pP: m(p) I(p,t) t aktiviert mit Markierung m Feuernneue Markierung m‘ mit:

pP: m‘(p) = m(p)+O(p,t)-I(p,t)

P2

I(P1,T)

I(P2,T)

O(P3,T)

P1

P3

T

Aktiv

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

Petri-Netze: Formale Definition Transition tT aktiviert pP: m(p) I(p,t) t aktiviert mit Markierung m Feuernneue Markierung m‘ mit:

pP: m‘(p) = m(p)+O(p,t)-I(p,t)

P2

I(P1,T)

I(P2,T)

O(P3,T)

P1

P3

T21

1

1

2

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

Petri-Netze: Formale Definition Transition tT aktiviert pP: m(p) I(p,t) t aktiviert mit Markierung m Feuernneue Markierung m‘ mit:

pP: m‘(p) = m(p)+O(p,t)-I(p,t)

P2

I(P1,T)

I(P2,T)

O(P3,T)

P1

P3

T21

1

1

2

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

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

TransitionsklassenRestriktionen und Verifikationsmöglichkeiten (z.B. „Transporttransition“ erlaubt keine Änderung der Markenzahl, „Pufferstelle“ kann bis zu N Marken

enthalten)

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

Petri-Netze: Aufzugsteuerung

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

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

Petri-Netze: Aufzugsteuerung

EK

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

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

Petri-Netze: Aufzugsteuerung

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: Aufzugsteuerung

Start

„Ab“

„Auf“

Keller (K)

Erdge-schoß (E)

KEEK

EK

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

Petri-Netze: zu primitiv! Bei komplexen Spezifikationen/Modellierungen:

große GraphenNetze unübersichtlich

Zeitabhängigkeiten schwer modellierbar keine Unterscheidung zwischen

Flußkontrolle, Nutzdaten, Material verschiedenen Material-, Nutzdatentypen

keine inhibitorischen Kanten

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

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

vVarBool: (v = true pP: (wP(p) = v m(p) > 0))

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

21

1

1

2

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

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

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

21

1

1

2

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

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

21

1

1

2

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

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

21

1

1

2

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

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ärbtesPetri-Netz:

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

„Normales“ Petri-Netz:

Gefärbtes Petri-Netz

Petri-Netze: gefärbte Netze (CPN)

Waschen Waschen Waschen Fertig

1

Marke {1,2}

Marke = 3

Fertig

incr

Waschen

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

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

...

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

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

StandByoff/{}

on/{}txt/{}

Normal

Videotext

txt/{}

Mute

SoundOn

mute/{}sound/{}

Image Sound

On

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

Statecharts: Zustände Startzustände einfache Zustände

(basic states) Oder-Zustände

(or-states) Und-Zustände

(and-states)

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

Statecharts: Zustände History-Zustände

StandBy

standby/{}

1/{}

Kanal 1

Kanal 2

2/{}

On1/{}

2/{}

Off

off/{} on/{}

H

on/{}

off/{}

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

Statecharts: Transitionen Transitionen zwischen unterschiedlichen

Hierarchiestufen erlaubt:

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

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

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

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