- ...Ada [Ada95]
-
Eine Liste aller zitierten Bücher und Artikel findet sich auf Seite
(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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.