-
  • EUKLID-Design
  • EUKLID-Design Classic
  • Dokumentation
  • Download
  • +49-991-2806945-0
  • info@eucad-software.de
AQL Einführung
Eigenschaften Programmaufbau Programmausführung
interaktiv Batch Modus mittels UDA aus AQL
Programmabbruch
Programmiersprache Kommandosprache Vordefinierte
Funktionen
Datenstruktur Beispielprogramme Syntaxdiagramme

Programmausführung

Es gibt verschiedene Möglichkeiten, AQL-Programme zu starten:

  • interaktiv
  • im Batch-Modus
  • über UDAs
  • über ein anderes AQL-Programm
  • über Optionen für spezielle Funktionalität

Interaktive Ausführung

Interaktiv starten können Sie AQL-Programme durch

  • Anklicken der AQL-Ikone im zweiten Menü
  • Auswahl des AQL-Programms mit dem eingeblendeten Dateiauswahlformular

Ausführung interaktiv

AQL-Programme, die die Standardein- und -ausgabe verwenden, d.h. Ein- und Ausgabefunktionen ohne vorhergehende file-Anweisung, benutzen das Fenster, in dem EUKLID-Design gestartet wurde.

Während der Entwicklungs- und Testzeit ist der Programmname f1.aql empfehlenswert. Diese Programme können mit den Funktionstasten <F1> bis <F4> bzw. deren Kombination mit der Taste <SHIFT> gestartet werden.

Wenn Sie die ersten Beispiele nachvollziehen wollen, können Sie die restlichen Ausführungsarten in diesem Kapitel überspringen.

Batch Modus

Soll EUKLID-Design nur ein AQL-Programm ausführen, ohne daß Interaktionen des Anwenders erforderlich sind, so kann es im Batch-Modus gestartet werden:

d2.exe -batch <aql-dateiname> <modellname>

Die Option -batch und die darauf folgenden Namen von AQL-Dateien veranlassen EUKLID-Design, die AQL-Programme auszuführen und sich danach zu beenden, ohne ein Grafikfenster zu eröffnen. Damit können z.B. Umsetzer oder automatisches Plotten von Modellen elegant in Shell-Prozeduren ausgeführt werden.

Kopplung von UDAs mit AQL-Programmen

Ein AQL-Programm wird an eine definierte Aktion (UDA) gekoppelt, wenn dies bei der Erstellung der UDA angegeben wurde.

Beispiel: Das UDA myuda.uda ist mit dem AQL-Programm myuda.aql gekoppelt.

Je nach Angabe verschiedener Attribute werden Funktionsrümpfe vorgeneriert, die vom Entwickler mit Semantik zu füllen sind.

Es sind dies die Funktionen:

pre_action Ablauf vor Durchlauf von "execute" und Parameterfunktionen
post_action Ablauf nach Durchlauf von "execute" und Parameterfunktionen
execute eigentliche Evaluierungsfunktion
pre_par_<parname> Ablauf vor Parametereingabe
post_par_<parname> Ablauf nach Parametereingabe
select_par_<parname> Selektorfunktion für Parameter
traverse_values_par_<parname> liefert die möglichen Zustände der Selektoren
draft_par_<parname> liefert skizzierten Wert für Parameter
move_cursor_par_<parname> Cursorroutine bei Mausbewegung ohne Tastendruck
drag_cursor_par_<parname> Cursorroutine bei Mausbewegung mit gedrückter linker Maustaste
show_par_<parname> Darstellungsmethode für Parameterhilfsdarstellung z.B. Länge
init_par_<parname> Eintragen einer Voreinstellung für Parameter
get_prompt_par_<parname> Parametereigenes Prompting
check_par_<parname> Intervalltest für Parameterwerte
suppress_property Funktion zum Unterdrücken von Properties in Resultat und Effekten
res_fill_suppress_props füllen von Standardwerten für suppressed Resultatproperties

Ausführung von AQL-Programmen aus

Ein AQL-Programm wird von anderen AQL-Programmen aus mit der AQL-Funktion aql, die den Namen des AQL-Programms als erstes Argument erhält, aufgerufen: aql (<dateiname>)

Weitere Argumente sind möglich.

aql("!my_subprog", "Arg1", "Arg2")
Die Funktion liefert folgende Werte als Rückgabewert:
-1 Laufzeitfehler
-2 Syntaxfehler
-3 Die angegebene Datei mit dem AQL-Programm kann nicht geöffnet werden.
1 Fehler in externen Funktionen
  • Bei Vergabe von Dateinamen ist das zugrundeliegende Betriebssystem zu beachten.
  • Environmentvariable aus dem Betriebssystem sind in AQL über die Funktion "getenv" bekannt.
  • Dateinamen, die mit ! beginnen, werden relativ zum aufrufenden AQLProgramm interpretiert.

Sollen übergebene Argumente von der gerufenen Prozedur übernommen werden, gibt es dafür zwei vordefinierte Symbole:

aql_argument_list Gruppe der Parameterstrings
aql_arg_<n> n-tes Argument der Parameterleiste
aql_arg_0 enthält den Dateinamen

Beispiel 1

j=1 for i in aql_argument_list do ‘Argument‘[j]‘;‘[i] nl j=j+1 end

Beispiel 2

‘Unterprogramm‘[aql_arg_0]‘gestartet!‘ nl

Sonderfunktionen im Zusammenhang mit Optionen

Für die AQL-Programmausführung sind folgende Optionen beim Start von EUKLID-Design wichtig:

-access <aqlnam> Vor und nach jedem Speicher- und Ladevorgang sowie bei Aufruf neuer Modelle wird je eine AQL-Routine (siehe auch mitgeliefertes Beispiel im Installationsverzeichnis #/aql.aql/file_aql.aql) aufgerufen. Diese wird nacheinander in folgenden Verzeichnissen gesucht:

im Arbeitsverzeichnis
~/user_data
#/aql.aql
-start <aqlname> erst AQL-Datei, dann interaktiv
-stop <aqlname> Ablauf vor Beenden der Sitzung

EUKLID-Design kann AQL-Protokolle mitschreiben. Sie dienen als gute Programmiererstützen, wenn bestimmte AQL-Funktionen unklar sind.

AQL-Protokolle werden bei folgender Start-Option mitgeschnitten:

-protocol Protokollmitschnitt Mitschnitt der Modell-Logik, d.h. Objektidentifikation über Name

Die Mitschnitte unterliegen keiner Ablaufgewähr, können aber Datenstrukturzusammenhänge gut widerspiegeln und sind damit eine Hilfe bei der AQL-Programmierung. Die Mitschnitte werden im Arbeitsverzeichnis abgelegt.



◀ Programmaufbau AQL abbrechen ▶


Kontakt Impressum Datenschutz