next up previous contents index
Next: 3.2 Löschen und Ändern Up: 3. Editor Previous: 3. Editor

3.1 Einlesen und Schreiben

INA bietet Kommandos zum Einlesen und Speichern von Netzen, Plätzen, Transitionen und Bögen:

<R> <F> Read a net from a File

Wenn INA schon ein Netz im internen Speicher hat, erscheint die Frage Delete the old net?. Da nur ein Netz im Speicher gehalten werden kann, kann bei Eingabe von <N> kein Netz eingelesen werden. Eingabe von <Y> bewirkt die Löschung des Netzes. Nun werden alle sich im aktuellen Verzeichnis befindenden Netzdateien angezeigt und INA fragt nach einem Dateinamen. Im Kapitel 2.2 finden Sie ab Seite [*] eine Beschreibung, wie Sie diesen eingeben können. Danach liest INA die angegebene Datei in den internen Speicher und geht in das Editormenü zurück. Bei der Dateianforderung ist es möglich durch Eingabe von <esc> in den Terminalmodus zu gelangen.

<R> <T> Read a net from the Terminal

Mit diesem Kommando ist es möglich, Netze direkt am Terminal einzugeben. Wenn INA schon ein Netz im internen Speicher hat, so wird analog wie im vorher beschriebenen Kommando reagiert.

Eine Beschreibung der Eingabe finden Sie im Kapitel 2.3.3 ab Seite [*].

<R> <N> Read a Node from the terminal

Mit diesem Kommando können Sie Knoten in ein (eventuell leeres) Netz eingeben. Zuerst werden Sie gefragt, ob Sie einen Platz oder eine Transition zufügen möchten. Danach erscheint die Eingabesyntax, die im Falle einer einzufügenden Transition wie folgt lautet:

Input syntax:
<nr>" "[ <prelist> ] [ "," <postlist> ] "<cr>"
 <prelist> ::= { <nr> [ ":"<mult> ]" " }
<postlist> ::= { <nr> [ ":"<mult> ]" " }
T>

Bei einem einzufügenden Platz erscheint die Syntax, die Sie bei der Beschreibung der Eingabe einer Platzzeile im Kapitel 2.3.3 auf Seite [*] finden. Dort finden Sie auch weitere Hinweise für die Platzeingabe.

Die Eingabe einer Transition erfolgt ganz analog, es wird nur keine Anfangsmarkierung erfragt und statt Listen von Transitionen werden Listen von Plätzen angefordert.

Existiert der definierte Knoten bereits, wird die alte Definition ersetzt. Wenn Sie einen nicht existierenden Knoten eingeben, wird dieser ohne Namen in das Netz eingefügt. Ebenso verhält es sich mit in der Definition vorkommenden neuen Knoten, die von INA automatisch eingefügt werden.

Durch Eingabe von <Y> auf die Anfrage next können Sie weitere Transitionen bzw. Plätze einfügen. Falls Sie eine transitionsorientierte Eingabe bevorzugen, so können Sie statt <R> <T> mit dieser Funktion das Netz aus Sicht der Transitionen eingeben, und mit den weiter unten beschriebenen Änderungsfunktionen später den Plätzen Namen geben und eine Anfangsmarkierung und eventuelle Kapazitäten und Anfangszeiten festlegen.

Bei dem Zufügen eines Knotens in ein gefärbtes Netz erfolgt die Eingabe analog zu der Beschreibung im Kapitel 2.3.3 ab Seite [*]. Bitte beachten Sie beim Zufügen von Knoten in ein gefärbtes Netz folgendes: Bei einer einzufügenden Transition müssen alle Plätze existieren. INA gibt folgende Warnung aus: Please, make sure that all places exist to which the new transition will be connected.

<R> <L> Add a loop

Mit dieser Funktion kann eine Schleife eingefügt werden. Eine Schleife besteht aus einem Platz der mit einer Marke markiert ist und einer Transition, die diesen Platz als Vor- und Nachplatz besitzt. Ziel dieser Konstruktion ist es, unter den Zeitbewertungen von Transitionen (siehe im Kapitel 2.5.2 auf Seite [*]), transiente Zustände anzuzeigen (siehe im Kapitel 4.4.2 ab Seite 4.4.2).

INA vergibt den eingefügten Knoten jeweils die Nummer 0 oder andere freie Nummern, der Platz erhält den Namen loop-place mit der initialen Uhrenstellung eins, die Transition heißt entsprechend loop-transition mit der initialen Uhrenstellung null.

<R> <A> Read an Arc from the terminal

Mit diesem Kommando können Sie einen neuen Bogen eingeben, löschen oder die Vielfachheit ändern. Als erstes werden die anliegende Transition und der anliegende Platz angefordert, dann die Vielfachheit. Als letztes müssen Sie die Richtung des Bogens angeben: Place to Transition? Die Antwort <Y> führt zu einem Bogen von einem Platz zu einer Transition, die Antwort <N> zu einem Bogen von einer Transition zum Platz. Ein bestehender Bogen wird überschrieben, mit der Vielfachheit 0 können Sie ihn löschen. Bei einem gefärbten Netz erfolgt die Eingabe eines Bogens wie bei der Netzeingabe (siehe Seite [*] im Kapitel 2.3.3).

