next up previous contents index
Next: 6.7 Strukturanalyse Up: 6.6 Invariantenanalyse Previous: 6.6.2 Semipositive Invarianten

Unterabschnitte

6.6.3 Invariantentest

Das Kommando <T> dient zum Testen von Vektoren und besteht aus mehreren Unterkommandos.

<T> Test place- or transition-vectors for invariant properties

Nach der Abfrage, ob P- bzw. T-Vektoren getestet werden sollen, berechnet INA die (transponierte) Inzidenzmatrix des Netzes. Anschließend erscheint folgendes Menü:
Please, select a sequence of functions 
(files:      o, o1, o2, o3, o4, c, c1, c2)
(read/write: r, r1, w, k)
(results:    p, b, b1, q, q1)
(special:    f, m, s)
(exit:       e )
       --- h  for help  ---   <del> = <?>   :

Sie können nun eine Folge von Bearbeitungsschritten angeben, die mit <cr> abzuschließen ist und danach von INA abgearbeitet wird. Selbstverständlich können Sie auch nur ein einzelnes Kommando abarbeiten lassen, Sie müssen dann nur nach der Eingabe des entsprechenden Buchstabens ebenfalls <cr> drücken, INA kehrt nach erfolgreicher Arbeit zurück in das eben gezeigte Menü. Eine Beschreibung der einzelnen Unterkommandos finden Sie in den folgenden Abschnitten.

Mit dem Unterkommando <S> (siehe Seite [*]) innerhalb einer Folge von Bearbeitungsschritten können Sie die bis dahin abgearbeite Folge wiederholen lassen und so z.B. mehrere Vektoren nacheinander auf die gleiche Art testen.

Dateien öffnen

<O> open files (input and output)

Mit diesem Unterkommando bestimmen Sie die Ein- und Ausgabedatei.

Als Eingabedatei können Sie mit den Analysemenükommandos <I> bzw. <S> berechnete Invarianten, die Sie im Format complete table (siehe Seite [*]) auf eine Datei mit der Extension .inv geschrieben haben, bestimmen. Warnung: Versuchen Sie nicht, Invariantendateien, die Sie mit den hier beschriebenen Unterkommandos geschrieben haben, später wieder einzulesen, INA bricht in diesem Fall ab.

Beim Öffnen der Datei wird ein Konsistenztest durchgeführt: INA prüft, ob die in der geöffneten Datei gespeicherten Vektoren zu dem Netz im internen Speicher passen. Dies geschieht mit Hilfe der Kopfzeilen, die automatisch beim Speichern von Vektorendateien im Format complete table (siehe Seite [*]) mit den Analysemenükommandos <I> bzw. <S> geschrieben wurden. Sollte der Konsistenztest negativ verlaufen, gibt INA entsprechende Hinweise und schließt die Datei.

Normalerweise werden alle berechneten Informationen in den Session-Report geschrieben. Durch Angabe einer separaten Datei mit der Extension .res können Sie diese Ausgaben umleiten. Selbstverständlich können Sie mit <esc> auch eine Ausgabe auf den Bildschirm anfordern.

<O> <1> open input file only

Wie <O> , aber es wird nur die Eingabedatei geöffnet.

<O> <2> open output file only

Wie <O> , aber es wird nur die Ausgabedatei geöffnet.

<O> <3> open input file with restricted consistency test

Dieses Kommando eröffnet nur die Eingabedatei, der Konsistenztest ist aber dahingehend abgeschwächt, daß nur die Anzahl der Plätze bzw. Transitionen mit der Länge der Kopfzeile verglichen wird.

<O> <4> open input file without consistency test

Mit diesem Kommando können Sie eine Datei ohne Kopfzeilen öffnen. Führen Sie es aus, wenn INA beim Öffnen einer Datei mit einem anderen Kommando entsprechende Hinweise gibt.

Dateien schließen

Die Eingabedatei wird automatisch geschlossen, wenn Fehler auftreten, das Ende der Datei erreicht wird, oder (zusammen mit der Ausgabedatei) wenn der Invariantentest beendet wird.

<C> close files (input and output)

Mit diesem Kommando können Sie die Ein- und Ausgabedatei von Hand schließen.

<C> <1> close input file only

Wie <C> , aber es wird nur die Eingabedatei geschlossen.

<C> <2> close output file only

Wie <C> , aber es wird nur die Ausgabedatei geschlossen.

Leseoperationen

<R> read vector

Falls Sie vorher mit einem <O> -Kommando eine Eingabedatei geöffnet haben, liest dieses Kommando einen Vektor von dieser Datei, sonst können Sie direkt einen Vektor eingeben: Please, give a vector. Für die Terminaleingabe sind zwei Modi vorgesehen: jump to next non-zero component mit <J> und sequential mode mit <S> . Im sequentiellen Modus fordert INA die Vektorkomponenten des Vektors sukzessive an. Im springenden Modus können Sie zuerst eine Knotennummer und dann den Wert der entsprechenden Komponente angeben. Alle übersprungenen Komponenten werden gleich null gesetzt, ein zurücksetzen ist nicht möglich. Die Abfrage startet im sequentiellen Modus und kann jederzeit durch Eingabe von <J> bzw. <S> anstelle der erwarteten Zahl im jeweils anderen Modus fortgesetzt werden. Mit <N> können Sie am Ende alle verbleibenden Komponenten gleich Null setzen: set remaining components to zero. Mit <Q> können Sie die Eingabe abbrechen, der Vektor ist unter Umständen dann unvollständig.

