PORTAL language description (Q1071490)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | PORTAL language description |
scientific article |
Statements
PORTAL language description (English)
0 references
1985
0 references
Sprachen zur Programmierung von Realtime-Systemen benötigen Sprachelemente, die eine Programmierung paralleler Prozesse erlauben, bei denen gewisse Resourcen konkurrierend benötigt werden. Außerdem müssen Hardware-Interrupts formulierbar sein. Daneben müssen solche Sprachen die Elemente besitzen, um normale sequentielle Abläufe zuverlässig formulieren zu können. Die hier vorgestellte Sprache baut auf Pascal auf und enthält als Synchronisationskonzept den Monitor und das Signal. Als weiteres Element der statischen Strukturierung, zusätzlich zu den von Pascal übernommenen, wird der Modul eingeführt zur Realisierung des ''Information Hiding'' als Konstruktionsprinzip. Das Konzept des Monitors, eines speziellen Moduls, in Verbindung mit dem Konzept des Signals ermöglicht die zuverlässige Formulierung konkurrierender Zugriffe und der System-Interrupts. Die etwas gefährlicheren Sprachelemente von Pascal: Variante records bzw. Pointer sind in PORTAL nur eingeschränkt in einer relativ ''sicheren'' Version vorhanden, als case-Typ bzw. als Indextyp. Auch die Gültigkeitsregeln für Identifier in normalen sequentiellen Abläufen sind etwas enger als in Pascal. Im Bereich der Abstraktion bietet PORTAL als Routinen neben Funktionen und Prozeduren noch ein weiteres Element an: die Resource. In Verbindung mit dem Sprachelement GRANT macht eine Resource im aufrufenden Programm bestimmte globale Variablen oder auch lokale Routinen der Resource verfügbar. Routinen und Module sind auch als Typen definierbar, so daß auf bequeme Art ähnliche Abläufe mittels Identifier-Vereinbarung abstrakt generierbar sind. Ein sehr umfangreiches Beispiel des Betriebssystems für eine Liftanlage demonstriert im Anhang die Anwendbarkeit der Sprache. Daneben sind Implementierungsdetails für zahlreiche Sprachelemente im Anhang aufgeführt.
0 references
Programming Language
0 references
Realtime Language
0 references
Parallel programming
0 references
Information Hiding
0 references
PORTAL
0 references