2.2.1 Auswahl der Erweiterungssprache
Next: 2.2.2 Erweiterungssprachen allgemeiner CAD-Systeme
Up: 2.2 Steuerungsebene - TCAD-Shell
Previous: 2.2 Steuerungsebene - TCAD-Shell
Die Auswahl der Erweiterungssprache eines CAD-Systems als
strategisch wichtige, nicht-triviale Aufgabe muß sich an folgenden
Forderungen orientieren:
- Die Erweiterungssprache muß zugleich als Kommandosprache
einsetzbar sein, in der ein Entwickler oder erfahrener
System-Benutzer neben der graphischen Benutzeroberfläche
mit dem CAD-System interagiert oder Prozeduren zur unbeaufsichtigten
Abarbeitung (Batch-Betrieb) definiert. Eine einheitliche
Erweiterungs- und Kommandosprache in CAD-Systemen hat sich
bewährt [CFI91].
- Ein interaktives System erfordert eine interpretierte Sprache.
Ein Interpreter erleichtert das inkrementelle Entwickeln und
Testen. Der Geschwindigkeitsnachteil gegenüber einer kompilierten
Sprache ist nicht wesentlich, da laufzeitkritische Module
nur an die Erweiterungssprache angebunden, nicht aber in ihr
implementiert werden sollen.
- Eine etablierte, vollwertige Programmiersprache
ist einer Neukreation aus Gründen der Benutzerakzeptanz und
des Implementierungsaufwands vorzuziehen.
- Eine möglichst einfache Syntax der Sprache wird aus
Gründen der leichte Erlernbarkeit präferenziert.
- Die Verfügbarkeit der Erweiterungssprache
auf möglichst vielen Rechnerplattformen ist für die
Portabilität des Endsystems wesentlich.
Ein sehr guter Einblick in vielfältige Detailaspekte einer
Erweiterungssprache (zumeist softwaretechnischer Art wie
Speicherverwaltung,
Programmierparadigmen, Kontrolle des Namensraums, Datentypüberprüfung
zur Laufzeit, komplexe Datenstrukturen oder Fehlerbehandlung) ist
mit [Bar91] [CFI91] im Zuge des Auswahlverfahrens
der CAD Framework Initiative (CFI) entstanden.
Zu den oben angeführten allgemeinen Auswahlkriterien
kommen im Falle von VISTA weitere hinzu:
- Der Quellcode des Interpreters soll frei erhältlich
(,,public domain``) sein.
- Die Anbindung von in der Programmiersprache C [Ker88]
geschriebenen Submodulen (z.B. der graphischen
Benutzeroberfläche basierend auf dem X Window System
[Sch88]) muß einfach sein.
Idealerweise ist der Interpreter selbst in C
implementiert, um Betriebsystemabhängigkeiten bei der Übergabe
komplexer Datenstrukturen zwischen unterschiedlichen
Programmiersprachen zu vermeiden.
- Mit PIF als Datenrepräsentation ist bereits eine LISP-ähnliche
Syntax in VISTA eingeführt. Für eine LISP-basierende
Erweiterungssprache spricht die daraus resultierende Konsistenz und
Durchgängigkeit zwischen der Daten- und der Steuerungsebene des
TCAD-Systems.
Den Anforderungen an die Erweiterungssprache in VISTA
wird die Programmiersprache LISP [Win89] am besten gerecht.
Als Basis der Implementierung wurde XLISP [Bet89] von D.M. Betz
gewählt.
Dieser Interpreter orientiert sich am Sprachstandard COMMON LISP
[Ste90a], ist in sehr kompakter, portabler und modularer Weise in C
geschrieben, weist eine klare Schnittstelle zwischen LISP und C
auf und ist im Quellcode frei erhältlich.
Next: 2.2.2 Erweiterungssprachen allgemeiner CAD-Systeme
Up: 2.2 Steuerungsebene - TCAD-Shell
Previous: 2.2 Steuerungsebene - TCAD-Shell
Martin Stiftinger
Mon Oct 17 21:16:53 MET 1994