...Ada [Ada95]
Eine Liste aller zitierten Bücher und Artikel findet sich auf Seite gif (Literatur).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...

Das Range-Attribut ist speziell bei der Verwendung von For-Schleifen praktisch.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...sind
Entsprechende Aussagen gelten selbstverständlich auch für höhere Dimensionen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Unterprogramme
Unterprogramme werden detailliert in Kapitel 5 behandelt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...werden
Falls man sie überhaupt wünscht
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...ersetzt
Genauere Details kann man im Reference Manual [Ada95] nachlesen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...treffen
Details können im Reference Manual [Ada95] nachgelesen werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Typen
Ein kleiner Vorgriff sei uns der Einfachheit halber gestattet.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...werden
Dasselbe gilt für zusammengesetze Typen und private Typen, von denen mindestens ein Bestandteil by reference übergeben wird.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...wird
Vgl. die virtuellen Funktionen in C++ [Str86].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...können
Ohne Use-Klausel müßte man etwa ''+''(a,b) schreiben.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...werden
Natürlich nur, sofern es auf diesem Rechner ein Ada-Laufzeitsystem gibt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...abzubrechen
Näheres zum Thema ,,Abbrechen von Tasks und einer Folge von Anweisungen`` kann man im Ada Reference Manual [Ada95] nachlesen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Scheduling
Das heißt natürlich nicht, daß ein bestimmtes Laufzeitsystem für Ada nicht Betriebssystemprozesse verwenden kann, um Ada-Tasks zu implementieren.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...ist.
Bei Funktionen ist das nicht notwendig, da diese ja nur lesen und daher den internen Zustand des geschützten Records nicht verändern können.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...aus
Ausnahmen sind im Ada Reference Manual [Ada95] nachzulesen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...möglich.
Wir sehen hier schon, wie diese Modularisierung in Ada implementiert werden könnte: Der Titelmodul wird als Paket realisiert werden, die darauf definierten Operationen als sichtbare Unterprogramme des Paketes.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...

Es würde allerdings auch einiges dafür sprechen, diesen Ausdruck als der deutschen Sprache angehörig zu sehen, sind doch alle Wörter, aus denen er besteht, mit Ausnahme von round im Duden, Rechtschreibung der deutschen Sprache, 20.  Auflage, 1991 enthalten, und wird nicht im Vorwort desselben Werkes angekündigt, daß Neuwörter (sic!) aufgenommen werden.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Leseanforderungen
Die Ausführung von Schreiboperationen wollen wir der Einfachheit halber nicht behandeln, da sie gegenüber den Leseoperationen keine zusätzliche Komplexität mit sich bringt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...werden
Wir nehmen vereinfachend an, daß es in zeitlicher Hinsicht egal ist, bei welchem Sektor einer bestimmten Spur der Lese-Schreibkopf zu lesen beginnt.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Autoscheibenwischer
Ein anderer passender Vergleich ist der eines Aufzuges.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...werden
Von jedem Task natürlich nur ein Aufruf, da ja anschließend der Task blockiert wird.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Warteschlangen
Für jeden Entry eine.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Buffer-Task
Eine Realisierung eines Buffer-Tasks findet sich in Kapitel 19.3.1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Transporter-Task
Eine Implementation eines Transporter-Tasks findet sich im Kapitel 19.3.2.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Relais-Task
Eine Realisierung eines Relais-Tasks findet sich in Kapitel 19.3.3.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Wert
Das heißt, daß eigentlich auch ein Analog/Digital-Wandler im Inneren des Temperatur-Sensors verborgen ist. Wir wollen aber unserer objekt-orientierten Denkweise treu bleiben und die Bestandteile des Gerätes den Hardware-Spezialisten überlassen.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Adresse
Wieder wollen wir getreu unseres objekt-orientierten Ansatzes von der tatsächlichen Realisierung in Form eines digitalen Ein-/Ausgabegerätes abstrahieren.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...Modul
d.h. ein ,,Paket`` im Sinne von Ada
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Johann Blieberger
Wed Feb 11 09:58:52 MET 1998