<R> <P> Insert a run-place

Mit dieser Funktion kann ein Laufplatz in ein bestehendes Netz eingefügt werden. Ein Laufplatz ist markiert mit einer Marke und hat Schleifen um alle Transitionen. Ziel dieser Konstruktion ist es, unter der Zeitbewertung von Transitionen mit einer Schaltdauer (Schaltstrategie maximale Schritte, siehe im Kapitel 2.5.2 auf Seite [*]), immer einelementige Schritte zu erhalten.

Der eingefügte Platz erhält die der höchsten Platznummer folgende Nummer und den Namen run-place.

Bitte beachten Sie, daß nach dem Hinzufügen von Transitionen der ursprüngliche Laufplatz entfernt und durch einen neuen ersetzt werden muß.

Unter der sicheren Schaltregel ist das Netz tot, INA gibt bei der Voranalyse folgende Warnung aus: inconsistency: firing mode=safe, but net is not pure (siehe auch Seite [*] im Kapitel 6.2.1).

<W> <F> Write the net to a File

Mit diesem Kommando können Sie das Netz im internen Speicher auf eine Datei ablegen. Durch Eingabe von <Y> auf die Frage Select places können Sie einzelne Plätze angeben, die ein zu speicherndes Teilnetz erzeugen. Nach der Eingabe eines Dateinamens wird das Netz bzw. das Teilnetz auf diese Datei geschrieben.

Durch die Auswahl einer Platzmenge haben Sie die Möglichkeit, das dadurch erzeugte Teilnetz später separat zu analysieren.

<W> <T> Write the net to the Terminal

Mit diesem Kommando können Sie verschiedene Informationen über das Netz im internen Speicher auf den Bildschirm ausgeben:

Information on the net ('N'), the places ('P'),
       the transitions ('T')  or quit    ('Q')?

Anhand des Netzes 2.1 werden die verschiedenen Ausgaben dieser Kommandos gezeigt.

Das Unterkommando <N> zeigt die Netznummer und den Netznamen an und gibt einen Überblick über die Anzahlen der verwendeten Plätze und Transitionen und die Intervalle, in denen die Knotennummern liegen:

Netnr:   1    Netname: 3_Prog_2_Term   
Places:                7   [0,6]
Transitions:           6   [1,6]

Mit dem Unterkommando <P> werden die Plätze des aktuellen Netzes ausgegeben. Sie haben die Möglichkeit, bestimmte Plätze auszuwählen. Angezeigt werden: Platznummer, Platzname, Markierung, Namen und Nummern der Vortransitionen mit Vielfachheiten und analoges für die Nachtransitionen:

place nr.      0.Terminal_frei      load:  2
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
logout_Prog1              4:   2                1:   2   login_Prog1     
logout_Prog2              5                     2        login_Prog2     
logout_Prog3              6                     3        login_Prog3     

place nr.      1.Prog1_am_Term      load:  0
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
login_Prog1               1                     4        logout_Prog1    

place nr.      2.Prog2_am_Term      load:  0
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
login_Prog2               2                     5        logout_Prog2    

place nr.      3.Prog3_am_Term      load:  0
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
login_Prog3               3                     6        logout_Prog3    

place nr.      4.Prog1_in_Pause     load:  1
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
logout_Prog1              4                     1        login_Prog1     

place nr.      5.Prog2_in_Pause     load:  1
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
logout_Prog2              5                     2        login_Prog2     

place nr.      6.Prog3_in_Pause     load:  1
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
logout_Prog3              6                     3        login_Prog3

Mit dem Unterkommando <T> werden analog zur vorherigen Beschreibung die Transitionen ausgegeben:

transition nr.      1.login_Prog1                       
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
Terminal_frei             0:   2                1        Prog1_am_Term   
Prog1_in_Pause            4     

transition nr.      2.login_Prog2                       
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
Terminal_frei             0                     2        Prog2_am_Term   
Prog2_in_Pause            5     

transition nr.      3.login_Prog3                       
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
Terminal_frei             0                     3        Prog3_am_Term   
Prog3_in_Pause            6     

transition nr.      4.logout_Prog1                      
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
Prog1_am_Term             1                     0:   2   Terminal_frei   
                                                4        Prog1_in_Pause  

transition nr.      5.logout_Prog2                      
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
Prog2_am_Term             2                     0        Terminal_frei   
                                                5        Prog2_in_Pause  

transition nr.      6.logout_Prog3                      
-------------------------------------------------------------------------
PREname                  nr: mlt               nr: mlt   POSTname
Prog3_am_Term             3                     0        Terminal_frei   
                                                6        Prog3_in_Pause

Mit <Q> beenden Sie das Besichtigen des Netzes.


next up previous contents index
Next: 3.2 Löschen und Ändern Up: 3. Editor Previous: 3. Editor

© 1996-98 Prof. Peter H. Starke (starke@informatik.hu-berlin.de) und Stephan Roch (roch@...)

INA Handbuch Version 2.1 zuletzt geändert: 1998-03-24