29.04.2014Seite 1 Analyse von Ablaufdiagrammen. 29.04.2014Seite 2 Ziele: Sie können ein...

Preview:

Citation preview

04/11/23 Seite 1

Analyse von AblaufdiagrammenAnalyse von Ablaufdiagrammen

04/11/23 Seite 2

Ziele:Ziele:

Sie können ein Ablaufdiagramm in einer Tabellenform darstellen

Sie können die Lebendigkeit eines Graphen erklären

Sie können die Ursache der Fehlermeldung ‚Ihr Graph ist überdeckbar‘ erklären und das Ablaufdiagramm korrigieren.

04/11/23 Seite 3

Analyse von AblaufdiagrammenAnalyse von Ablaufdiagrammen

Formalisierung in Tabelle Komponenten Konflikte Lebendigkeit Dead-Lock Sicherheit und Ueberdeckbarkeit

04/11/23 Seite 4

Beispiel: Alarmierung mit SelbsthaltungBeispiel: Alarmierung mit Selbsthaltung

B k o m m tkein A larmA k o m m tNiveau O K

Niveaugrenzwert erreicht

N iv e a h o c h A la rm

Niveau gut

qu ittie rt

N iv e a u h o c hq u it t ie r t

S1 S4

S2 S5

S3

T1

T2

T3

04/11/23 Seite 5

FormalisierungFormalisierung

Schritte numerieren Transitionen numerieren Tabelle erstellen mit Schritte als Zeilen und

Transitionen als Spalten

04/11/23 Seite 6

Tabelle ausfüllenTabelle ausfüllen

Für jede Transition angeben, um wieviel sich die Anzahl Markierungen in den Schritten ändert, wenn Transition schaltet. Zahl in der entsprechenden Zeile eintragen.

04/11/23 Seite 7

B k o m m tkein A larmA k o m m tNiveau O K

Niveaugrenzwert erreicht

N iv e a h o c h A la rm

Niveau gut

qu ittie rt

N iv e a u h o c hq u it t ie r t

S1 S4

S2 S5

S3

T1

T2

T3

Schritt\Transition T1 T2 T3

S1 -1 0 1

S2 1 -1 0

S3 0 1 -1

S4 -1 1 0

S5 1 -1 0

04/11/23 Seite 8

KomponentenKomponenten

Wieviele Marken in einem Ablaufdiagramm? Können Ablaufdiagramme aufgeteilt werden? Was ist der Zustand eines Ablaufdiagramms?

04/11/23 Seite 9

Zustand eines Ablaufdiagramms:Zustand eines Ablaufdiagramms:

Muster der Markierungen

B k o m m tkein A larmA k o m m tNiveau O K

Niveaugrenzwert erreicht

N iv e a h o c h A la rm

Niveau gut

qu ittie rt

N iv e a u h o c hq u it t ie r t

S1 S4

S2 S5

S3

T1

T2

T3

B k o m m tkein A larmA k o m m tNiveau O K

Niveaugrenzwert erreicht

N iv e a h o c h A la rm

Niveau gut

qu ittie rt

N iv e a u h o c hq u it t ie r t

S1 S4

S2 S5

S3

T1

T2

T3

Zustandsbezeichnung? Zustandsbezeichnung?

04/11/23 Seite 10

Ein Ablaufdiagramm mit immer nur einer Markierung

ist ein Zustandsautomat

Ein Ablaufdiagramm mit immer nur einer Markierung

ist ein Zustandsautomat

Einzige Markierung gibt den Zustand des Systems an

Zustandsnamen = Schrittnamen

04/11/23 Seite 11

Aufteilung eines Ablaufdiagramms in Komponenten (Zustandsautomaten)

Aufteilung eines Ablaufdiagramms in Komponenten (Zustandsautomaten)

B k o m m tkein A larmA k o m m tNiveau O K

Niveaugrenzwert erreicht

N iv e a h o c h A la rm

Niveau gut

qu ittiert

N iv e a u h o c hq u it t ie r t

S1 S4

S2 S5

S3

T1

T2

T3

A k o m m tNiveau O K

Niveaugrenzwert erreicht

N iv e a h o c h

Niveau gut