<R> <1> read vector without terminal protocol

Beim Einlesen von Datei mit <R> wird der eingelesene Vektor auf dem Bildschirm protokolliert. Mit dem Kommando <R> <1> unterbleibt diese Protokollierung. Bei Eingabe der Komponenten am Terminal ändert sich nichts.

Schreiboperationen

<W> write vector

Falls Sie mit einem <O> -Kommando eine Ausgabedatei geöffnet haben, schreibt dieses Kommando einen Vektor. Warnung: Bitte versuchen sie nicht, einen gespeicherten Vektor später wieder einzulesen, INA bricht in diesem Fall ab.

<K> write headlines for vector

Mit diesem Kommando können Sie eine Kopfzeile in eine geöffnete Ausgabedatei schreiben. Rufen Sie dieses Kommando einmal auf, bevor Sie mit dem Schreiben von Vektoren beginnen.

<F> change output format

Mit diesem Kommando ändern Sie das Ausgabeformat der Invarianten: Es stehen die gleichen Möglichkeiten zur Verfügung, die schon in den Abschnitten 6.6.1 und 6.6.2 auf den Seiten [*] bzw. [*] beschrieben wurden.

Testfunktionen

Als Beispiel für den Test einer Invariante wird auf die bereits im Abschnitt 6.6.1 auf Seite [*] vorgestellte Invariante ,,eine Ampel zeigt genau dann gelb, wenn die andere Ampel auf rot-gelb geschaltet ist`` zurückgegriffen. Ein entsprechende Vektor ist 0 0 1 -1 1 1, er wird im folgenden getestet.

<P> give properties of the vector

Dieses Kommando prüft den gerade eingegebenen bzw. zuletzt eingelesenen Vektor, ob er semipositiv ist, und ob er Invariante, Sub-Invariante bzw. Sur-Invariante ist. Das Zeichen + steht für ja, - für nein.

Der Vektor 0 0 1 -1 1 1 hat folgende Eigenschaften:

The place vector under test is not semipositive.
It has the following properties:

place invariant:        +
place subinvariant:     +
place surinvariant:     +

<B> give results of equations

Mit diesem Kommando werden die Gleichungsresultat für den Vektor angezeigt.

equation for transition  1.                 gives result:      0
equation for transition  2.                 gives result:      0
equation for transition  3.                 gives result:      0
equation for transition  4.                 gives result:      0

<B> <1> give equations with non-zero results

Dieses Kommando gibt einen Überblick über die Transitionen (im Fall von P-Vektoren) bzw. Plätze (im Fall von T-Vektoren), deren zugehörige Gleichung bei dem aktuellen Vektor nicht erfüllt ist, d.h. nicht Null ergibt.

<Q> show equations

Dieses Kommando arbeitet genauso wie das Unterkommando <B> , es werden aber zusätzlich die Einzelheiten der Berechnung ausgegeben.

Folgendes Beispiel zeigt einen Teil der Ausgabe:

equation for transition  4.                :
  place              equation * vector              sum
   1    |         1   *    0 =     0   ==>       0
   2    |         0   *    0 =     0   ==>       0
   3    |        -1   *    1 =    -1   ==>      -1
   4    |        -1   *   -1 =     1   ==>       0
   5    |        -1   *    1 =    -1   ==>      -1
   6    |         1   *    1 =     1   ==>       0

<Q> <1> show single equation

Mit diesem Kommando können Sie sich eine einzelne Gleichung anzeigen lassen. Sie werden nach einer Transition (im Fall von P-Vektoren) bzw. einem Platz (im Fall von T-Vektoren) gefragt, die zugehörige Gleichung wird analog zum vorherigen Kommando ausgegeben.

Weitere Funktionen

<M> show (transposed) incidence matrix

Dieses Kommando zeigt die (transponierte) Inzidenzmatrix.

<S> repeat function sequence

Mit diesem Unterkommando können Sie innerhalb einer Folge von Bearbeitungsschritten die bis dahin abgearbeite Folge wiederholen lassen. Wird in der gerade aktuellen Folge <S> erreicht, so fragt INA : Repeat the function sequence?. Antworten Sie mit <Y> , so wird die Folge erneut von Anfang an ausgeführt.

Auf diese Art können Sie z.B. mehrere Vektoren nacheinander auf die gleiche Art testen: Zuerst öffnen Sie die Ein- und Ausgabedatei mit <O> , dann geben Sie als eine Sequenz <R> , dann die entsprechenden Testkommandos, dann das Wiederholungszeichen <S> und zum Schluß <C> zum Schließen der Dateien ein. Die Testkommandos werden nun solange auf die nacheinander eingelesene Vektoren ausgeführt, bis Sie <N> eingeben, danach werden die Dateien geschlossen

<H> help

Mit diesem Unterkommando erhalten Sie eine kurze Übersicht aller verfügbaren Funktionen.

<E> exit

Dieses Kommando beendet den Invariantentest. INA kehrt in das Analysemenü zurück. Eventuell geöffnete Dateien werden zuvor geschlossen.


next up previous contents index
Next: 6.7 Strukturanalyse Up: 6.6 Invariantenanalyse Previous: 6.6.2 Semipositive Invarianten

© 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