Im letzten Teil unserer Einführung in das neue Multitasking Betriebssystem EUMEL soll es zunächst um die Programmieroberfläche gehen. Bereits im vorherigen Heft wurde der Editor vorgestellt, der jedoch über einige - bisher noch unerwähnte - Funktionen verfügt, die für den Programmierer in-terressant sind. Da ist zunächst die Möglichkeit, mit nahezu unendlich vielen Fenstern parallel zu arbeiten (Bild 1). Jedes neue Fenster kann an einer beliebigen Stelle auf dem Bildschirm geöffnet werden: Nach der doppelten Betätigung der Escape Taste (ESC) hat man die Monitorebene vor sich und gibt »edit („dateiname“)« an; dann erscheint an der aktuellen Cursorposition ein zusätzliches Textfenster. Ein Wechseln zwischen den Fenstern ist mit ESC-w jederzeit möglich. Leider fehlt die Möglichkeit, ein Fenster nachträglich in seiner Position zu verändern.
Der Programmierer kann mit der Fenstertechnik in einem Bildschirmausschnitt seinen Sourcecode in ELAN erstellen, in einem zweiten Fenster die Auswirkungen des gestarteten Programms verfolgen und in dem Notizbuch eventuelle Fehlermeldungen ablesen. Das Notizbuch ist nichts anderes als eine ständig präsente Datei, die mit ESC-n aufgerufen wird und in der alle Anmerkungen des ELAN Compilers vorliegen. Wer die schnell vorbeihuschenden Fehlermeldungen anderer Compiler kennt, wird dieses Detail zu schätzen wissen.
Die Programmentwicklung unter EUMEL verläuft in der Regel wie folgt: zunächst wird ein ELAN Programm mit dem Editor erstellt, wobei natürlich alle Möglichkeiten der Textverarbeitung (Blöcke verschieben, Suchoperationen etc.) zur Verfügung stehen. Im nächsten Schritt wird das erstellte Programm mit dem Befehl »run („dateiname“)« dem ELAN Compiler übergeben. Dieser nimmt eine Überprüfung in zwei Durchgängen vor, schreibt eventuelle Fehler in das Notizbuch und startet das Programm, - vorausgesetzt es ist fehlerfrei (Bild 2).
Sofern ein einmal korrekt ablaufendes Programm häufiger verwendet werden soll, gibt es die Möglichkeit, das Programm als Paket zu insertieren, d. h. in der Benutzertask dauerhaft zur Verfügung zu stellen (ein „Paket“ als Sammlung von Prozeduren ist für ELAN ungefähr das, was bei MODULA 2 das „module“ darstellt). Der Befehl »insert („dateiname“)« erledigt dies völlig automatisch. Auch hier wird allerdings zunächst der ELAN Compiler vorgeschaltet und das Programm überprüft. Nun steht das einmal inser-tierte Programm als Monitorbefehl jederzeit (ohne Nachladen von Diskette o. ä.) zum Aufruf bereit.
TEXT VAR zeile, taste, taste 2, sl, s2;
INT VAR p, i, tl, t2;
PROC bestimme taste :
p : = pos (zeile, " ", 3);
scan ( subtext (zeile, 1, p) );
next symbol (sl, tl);
IF t1 = text type
gib kommando :
insert ("tastenbelegung")
281
Keine Fehler gefunden, 1346 B Code, 25B B Paketdaten generiert
******* ENDE DER UEBERSETZUNO *******
**Bild 2: Hier wurde ein Programm insertiert. Der EUMEL gibt an, wieviele Paketdaten er generiert hat.**
</div>
Dieses Prinzip wird auch bei kommerziellen Anwenderprogrammen verwendet. Die Dateiverwaltung EUDAS von Thomas Berlage wird z.B. als Sourcefile geliefert und mit dem hier beschriebenen Verfahren insertiert. Der Start von EUDAS verläuft dann genauso wie der des Editors: »eudas („dateiname“)«.
Um die redundante Speicherung von Paketen zu vermeiden, existiert die äußerst einfallsreich konzipierte Option, die in Vatertasks insertierten Programme auch allen Sohntasks bereitzustellen. Sollen mehrere Benutzer auf die Dateiverwaltung zurückgreifen, so reicht es aus, eine Vatertask mit EUDAS einzurichten und somit steht das gesamte Dateiprogramm für alle Söhne bereit. Desweiteren erlaubt es das Paketprinzip von ELAN, modular zu programmieren. Große Programme können in kleine „Häppchen“ aufgeteilt werden, die jeweils einzeln bearbeitet und überprüft werden (Bild 3).
<div class="picture center" style="width: px;"> <img src="/stc1987/images/eumel3.jpg" alt="" /> <br />Bild 3: Ausschnitt aus einem Filterprogramm. Definiert wird das Paket „eumel to xywrite“.</div>
Und noch mehr: Die vom Betriebssystem bereitgehaltenen Standardpakete dürfen ebenfalls unter ELAN in einem Anwenderprogramm verwendet werden (Bild 4). So ist es nicht nur möglich, Monitorbefehle vom Editor aus einzugeben, vielmehr kann auch der Editor aus einem Benutzerprogramm heraus aufgerufen werden. Allgemein ausgedrückt heißt dies, daß alle Monitorbefehle nichts anderes als insertierte Pakete darstellen, die in ELAN Programme einbindbar sind.
<div class="picture center" style="width: px;"> <img src="/stc1987/images/eumel4.jpg" alt="" /> <br />Bild 4: Eine Liste der vorhandenen Pakete mit dem Befehl „packets“.</div>
# ELAN
Die Programmiersprache ELAN (ELementary LANguage) ist ein Abkömmling der ALGOL68 Familie und erinnert in seinen Strukturen stark an PASCAL oder MODULA 2. Als elementare Datentypen stehen Integer-(INT) und Realzahlen (REAL), Zeichenketten (TEXT) und Wahrheitswerte (BOOL) bereit. Datenobjekte müssen, wie in fast jeder Hochsprache, deklariert werden. ELAN kennt natürlich keine GOTO-Befehle (wozu auch?) sondern die oben erwähnten Pakete und Refinements. Letztere sind quasi Unterprogramme mit eigenem Namen, die die „top down“ Programmierung ermöglichen. Ein kleines Programm könnte etwa wie folgt aus-sehen:
**Tabelle 1 - Ein Beispielprogramm unter ELAN**
INT VAR a,b,x
Einlesen von a und b;
Vertauschen von a und b;
Neue Werte ausgeben.
Einlesen von a und b:
get (a);
get (b).
Vertauschen von a und b:
x := a;
a := b;
b := x.
Vertauschte Werte ausgeben:
put (a);
put (b).
Tabellenende
Refinements können verschachtelt sein,
- damit reicht es aus, nur Teile einer umfassenden Problemlösung zu bearbeiten. Daß die Programmstruktur mit diesem Prinzip äußerst übersichtlich und dokumentationsfreundlich wird, ergibt sich von selbst. Schleifen und Abfragen können leicht konstruiert werden. Eine kleine Auswahl zeigt Tabelle 2.
**Tabelle 2 - Schleifen und Abfragen unter ELAN**
WHILE ... REPEAT
REPEAT ... UNTIL
FOR... FROM ... UPTO/DOWNTO
... REPEAT
IF ... THEN ... ENDIF
IF ... THEN ... ELSE ... ENDIF
Tabellenende
<div class="picture center" style="width: px;"> <img src="/stc1987/images/eumel5.jpg" alt="" /> <br />Bild 5 Vier Zeilen Programmcode sind erforderlich, um den Zeichensatz in ein Textfenster auszugeben. Mehr nicht!</div>
Es würde zu weit führen, alle Sprachelemente aufzuzählen, - für weitere Informationen ist eine Literaturliste am Ende des Artikels abgedruckt. Insgesamt läßt sich jedoch sagen, daß ELAN eine auch für Programmierlaien leicht zu erlernende Sprache ist, die das strukturierte Abarbeiten von Problemen gestattet und die in den Betriebssystemkern eingebunden werden kann (Bild 5). Dabei kommt die Professionalität in keinem Punkte zu kurz: Auch kommerziell vertriebene Anwenderprogramme sind in der Regel in ELAN abgefaßt.
Kritikpunkte sind dennoch aufzuführen. Real-Time Anwendungen sind derzeit nicht machbar. Dies liegt u. a. daran, daß - zweitens - die EUMEL Übertragung auf den Atari ST nicht im maschinennahen „Native-Code“ vorgenommen wurde. In puncto Geschwindigkeit ist deshalb der EUMEL auf dem Atari ST nicht der schnellste. Als Vergleichsrechner stand uns der BI-COS 286 zur Verfügung, der mit dem Intel-Prozessor 80286 und einer Taktfrequenz von immerhin 16 MHz arbeitet. Wir mußten feststellen, daß bei verschiedenen Benchmarks der Atari ST höchstens halb so schnell lief wie der BICOS 286. Wer als Einzelbenutzer mit dem Atari arbeitet, wird davon nur wenig merken, - Schwierigkeiten gibt es erst bei parallel laufenden Aufgaben.
# Der Hamster in der Schule
Zu den mitgelieferten Programmpaketen unseres Testexemplars gehört u. a. der Hamster. Das ist eine kleine Kunstwelt, die für die Programmierausbildung geschaffen wurde und die sich vorzüglich zum Schuleinsatz eignet.
Herbert, der Hamster, bewegt sich auf einer gekachelten Landschaft, die einige Körner aber auch Hindernisse enthält (Bild 6). Herbert kann sich in seiner Umwelt frei bewegen und Körner in seiner Backentasche ablegen. Um die Landschaft zu erfassen, kann Herbert verschiedene Tests vornehmen: er fragt, ob die vor ihm liegende Kachel frei ist, ob ein Korn in der Umgebung liegt und wieviele Körner sich bereits in seinen Backentaschen befinden. Komplexere Suchstrategien lassen sich in einem Hamsterprogramm formulieren und erarbeiten.
Auch wenn diese Mischung aus Logo und Robotersimulation sicherlich nicht jedermanns Sache ist: zwei Dinge sind dennoch bemerkenswert. Zum einen zeigt der Hamster wie auch mit ELAN eine benutzerfreundliche Menüsteuerung implementiert werden kann. Auf Bild 7 sehen Sie, daß alle Befehle des Hauptmenüs mit den Cursortasten selektierbar sind, - man kann also mit ELAN eine völlig neue Benutzerumgebung schaffen, ohne daß dies zu Lasten der Leistungsfähigkeit geht. Zum anderen soll das Beispiel des Hamsters zeigen, daß EUMEL insbesondere für den Schuleinsatz einige herausragende Einsatzmöglichkeiten bietet. Am Hamster kann der Algorithmusbegriff für das strukturierte Lösen von Problemen eingeführt werden; Hemmschwellen gegenüber dem Computer verschwinden durch den spielerischen Charakter des Programms. Darüber-hinaus ist das Programmpaket SCHU-LIS speziell für den Unterricht vorgesehen. Mit dem Modellcomputer MOCO können grundlegende Eigenschaften von Computern mit minimalen Grundkenntnissen vermittelt werden. Für den naturwissenschaftlichen Unterricht in der Oberstufe existiert SIMSEL, ein Werkzeug, mit dem sich gekoppelte Differentialgleichungen behandeln lassen. Und schließlich gehört zum SCHULIS Lieferumfang ein komplettes Verwaltungssystem für Sekretärinnen, Lehrer und Schulleitung. Mit ihm sind organisatorische Routineaufgaben auch ohne Informatikvorkenntnisse schnell in den Griff zu bekommen.
# Simulationen mit DYNAMO
Ein anderes Paket, das uns für EUMEL geeignet erschien, und in der Forschung Anwendung findet Es ist die Simulationssprache DYNAMO, die von Jay Forrester in den sechziger Jahren am Massachusetts Institute of Technology entwickelt wurde. DYNAMO erlaubt als nicht-prozedurale Sprache die Simulation von Systemen, in denen Veränderungen kontinuierlich entstehen. Dabei kann man vorhandene mathematische Gleichungen fast ohne Modifikationen dem Compiler vorsetzen und erhält die in Bild 8 dargestellten Diagramme. DYNAMO wird vor allem bei ökologischen, gesellschaftlichen, wirtschaftlichen und technischen Simulationen eingesetzt und zeigt erneut, wie einfach mit ELAN auch eine Kunstsprache geschaffen werden kann. Dies gilt auch für LISP, die Sprache der künstlichen Intelligenz, die John McCarthy mit ELAN realisiert hat und die, wie das Hamsterprogramm kostenlos ist.
# Statistik mit DASYS
Schließlich haben wir das Datenauswertungssystem DASYS untersucht Das Programm ist keine Tabellenkalkulation im herkömmlichen Sinne, sondern ein Zusatzpaket, das auf Tabellen zurückgreift, die mit dem EUMEL Editor erstellt wurden. DASYS beherrscht die wichtigsten Grundfunktionen der Statistik, dazu zählen zunächst einfache Kenngrößen wie die Berechnung von Minimum und Maximum, Spannweite, Median, Summe, arithmetisches Mittel, Standardabweichung und Varianz. Häufigkeitsauszählungen bei stetigem und diskretem Merkmal gehören schon zu den komplexeren Funktionen. Dies gilt auch für die Erstellung einer Korrelationsmatrix zur Berechnung des Pearsonschen Stichproben-Korrelationskoeffizienten. Auch für die Lineare Regression können Taschenrechner und Bleistift beiseite gelegt werden, — DASYS erstellt automatisch eine vollständige Regressionsgleichung aus vorhandenem Datenmaterial. Sicherlich kann ein Statistiksystem wie SPSS von DASYS bei hochkomplexen Anforderungen nicht ersetzt werden, aber für den kleinen Bedarf stellt das Paket für 200 DM durchaus eine Alternative dar.
<div class="picture center" style="width: px;"> <img src="/stc1987/images/eumel6.jpg" alt="" /> <br />Bild 6: Herbert der Hamster auf Körnersuche.</div>
# Preise
Damit sind wir bei den Preisen angelangt. Das Betriebssystem EUMEL kostet in der Multiuser-Version 750 DM (alle Angaben ohne Mwst.), für Schulen und Hochschulen die Hälfte. Dazu kommen die erforderlichen Programmpakete. Die Textverarbeitung ist für 850 DM zu haben; wer alte Dateien vom Atari ST oder IBM Clone bearbeiten möchte, muß 200 DM für das Transferpaket von Frank Klapper bezahlen. Auch für die Vernetzung mehrerer EUMEL Stationen untereinander wird ein Aufpreis erhoben: 200 DM kostet die notwendige Software. Auf den ersten Blick mag dies für den privaten Anwender viel Geld sein, -wenn man aber die Leistungsfähigkeit des EUMELs berücksichtigt, ergibt sich für die Minimalkonfiguration eine Software-Investition von 1.600 DM. Soviel kostet ein sehr gutes Textprogramm für die MS-DOS Welt, zumeist ohne Netzwerkfähigkeit und die hier vorgestellten Optionen. Wenn wir EUMEL mit vergleichbaren Systemen konfrontieren, zeigt sich schnell, daß dieses Betriebssystem relativ günstig zu haben ist.
# Für wen ist EUMEL empfehlenswert?
Zunächst sei an den Anwender gedacht, der selbst programmieren will oder muß, - vielleicht schon deshalb, weil keine Standardprogramme erhältlich oder Spezialaufgaben zu erledigen sind. Textverarbeitung, Dateiverwaltung und Tabellenkalkulation sollen integriert sein und die Programmiersprache soll hochkomplexe Anforderungen mit möglichst geringem Aufwand erledigen können. In diesem Fall ist EUMEL ohne Zweifel die ideale Softwarelösung. Mit einem Kostenaufwand von rd. 6.000 DM (Atari 1040 ST, Festplatte, Drucker und EUMEL System mit Textverarbeitung) zuzüglich der Kosten für Dateiverwaltung und Tabellenkalkulation liegt man ungefähr bei dem, was für einen IBM Clone und ein integriertes Softwarepaket zu zahlen sind, die Regel nicht annähernd die Flexibilität und Leistungsfähigkeit, geschweige denn den Multitasking und Multiuserfähigkeiten des EUMELs erreichen.
<div class="picture center" style="width: px;"> <img src="/stc1987/images/eumel7.jpg" alt="" /> <br />Bild 7: Menüsteuerung mit Cursortasten: auch unter EUMEL keine Schwierigkeit.</div>
Wenn auch ein „Freak“ vielleicht nur am Rande von den Multitaskingeigenschaften des EUMELs Gebrauch macht, - so wird z. B. Schreibbüro auf diese nicht verzichten wollen. Als zusätzliche Investitionen sind hier Terminals (rd. 1.000 DM) und Laserdrucker (ab 6.000 DM) aufzuführen. Zum Preis eines Kleinwagens erhält man eine EUMEL Station mit mehreren Arbeitsplätzen, die mit Ausnahme der Graphikintegration alles bietet, was zum Buchdruck erforderlich ist. Eine vergleichbare Konstellation wäre etwa ein IBM-AT System mit Textprogramm und Laserdrucker, bei dem man allerdings auf mehrere Arbeitsplätze und das Multitasking verzichten müßte.
Auch Großfirmen sind mit EUMEL sicherlich gut bedient. In diesem Fall wird man allerdings dem BICOS 386 (mit Intels 80386 Prozessor) gegenüber dem Atari ST den Vorzug geben. 10 Terminals werden an eine Station mit Zentralrechner angeschlossen und beliebig viele EUMEL-Knotenpunkte können mit der Netzsoftware verbunden werden. Uber das Netz verschickt man alle notwendigen Daten mit nur einem Befehl, der Empfänger holt sich mit „get my mail“ die Eingangspost jederzeit ab. Auch der Hardwareeinsatz ist dann effektiver: Den Drucker am Knotenpunkt ergänzt ein zentral aufgestellter Laserdrucker, der über das Hausnetz alle Texte mit hohen Qualitätsansprüchen empfängt. Ein Beispiel für den Großeinsatz ist die Universität Bielefeld, an der der EUMEL u.a. entwickelt wurde. Dort sind an Instituten, Lehrstühlen und auch im öffentlichen Zugang rund 400 Terminals mit fast 50 Knotenpunkten installiert. Jede EUMEL Station verfügt über einen Standarddrucker und im Hochschulrechenzentrum übernimmt der Laserdrucker die Ausgabe für alle Benutzer, die sich durch eine Zugangsberechtigung ausweisen können
Ein weiteres Beispiel für den sinnvollen Einsatz des Betriebssystems EUMEL ist der Schulbereich. Nicht nur die Schulsoftware SCHULIS, sondern auch die strukturierte Programmiersprache ELAN und der Multiuserbetrieb sind Vorzüge, die in dieser Preisklasse kein anderes System zu bieten hat. Daß der EUMEL Einsatz nicht nur auf den Informatikunterricht beschränkt ist, haben wir bereits gesehen. Auch der naturwissenschaftliche Unterricht und die Schulverwaltung kommt nicht zu kurz. Das haben inzwischen rund 800 Schulen erkannt, die bereits erfolgreich EUMEL in Ausbildung und Lehre einsetzen.
<div class="picture center" style="width: px;"> <img src="/stc1987/images/eumel8.jpg" alt="" /> <br />Bild 8: Eine graphische Ausgabe unter DYNAMO.</div>
Unsere Serie konnte selbstverständlich nur einige, wenige Ausschnitte des neuen Betriebssystems für den Atari ST vorführen. EUMEL hat bis jetzt in der Computerwelt noch nicht die Bedeutung erlangt, die ihm von der Leistungsfähigkeit her zustände. Das mag daran liegen, daß das Betriebssystem nicht in dem Maße kommerziell vermarktet wird, wie dies ein großes Softwareunternehmen, aber nicht die öffentlich-rechtliche „Gesellschaft für Mathematik und Datenverarbeitung“ leisten könnte. Es ist bekannt, daß auch mangelhafte Betriebssysteme etablierter Firmen durch viel Public Relations und Sponsortätigkeit durchsetzbar sind. EUMEL glänzt hingegen nur durch seine inneren Qualitäten - und zwar ganz kräftig
Michael Spehr
Literatur zum Weiterlesen:
[1] Hommel/Jäckel/Jähnichen u. a., ELAN-Sprachbeschreibung, Akademische Verlagsgesellschaft Wiesbaden
[2] Hahn/Stock, ELAN-Handbuch, Akademische Verlagsgesellschaft Wiesbaden
[3] Klingen/Liedtke, Programmieren in ELAN, Teubner-Verlag Stuttgart
[4] Klingen/Liedtke, ELAN in 100 Beispielen, Teubner-Verlag Stuttgart
[5] Craemer, Das Buch zum DYNAMO Compiler auf dem EUMEL System, Teubner-Verlag Stuttgart
[6] Danckwerts/Vogel/Bovermann, Elementare Methoden der Kombinatorik, Teubner-Verlag Stuttgart
[7] Blau, Sprachenband ELAN, Metzlersche Verlagsbuchhandlung Stuttgart
[8] Ambros, Der Hamster. Programmieren lernen in einer Modellwelt, Metzlersche Verlagsbuchhandlung Stuttgart