qu ittie rt

N iv e a u h o c hq u it t ie r t

B k o m m tkein A larm

Niveaugrenzwert erreicht

A la rm

quittie rt

04/11/23 Seite 12

Eigenschaften von Komponenten:Eigenschaften von Komponenten:

1. Komponente

Schritt\ Transition T1 T2 T3

S1 -1 0 1

S2 1 -1 0

S3 0 1 -1

Summe 0 0 0

2. Komponente

Schritt\ Transition T1 T3 T4

S4 -1 1 0

S5 1 -1 0

Summe 0 0 0

04/11/23 Seite 13

Wieso Aufteilung in Komponenten

Wieso Aufteilung in Komponenten

Erstellung von Objekten/Modulen Oft in anderen Einheiten realisiert:

Steuerung (Verriegelung) Leitgerät (Alarmierung)

04/11/23 Seite 14

RückwärtskonfliktRückwärtskonflikt

Roboter fre i Roboter fre iRoboter fre i

start A

A la d e n

start B

B la d e n

A kommt B kommt

04/11/23 Seite 15

BeispielBeispiel

Roboter fre i

start A

A la d e n

start B

B la d e n

A fertig B fertig

04/11/23 Seite 16

Lösung des KonfliktsLösung des Konflikts

Roboter fre i

start A

A la d e n

start B

B la d e n

A fertig B fertig

A B

04/11/23 Seite 17

VorwärtskonfliktVorwärtskonflikt

S c h r it t A S c h r it t B

T1 T2

S c h r it t C

04/11/23 Seite 18

LebendigkeitLebendigkeit

Eine beliebige, sinnvolle Anfangsmarkierung kann nach Schalten aller Transitionen (mindestens 1 mal) wieder erreicht werden.

04/11/23 Seite 19

BeispielBeispielA k o m m tAus

Start

In it

fertig

S c h r it t A

Betrieb

S c h r it t B

restart ende

R e in ig e n

lebend ig

04/11/23 Seite 20

Dead-Lock:

Ablauf bleibt stehen und kann nicht mehr weiter gehen

Dead-Lock:

Ablauf bleibt stehen und kann nicht mehr weiter gehen

04/11/23 Seite 21

Beispiel:Beispiel:A k o m m tAus

Start

b e re it

fertig

L a d e n A

start Laden A

h o le n B

A k o m m tAus

Start

b e re it

B e a rb e it e n A

fertig

M e sse n

gut sch lecht

b e re it

B b e re it

geholt

fertig

L a d e n B

W a r te n B e a rb e it e n B

fertig

A u sw e rfe n

leer

fre i

A u sw e rfe n

fre i

start laden

04/11/23 Seite 22

Beschränktheit und Sicherheit

Beschränktheit und Sicherheit

Beschränkt:maximale Anzahl Markierungen pro Schritt ist beschränkt

Sicher: maximale Anzahl Markierungen pro Schritt ist gleich 1

Wieso wesentlich?

04/11/23 Seite 23

UeberdeckbarkeitUeberdeckbarkeit

Ueberdeckt

A k o m m tAus

ein

b e re it

start & ke ine S törung

T e m p . re g e ln E in fü lle n

fertig Störung

w a r te n

restart

A k o m m tAus

ein

b e re it

start & ke ine S törung

T e m p . re g e ln E in fü lle n

fertig Störung

w a r te n

restart

Weil: Markierungen verschieden Jeder markierte Schritt rechts ist auch links markiert

04/11/23 Seite 24

Korrektur:Korrektur:

A k o m m tAus

ein

b e re it

start & ke ine S törung

T e m p . re g e ln E in fü lle n

fertig Störung

w a r te n

restart

S tö ru n g

keine S törung

A k o m m tAus

ein

b e re it

start & ke ine S törung

T e m p . re g e ln E in fü lle n

fertig Störung

w a r te n

restart

04/11/23 Seite 25

Ueberdeckbarkeit und Sicherheit

Ueberdeckbarkeit und Sicherheit

Ein Ablaufdiagramm ist sicher, wenn es ausgehend von einer sinnvollen Startmarkierung keine sich überdeckenden Markierungen gibt

