Impressum
Inhalt Umsetzen von Kontrollstrukturen >

Programm Ablauf Plan (PAP)

Die DIN 66001 legt fest, wie ein Programm Ablauf Plan (kurz PAP) aussieht. Mit einem PAP können Mikrocontroller Programme zum besseren Verständnis graphisch dargestellt werden. Der Entwurf eines Programms erfolgt hier zuerst als PAP und wird dann in Assembler umgesetzt.
Die DIN 66001 legt auch die Darstellung von Datenflußplänen fest. Diese stellen den Fluß von Informationen dar. Auf diesen Teil der DIN Norm wird hier nicht eingegangen.
PAPs eignen sich nicht für den Entwurf von Programmen in Hochsprachen, da Verzweigungen sehr nahe an den Sprungbefehl angelent sind. Für prozedurale Sprachen eignen sich daher eher Struktogramme und für objektorientierte Sprachen UML.

Elemente eines Programm Ablauf Plans

Der Beginn oder das Ende eines PAPs stellt man in einem Oval (Grenzstelle) dar (s. Abb.1). In das Oval kann z.B. „Start“ oder „Ende“ für das Hautprogramm eingetragen werden. Bei Unterprogrammen kann der Name des Unterprogramms in das einleitende Oval eingetragen werden und in das beendende „ret“ oder „return“. Bei ISRs bietet sich eine sprechende Bezeichnung der ISR im Start und ein „reti“ am Schluss an.
 Grenzstelle
Abb. 1: Grenzstelle
Die einzelnen Operationen werden in Rechtecken dargestellt (s. Abb. 2). Hier können Zuweisungen, einzelne Befehle oder frei sprachliche Beschreibungen der Operationen eingeschrieben werden. Der enthaltene Text sollte die jeweilige Operation eindeutig beschreiben, so dass eine Umsetzung in ein Programm möglich ist.
 Operation
Abb. 2: Operation
Unterprogrammaufrufe sind durch ein Rechteck mit doppelten vertikalen Linen an den Rändern darzustellen (s. Abb. 3). Hierbei symbolisiert das Zeichen mehrere hintereinanderliegende Anweisungen. Als Text ist der Name des aufzurufenden Unterprogramms in das Symbol zu schreiben.
 Unterprogramm
Abb. 3: Unterprogramm
Eine wie in Abbildung 4 dargestellte Übergangsstelle dient der Übersichtlichkeit. Durch die Verwendung von Übergängen können lange Pfeile vermieden werden und PAPs über mehrere Seiten sinnvoll dargestellt werden. Ein Übergangspunkt kann nur zu einer Stelle im PAP verweisen. Es kann jedoch an mehreren Stellen betreten werden. Zusammengehörige Übergangsstellen müssen den gleichen Namen tragen.
 Übergangsstelle
Abb. 4: Übergangsstelle
Verweigungen werden in Rauten dargestellt (s. Abb. 5). In das Verzweigungssymbol wird die Bedingung eingetragen nach welcher verzweigt wird. Auf die ausgehenden Linien bzw. Pfeile wird notiert, ob dieser Weg bei erfüllen oder bei nicht erfüllen der Bedingung gewählt wird. Eine Verzweigung kann auch nur eine Variable enthalten und einen sich verzweigenden Ausgangspfad. Hier ist an jeden der Zweige anzugeben, bei welchem Wert der Variablen der jeweilige Weg gewählt wird.
 Verzweigung
Abb. 5: Verzweigung
Die einzelnen Elemente werden durch Ablauflinien verbunden. Ist die Leserichtung nicht von oben nach unten oder links nach rechts, so muss zwingend eine Pfeilspitze eingezeichnet werden. Es können mehrere Ablauflinien zusammengeführt werden, wenn unterschiedliche Ausführungsstränge wieder vereinigt werden. Dies zeigen die Abbildungen 7 und 8.
Kreuzen sich zwei Ablauflinien, so stellt dies keine Verknüpfung dar.
 Ablauflinie
Abb. 6: Ablauflinie
 Zusammenführung
Abb. 7: Zusammenführung
 Zusammenführung mit Pfeil
Abb. 8: Zusammenführung mit Pfeil
An die einzelnen Elemente können Kommentare angefügt werden. Die gestrichelte Linie ist am entsprechenden Element anzubringen und der Kommentartext steht am offenen Rechteck.
 Kommentar
Abb. 9: Kommentar

Beispiele

Das erste Beispiel in Abbildung 10 zeigt einen einfachen PAP mit Start und Ende Grenzstellen. Die Verzweigung dient dazu auf das Betätigen eines Tasters zu warten. Ist der Taster gedrückt wird ein eine Lampe angeschaltet. Dieser Operation ist ein Kommentar angefügt.
 Einfaches Programm
Abb. 10: Einfaches Programm
Der Beispiel-PAP in Abbildung 11 zeigt ein Unterprogramm. In die obere Grenzstelle wurde der Name des Unterprogramms eingetragen. Anhand der Variable „Fall“ wird die Programmführung verzweigt. Ist Fall=3, so wird das Unterprogramm beendet, was durch die Grenzstelle mit dem Eintrag „return“ symbolisiert. Ist Fall zwischen 0 und 2 werden Unterprogramme aufgerufen. Nach den Unterprogrammaufrufen führt der Programmfluss in die Übergangsstelle „S0“. Diese Übergangsstelle führt zurück zum Beginn des Unterprogramms.
 Unterprogramm mit Mehrfachauswahl
Abb. 11: Unterprogramm mit Mehrfachauswahl
Weitere Beispiele finden sich unter in der nächsten Einheit mit dem Titel Umsetzen von Kontrollstrukturen.