Pearl - eine geeignete Sprache für die Echtzeitprogrammierung

23.06.1978

Die derzeitige Situation im Bereich der Echtzeitprogrammierung ist bestimmt durch die zunehmende Anwendung höherer Programmiersprachen und damit durch den Bedarf an geeigneten, stabilen und weitverbreiteten Programmiersprachen für diesen Bereich. Die seit 1969 vom BMFT, seit 1972 im Projekt PDV geforderte Entwicklung von Pearl erfolgt in Erwartung dieses Bedarfs.

Krupp Atlas-Elektronik Bremen (KAE) ist seit 1974 an der Pearl-Entwicklung beteiligt. Seit Herbst 1977 besitzt KAE als erste Firma einen ablauffähigen Compiler für Basis-Pearl, welcher den Sprachstand des Normvorschlags DIN 66253 auf dem Rechner EPR 1100 und für die angekündigte Rechnerlinie EPR 1300/1500 realisiert. Auf dem EPR 1100 werden bereits mehrere Projekte (KAE-intern und bei Kunden) in Pearl durchgeführt.

Die Entscheidung von KAE schwerpunktmäßig auf Pearl als höhere Programmiersprache über die Echtzeitprogrammierung zu setzen und nicht auf eine andere angebotene, empfohlene oder noch zu entwickelnde Möglichkeit, stützt sich im wesentlichen auf die folgende Überlegung:

þPearl ist eine echtzeitbezogene Sprache

Für die Formulierung derjenigen Teilaufgaben, welche die Besonderheiten der Echtzeitprogrammierung ausmachen (ansprechend von Prozeßgeräten, Parallelverarbeitung, Reaktionen auf spontane externe Ereignisse etc.) bietet Pearl auf Sprachebene eigene Sprachelemente an. Die Verfügbarkeit derartiger Elemente auf Sprachebene und nicht etwa über Unterprogramme oder Assemblereinschübe bedeutet einmal, daß manche Programmierfehler in diesem Bereich schon durch den Compiler erkannt werden, zum anderen erhöht sieh die Selbstdokumentation von Programmen.

þPearl ist eine universelle höhere Programmiersprache

Verfügbare Kontrollstrukturen und algorithmischer Teil von Pearl entsprechen einem Standard, wie er sich aufgrund allgemeiner Erfahrung für höhere Programmiersprachen mit universellem Anwendungsbereich herausgebildet hat.

þPearl unterstützt Software-Engineering

Durch geeignete Sprachelemente und Sprachvorschriften erfüllt Pearl die Forderung, daß eine höhere Programmiersprache eine Programmierweise begünstigen soll, die zu sicheren, überschaubaren und modular aufgebauten Programmen führt. Adäquate Verwendung der verfügbaren Sprachmittel mit Pearl-Programmen weitgehend selbst dokumentierend.

þPearl ist auch auf kleineren Rechnern verfügbar

Mit Basis-Pearl ist eine Teilsprache von Pearl ausgegliedert worden, welche die wesentlichen Elemente von Pearl umfaßt und trotzdem auf kleineren Rechnern (bei KAE ab 48 K Speicher, mit Floppy-Laufwerken) implementiert und effizient eingesetzt werden kann.

þPearl unterstützt die Portabilität von Programmen

Pearl-Programme sind als Programme in einer höheren Programmiersprache weitgehend transportabel. Sachverhalte, die sich nicht anlageunabhängig formulieren lassen (zum Beispiel Aufbau und Eigenschaften von Prozeßgeräten), werden in einem speziellen Interfeld dem Systemteil eines Pearl-Programms zusammengefaßt. Bei Übertragung eines Programms auf eine andere Anlage muß dann nur der Systemteil geändert werden, nicht aber eine unvorhergesehene Menge von Statements an allen möglichen Stellen des Programms.

þPearl ist das Ergebnis langjähriger Erfahrung

Pearl ist kein "Ad-hoc"-Entwurf, sondern das Ergebnis einer langjährigen Entwicklung an der Anwender, Computerhersteller, Softwarehäuser und wissenschaftliche Institute beteiligt waren. In den Sprachentwurf flossen dabei sowohl grundsätzliche Überlegungen ein als auch Erfahrungen, die mit anderen Sprachen und vorläufigen Pearl-Implementationen gewonnen wurden.

þPearl hat einen stabilen Zustand erreicht

Der Sprachstand von Pearl ist seit 1976 stabil, für Basis-Pearl liegt ein Normvorschlag (DIN 66253) vor, ein Normvorschlag für den gesamten Sprachumfang von Pearl ist in Arbeit, eine ISO-Norm für Pearl wird vorbereitet.

In letzter Zeit wurde eine Reihe von Anwendungsprojekten unterschiedlicher Größenordnung vergeben, bei denen die Verwendung von Pearl im endgültigen Sprachzustand zur Auflage gemacht worden war. Auf diese Weise wurde die Anlaufschwelle für Pearl überschritten und erreicht, daß bereits nach kurzer Zeit der Normvorschlag (beziehungsweise die Norm) nicht allein auf dem Papier steht, sondern durch eine Vielzahl von Implementationen auf unterschiedlichen Rechnern gestützt wird (bis Ende 1978 werden sieben Implementierungen erwartet).

Ein Teil dieser Überlegung die für die Verwendung von Pearl als Extraprogrammiersprache sprechen, beruht auf einer außersprachlichen Tatsache, nämlich dem zeitlichen Vorsprung, mit dem Pearl in einer stabilen, normfähigen Form auf dem deutschen Markt vorliegt. Es ist jetzt noch zu erwarten, daß auch mit einem etwaigen Schwinden dieses Vorsprungs allein die sprachbezogenen Argumente (zum Beispiel die Existenz Echtzeit-orientierter Sprachelemente, die Pearl etwa vor Prozeß-Fortran auszeichnen, oder die Existenz des Systemteils, die Pearl etwa vor HOL - Higher Order Language - auszeichnet) Pearl als überlegenes Instrument der Echtzeitprogrammierung ausweisen werden. Die Tatsache daß inzwischen auch ausländische Hersteller Pearl-Implementationen planen, spricht mit für die Richtigkeit dieser Erwartungen.