04/11/23 Seite 26

Untersuchung im ErreichbarkeitsgraphenUntersuchung im Erreichbarkeitsgraphen

A k o m m tAus

ein

b e re it

start

T e m p . re g e ln E in fü lle n

fertig

w a r te n

restart

w a r te n

T erre icht

A k o m m tAus

ein

b e re it

start

T e m p . re g e ln E in fü lle n

fertig

w a r te n

restart

w a r te n

T erre icht

A k o m m tAus

ein

b e re it

start

T e m p . re g e ln E in fü lle n

fertig

w a r te n

restart

w a r te n

T erre icht

A k o m m tAus

ein

b e re it

start

T e m p . re g e ln E in fü lle n

fertig

w a r te n

restart

w a r te n

T erre icht

A k o m m tAus

ein

b e re it

start

T e m p . re g e ln E in fü lle n

fertig

w a r te n

restart

w a r te n

T erre icht

04/11/23 Seite 27

Andere AblaufdarstellungenAndere Ablaufdarstellungen

Petri-Netz Zustandsautomat

04/11/23 Seite 28

Petri-NetzPetri-Netz

PP2 P1

Pb

Pb

Pa

Pa

T

0

T

0

T

2

T

2

T

0

T

2

04/11/23 Seite 29

Mealy-AutomatMealy-Automat

z1Motor AUS

z3

MotorEIN

z4Motor Störung

B3/T2

B1 /T2

B4/T0

B1 /T1

04/11/23 Seite 30

Moore-AutomatMoore-Automatz1

M otor A us / T0

z3

M otor E IN /T1

z4M otor S törung/T2

B3

B1

B4

B1

04/11/23 Seite 31

Flow-ChartFlow-Chart

04/11/23 Seite 32

Flowchart-ProgrammierungFlowchart-

Programmierung

04/11/23 Seite 33

Das beste Engineeringtool?Das beste Engineeringtool?

Assembler C C++ IEC61131-3 Flowchart Labview

04/11/23 Seite 34

Kriterien:Kriterien:

Intuitiv selbstdokumentierend effizient zu programmieren effizient zu warten effizient in der Ausführung

04/11/23 Seite 35

Lösung von Steeplechase: Flowchart

Lösung von Steeplechase: Flowchart

04/11/23 Seite 36

Flowchart-Elemente: Verzweigung

Flowchart-Elemente: Verzweigung

04/11/23 Seite 37

Flowchart-Elemente: kontinuierliche Durchführung einer

Aktion

Flowchart-Elemente: kontinuierliche Durchführung einer

Aktion

04/11/23 Seite 38

Flowchart-Elemente: parallele Aktionen:

Flowchart-Elemente: parallele Aktionen:

04/11/23 Seite 39

Flowchart-Elemente: spezielle Aktionen

Flowchart-Elemente: spezielle Aktionen

Diagnostische Verzweigungen spezielle Funktionen mit Input/Output an

der Stelle des Aufrufs

04/11/23 Seite 40

VergleichVergleichDiagramm Stärken Schwächen

Ablaufsprache parallele Abläufe

Schaltbedingungen explizit dargestellt

Simulation von sehr komplexen Prozessen

Arbeiten mit Qualifiers etwas mühsam

Petri-Netz parallele Abläufe

Schaltbedingungen explizit dargestellt

Geeignet für viele verschiedensteProblemstellungen

Synchronisationen nicht offensichtlich

Aktionen in Transitionen und Stellen unterschiedliche Darstellungen des gleichen Pro-blems

Ueberspringen von Aktionen nicht definiert: kom-plexere Fehlerbehandlung

Mealy- undMoore Auto-mat

Ereignisorientierte Automaten ohneparallel Abläufe

Schaltbedingungen explizit dargestellt

Synchronisation zwischen verschiedenen Abläufenist mühsam

Flussdia-gramm

einfach Darstellung von sequentiellenAbläufen

oft nur implizite Transitionen

nur binäre Verzweigungen möglich

entspricht nicht dem Zustandsdenken der Steue-rungstechnik

04/11/23 Seite 41

AnwendungAnwendung

Informatik: verteilte Systeme Kommunikationstechnik

Recommended