Benutzer:OPUSDOKUMENTATION/SESAM (Programmiersprache)
SESAM | |
---|---|
Paradigmen: | prozedural, objektorientierte Ansätze |
Erscheinungsjahr: | 1990 |
Entwickler: | Roland Aukschlat, Ralf Weissinger und andere |
Aktuelle Version: | 20 (Juli 2016) |
Beeinflusst von: | Pascal |
Betriebssystem: | Microsoft Windows |
Lizenz: | Proprietär |
SESAM (Schnittstelle zur Erweiterung des Systems durch anwendungsspezifische Makros) ist eine prozedurale Programmiersprache mit objektorientierten Ansätzen mit der man für das CAM-/CAD-System OPUS[1] Algorithmen implementieren kann, wie z.B. Benutzerschnittstellen oder Datenbankanwendungen. OPUS beinhaltet eine integrierte SESAM Entwicklungsumgebung inklusive Compiler, Interpreter und Debugger und einer Vielzahl von weiteren Werkzeugen. SESAM Programme werden zur Syntaxprüfung übersetzt und bei der Ausführung interpretiert.
Die Programmiersprache SESAM ermöglicht den Zugriff auf nahezu alle in OPUS verfügbaren Daten und Funktionen. Große Teile von OPUS sind in SESAM implementiert und stehen dem Anwender als Quelltext zur Verfügung (ca. 750000 Zeilen SESAM Code).
Ähnliche Ansätze zur Implementierung von Algorithmen und Benutzerschnittstellen findet man auch in anderen Systemen im CAM-/CAD-Umfeld, so z.B. bei Creo Elements/Direct Modeling, wo man dies über eine LISP Schnittstelle erreichen kann.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Die Entwicklung und Erweiterung der Programmiersprache erfolgt seit mehr als 25 Jahren durch die OPUS Vertriebs- und Entwicklungs GmbH. SESAM ist auf die Bedürfnisse der NC-Programmentwicklung zugeschnitten. Die Sprache ist eine vollständige, leicht erlernbaren Programmiersprache mit in Deutsch gehaltenen Schlüsselwörternt, mit der man innerhalb von OPUS fast alle Aufgabenstellung direkt bearbeiten kann. Der Funktionsumfang der Sprache kann einfach erweitert werden.
Umfangreiche Anwendungen im NC Umfeld wurden über SESAM programmiert. Dazu gehören das grafisch interaktive Zeit- und Kostenkalkulationsystem TICC[2], die Rücksimulation von NC Programmen, eine Benutzerverwaltung für das OPUS System sowie ein System zur Verwaltung von Kunden- und Projektdaten. Diese Programme können vom OPUS System im Hintergrund ausgeführt werden und werden damit für den Benutzer als eigenständige Anwendungen wahrgenommen.
Merkmale
[Bearbeiten | Quelltext bearbeiten]Sprachelemente
[Bearbeiten | Quelltext bearbeiten]Die Syntax und Semantik von SESAM ähnelt der Syntax und Semantik gängiger Hoch- und Makrosprachen. Alle Schlüsselwörter der Sprache sind auf Deutsch anzugeben. Variablen können mit den Datentypen LOGISCH, GANZ, DEZ, TEXT und ZEIGER deklariert werden; darauf aufbauend lassen sich objektorientierte Strukturen (Kapselung von Daten und Methoden) über den Datentyp KLASSE definieren. Für jeden Datentyp können statische bzw. dynamische Felder in ein- bzw. zwei Dimensionen angelegt und verwaltet werden. Durch das Schlüsselwort UNTERMAKRO lassen sich Funktionen bzw. Unterprogramme mit Übergabe- und Rückgabewerten implementieren. Die typischen Ausdrucksmöglichkeiten und Kontrollstrukturen einer Hochsprache, wie logische Operationen, bedingte Anweisungen und Verzweigungen (WENN ... DANN ... SONST ... ENDEWENN) sowie Schleifen (SOLANGE ... SCHLEIFE .. ENDESOLANGE) werden ebenso wie Rekursion unterstützt.
Einlese- und Parameterdateien
[Bearbeiten | Quelltext bearbeiten]Einlesedateien sind Bibliotheken von SESAM Unterprogrammen bzw. -makros, welche in in verschiedenen Programmen verwendet werden können. Diese Dateien werden mit einem Schlüsselwort zu Beginn eines SESAM Programms eingelesen. Auf diese Art und Weise können existierenden Funktionen von OPUS mehrfach verwendet und in eigene Makros eingebunden werden. Einlesedateien existieren für eine Vielzahl von Aufgabenstellungen, wie z.B. für Vektor- und Matrizenrechnungen, Text- und Dateimanipulationen, die Generierung von Dialogen und Benutzerschnittstellen, die Erzeugung und Manipulation von CAD Objekten, Datenbankanwendungen, Werkzeugverwaltung, die Erzeugung und Simulation von NC Programmen, usw. Durch das Tauschen bzw. Überschreiben von UNTERMAKRO Aufrufen mit gleicher Signatur lassen sich Programmabläufe bzw. -strukturen gerüstartig vorgeben, die dann in konkreten Anwendungsfällen ausprogrammiert werden können.
Parameterdateien sind nach einem einheitlichen Schlüsselwortsystem aufgebaute Dateien für Parameterwerte. Diese werden verwendet um SESAM Programmabläufe zu steuern und Daten über die Laufzeit von Programmen zu erhalten. Sie werden über einen Parameternamen identifiziert und können bei Bedarf geschrieben oder gelesen werden. Parameterdateien können ferner den Aufbau von Datenbanken beschreiben sowie Masken für Benutzerschnittstellen definieren.
Dialoge
[Bearbeiten | Quelltext bearbeiten]Benutzerschnittstellen bzw. Dialoge können in der Entwicklungsumgebung mit SESAM oder über einen Dialoggenerator erstellt werden. Ein Dialog kann übliche Standardelemente wie Piktogramme, Schalter, Eingabefelder, Checkboxen, Auswahlfelder und Listen enthalten, aber auch komplexe graphische Elemente wie verschachtelte Baumstrukturen mit anpassbarer Drag-and-Drop Funktionalität.
Beispiel
[Bearbeiten | Quelltext bearbeiten]Das SESAM Programmierbeispiel auf der rechten Seite erwartet über einen Dialog die Eingabe einer natürlichen Zahl N und ermittelt dann die Summe 1 + 2 + ... + N über eine einfache Schleife.
Zu Beginn des Programms werden Grundfunktionen eingebunden (Zeile 2); damit kann man einen einfachen Dialog aufbauen (Zeile 11 - 14) und abarbeiten (Zeile 17 - 20) um eine Zahl N einzugeben. Anschliessend erfolgt die Berechnung der Summe (Zeile 23 - 29) über eine Schleife. Schliesslich wird das Ergebnis ausgegeben (Zeile 32) und das Programm beendet.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]Kategorie:Interpretersprache Kategorie:Prozedurale Programmiersprache