Weiter:
Ada - Ein Überblick
Hinauf:
Rendezvous mit Ada
Zurück:
Vorwort
Inhalt
Ada - Ein Überblick
1 Lexikalische Einheiten und Namen
1.1 Der Zeichensatz
1.2 Lexikalische Einheiten und Namen
2 Typen, Klassen und Variablen
2.1 Skalare Typen
2.1.1 Ganze Zahlen
Aufzählungen
2.1.3 Reelle Zahlen
2.1.4 Universelle Typen
2.2 Zusammengesetzte Typen
2.2.1 Felder
2.2.2 Records
2.2.3 Aggregate
2.3 Subtypen
2.4 Pointer
2.4.1 Pointer auf Objekte
2.4.2 Pointer auf Unterprogramme
2.4.3 Alias-Objekte
2.5 Private Typen
2.6 Limitierte Typen
2.7 Getaggte Typen und Typerweiterungen
2.7.1 Typerweiterungen
2.7.2 Erweiterungsaggregate
2.7.3 Abstrakte Typen
2.7.4 Access-Diskriminanten
Ausdrücke
3.1 Operatoren
Auswertung von Ausdrücken
3.3 Kurzauswertungen
3.4 Logische Operatoren
3.5 Vergleichsoperatoren
3.6 Elementtests
Operationen für ganze Zahlen
3.8 Konkatination
3.9 Potenzieren
4 Anweisungen
4.1 Die Null-Anweisung
4.2 Die Zuweisung
4.3 Die If-Anweisung
4.4 Die Case-Anweisung
4.5 Die Exit-Anweisung
4.6 Die Loop-Anweisung
4.6.1 Die Loop-Anweisung ohne Iterations-Schema
4.6.2 Die Loop-Anweisung mit einem While-Schema
4.6.3 Die Loop-Anweisung mit einem For-Schema
4.6.4 Benannte Loop-Anweisungen
4.7 Die Block-Anweisung
4.8 Die Return-Anweisung
4.9 Die Goto-Anweisung
5 Unterprogramme
5.1 Deklaration eines Unterprogrammes
5.2 Formale Parameter
5.3 Aufruf von Unterprogrammen
Rückkehr aus Unterprogrammen
5.5 Unterprogramm-Implementation
5.6 Das Parametertyp-Profil
5.6.1 Pointer auf Unterprogramme
Überladen von Unterprogrammen
Überladen von Operatoren
5.7 Abstrakte Unterprogramme
6 Exceptions
6.1 Die Deklaration von Exceptions
Das Auslösen von Exceptions
6.3 Die Behandlung von Exceptions
7 Pakete
7.1 Abstrakte Datentypen
7.2 Hinausgeschobene Konstanten-Definition
7.3 Zugriff auf in Paketen deklarierte Objekte
Getrennte Übersetzbarkeit
7.5 Benutzerdefinierte Initialisierung, Zuweisung und Finalisierung
8 Generische Einheiten
8.1 Ein einleitendes, umfangreicheres Beispiel
8.2 Generische formale Objekte
8.3 Generische formale Typen
8.4 Generische formale Unterprogramme
8.5 Generische Formale Pakete
9 Tasks
9.1 Multitasking in Ada
9.2 Task-Typen und Task-Objekte
Die Aktivierung und die Ausführung von Tasks
9.4 Anweisungen zur Programmierung von Tasks
9.4.1 Die Delay-Anweisung
9.4.2 Die Delay-Until-Anweisung
9.4.3 Die Abort-Anweisung
9.5 Das Rendezvous-Konzept in Ada
9.5.1 Wie ein gerufener Task das Rendezvous beeinflussen kann
9.5.2 Die Requeue-Anweisung
9.5.3 Der Private-Teil von Tasks
9.5.4 Wie der rufende Task das Rendezvous beeinflussen kann
9.6 Familien von Task-Entries
9.7 Diskriminierte Tasks
9.8 Scheduling von Tasks
9.9 Rendezvous und Exceptions
9.10 Die Termination von Tasks
Geschützte Objekte
Spezifikation und Implementierung geschützter Objekte
Die unterschiedlichen Operationstypen geschützter Objekte
Deklaration geschützer Objekte
Diskriminierte geschützte Objekte
Programmstruktur und Übersetzungsvorgang
Getrennte Übersetzung
Übersetzungs- und Bibliothekseinheiten
Untereinheiten von Übersetzungseinheiten
11.4 Das Hauptprogramm eines Ada-Programmes
12 Objektorientierte Konzepte in Ada und ihre Umsetzung in die Praxis
12.1 Heterogene Listen
12.2 Mehrfache Implementationen
12.3 Iteratoren
12.4 Ein allgemeines Mengenkonstrukt als Beispiel
12.4.1 Die Standard-Logik
12.4.2 Die Fuzzy-Logik
12.4.3 Ein Standard-Beispiel
12.4.4 Ein Fuzzy-Beispiel
13 Mehrfachvererbung in Ada
13.1 Kombination von Implementation und Abstraktion
13.2 Mixins
13.3 Mehrfache Sichtweisen eines Objektes
14 Low-Level Features
14.1 Darstellungsklauseln
Die Spezifikation von Längen
Die interne Darstellung von Aufzählungstypen
14.1.3 Die interne Darstellung von Record-Typen
14.1.4 Die Festlegung von Adressen
14.2 Attribut-Definitionen
14.3 Unkontrollierte Deallokation und Unkontrollierte Typ-Konversion
14.4 Storage Pool Management
Andere Arten maschinennaher Programmierung
15 I/O und das Calendar-Paket
15.1 Ein-/Ausgabe
Ein-/Ausgabe für binäre Daten
Ein-/Ausgabe für lesbare Daten
15.2 Das Paket Calendar
Die Anhänge zum Sprachstandard
E.2 Konfiguration von Partitionen
A Vordefinierte Pakete
A.1 Das Paket Standard
A.2 Das Paket Ada
A.2.1 Das Paket Ada.Characters
Das Paket Ada.Characters.Handling
Das Paket Ada.Characters.Latin_1
A.2.2 Das Paket Ada.Strings
Das Paket Ada.Strings.Maps
Das Paket Ada.Strings.Fixed
Das Paket Ada.Strings.Bounded
Das Paket Ada.Strings.Unbounded
Das Paket Ada.Strings.Constants
Das Paket Ada.Strings.Wide_Maps
A.2.3 Das Paket Ada.Numerics
Das Paket Ada.Numerics.Generic_Elementary_Functions
Das Paket Ada.Numerics.Float_Random
Das Paket Ada.Numerics.Discrete_Random
A.2.4 Das Paket Ada.IO_Exceptions
A.2.5 Das Paket Ada.Sequential_IO
A.2.6 Das Paket Ada.Direct_IO
A.2.7 Das Paket Ada.Storage_IO
A.2.8 Das Paket Ada.Streams
Das Paket Ada.Streams.Stream_IO
A.2.9 Das Paket Ada.Text_IO
Das Paket Ada.Text_IO.Text_Streams
A.2.10 Das Paket Ada.Command_Line
A.3 Das Paket System
A.3.1 Das Paket System.Storage_Elements
A.3.2 Das Paket System.Storage_Pools
A.4 Unchecked_Conversion
A.5 Unchecked_Deallocation
C Systemprogrammierung
Unterstützung für Interrupts
C.2 Identifikation und Attributierung von Tasks
D Echtzeitprogrammierung
Prioritäten
Scheduling mit Prioritäten
D.3 Die Standard-Dispatching-Politik
D.4 Priority Ceiling Locking
D.5 Entry-Queuing-Politiken
Dynamische Prioritäten
Über die Zeit
D.8 Synchrone Task-Kontrolle
D.9 Asynchrone Task-Kontrolle
E Verteilte Systeme
E.1 Kategorisierung von Bibliothekseinheiten
E.1.1 Pure Library Units
E.1.2 Shared Passive Library Units
E.1.3 Remote Types Library Units
E.1.4 Remote Call Interface Library Units
E.1.5 Normal Library Units
Programmierhilfsmittel
16 APSE (Ada Programming Support Environment)
17 Buhr- und Booch-Diagramme
17.1 Graphische Symbole
17.2 Kombination der graphischen Symbole
Programm- und Systementwurf mit Ada
18 Objekt-orientierter Entwurf
18.1 Objekt-orientierte Konzepte und ihre Entstehung
Eine Gegenüberstellung
Herkömmliche Modularisierung
18.4 Objekt-orientierte Modularisierung
18.5 Ein Vergleich der beiden Modularisierungskonzepte
18.6 Begriffe objekt-orientierter Modularisierung
18.7 Vorgangsweise beim objekt-orientierten Entwurf
Entwurf als schrittweiser, sich wiederholender Prozeß
18.7.2 Identifizieren von Klassen und Objekten
18.7.3 Identifizieren der Semantik von Klassen und Objekten
18.7.4 Identifizieren der Beziehungen zwischen Klassen und Objekten
18.7.5 Implementieren von Klassen und Objekten
18.8 Ein Platten-Treiber als Beispiel
Entwurf von Echtzeit- und Automatisierungssystemen
19.1 Das asymmetrische Rendezvous
19.2 Das Produzent/Konsument-Problem
19.2.1 Enge Bindung
19.2.2 Lose Bindung
19.3 Die Realisierung von Zwischen-Tasks
19.3.1 Buffer-Tasks
19.3.2 Transporter-Tasks
19.3.3 Relais-Tasks
Objekt-orientierter Entwurf von Echtzeit- und Automatisierungssystemen
Beispiel eines interrupt-gesteuerten Gerätes
Literatur
Index
Johann Blieberger
Wed Feb 11 09:58:52 MET 1998