next up previous contents
Next: 6 Benutzerschnittstelle und Kontrollmodul Up: 5 VLISP-Anbindung Previous: 5.4.2 Benutzerschnittstelle

5.5 Nutzung anderer Programme

Mit dem in VLISP eingebauten (betriebssystemunabhängigen) Mechanismus zum Aufruf externer Programme existiert eine sehr weitgehende Möglichkeit, um bereits implementierte Funktionalität nutzbar zu machen.

Gegenüber der Nutzung dieser Möglichkeit in der VISTA-Shell, wo sie allerdings durch zusätzliche Pakete wie den Simulationsfluß-Kontrollmodul noch wesentlich leistungsfähiger ist, können im PIF-Editor Eingangs- und vor allem Ausgangsdaten des Aufrufes graphisch dargestellt werden.

Für TCAD-Zwecke bietet sich z.B. der Aufruf von Gittergeneratoren an; bei entsprechender Programmierung wird das erzeugte Gitter sofort nach Terminierung des Programms dargestellt, womit dem Anwender eine sofortige Beurteilung des Ergebnisses und ev. neuerlicher Aufruf unter verbesserten Voraussetzungen oder manuelle Korrektur des Resultates möglich ist.

Als Beispiel ist im folgenden die Anbindung des Gittergenerators LATTGEN [44] erläutert:

Die unterste Stufe der Anbindung ist die Funktion vos::run, die mit dem Namen des Programms und seinen Argumenten aufgerufen wird. Sie entspricht etwa der UNIX-Funktion system(): Eine Kommandozeile wird dem Betriebssystem zur Ausführung übergeben. Zusätzlich kann eingestellt werden, ob das Programm im Hintergrund laufen soll, welche Aktionen durch sein Terminieren ausgelöst werden sollen, ob seine Ein- und Ausgabe behandelt werden soll usw.

Der vos::run-Aufruf wird durch die Funktion lattgen abstrahiert. Ihre Parameter lassen sich in drei Gruppen einteilen:

  1. Jeder erforderliche Parameter des Programms ist auch ein Parameter der Funktion.
  2. Die optionalen Parameter werden gemeinsam in einer assoziativen Liste übergeben, soweit sie angegeben wurden oder andere als die Default-Werte haben sollen. Die Zusammenfassung in einer assoziativen Liste soll ihre Weitergabe über mehrere Funktionen erleichtern.
  3. Die Steuerungen des vos::run-Aufrufes werden als ,,keys`` übergeben.
Außerhalb der Funktion lattgen macht es kaum einen Unterschied, ob das Programm als solches vorliegt und gestartet wird, oder ob seine Funktionalität direkt an den VLISP-Interpreter angebunden wurde. Diese Funktion kann im interaktiven und im Stapelbetrieb aufgerufen werden. Sie funktioniert gleichermaßen in der VISTA-Shell, SFC und im PED.

Um eine automatische datenmäßige Kopplung mit dem gerade zur Bearbeitung in den PED geladenen Bauteil zu erhalten, dient eine weitere Funktion ped::lattgen. Sie gewinnt einige Optionen und besonders die Dateinamen aus den Einstellungen des PED, speichert nötigenfalls die letzten Änderungen auf die PIF-Datei, ruft die Funktion lattgen auf, und lädt anschließend die neuen Daten in den PED. Dabei wird das neue Gitter als Kontext eingestellt und damit - im interaktiven Modus - automatisch angezeigt. Auch diese Funktion ist stapelbetriebsfähig, kann aber nicht in der VISTA-Shell oder SFC aufgerufen werden.

Auf der semantisch höchsten Stufe steht vui::lattgen. Diese Funktion kann wiederum von VISTA, vom simulation flow editor (SFE) und vom PED verwendet werden, aber jeweils nur im interaktiven Betrieb. Sie generiert ein Bedienungspaneel, in dem der Anwender die Optionen für den Programmaufruf einstellen kann. Mit Drücken des ,,ok``-Knopfes wird - je nach Umgebung - über Parameterkonverter lattgen oder ped::lattgen aufgerufen oder der Programmaufruf nur vorbereitet (SFE), und das Dialogfenster abgebaut.

   figure2143
Abbildung 5.1: Bedienungspaneel für den Aufruf des Gittergenerators LATTGEN

   figure2154
Abbildung 5.2: Von LATTGEN beim Aufruf durch den PIF-Editor erzeugtes Gitter


next up previous contents
Next: 6 Benutzerschnittstelle und Kontrollmodul Up: 5 VLISP-Anbindung Previous: 5.4.2 Benutzerschnittstelle

Martin Knaipp
Wed Jun 12 15:41:33 MET DST 1996