Inhaltsverzeichnis
Nächste Seite:EinleitungAufwärts:Vorlesungsskriptum zu Spezielle AnwendersprachenVorherige Seite:Vorlesungsskriptum zu Spezielle Anwendersprachen
Inhaltsverzeichnis
- InhaltsverzeichnisInhaltsverzeichnis
-
EinleitungEinleitung
-
Worum geht's?Worum geht's?
- Technische GegebenheitenTechnische Gegebenheiten
- AusführungsmodiAusführungsmodi
- Konkurrente Programme, konkurrentes ProgrammierenKonkurrente Programme, konkurrentes Programmieren
- Interaktion von ProzessenInteraktion von Prozessen
- Zwecke, AnwendungsbereicheZwecke, Anwendungsbereiche
- Beispiele/Anwendungsgebiete für konkurrentes ProgrammierenBeispiele/Anwendungsgebiete für konkurrentes Programmieren
-
Kleines BeispielKleines Beispiel
- Lösung mit passiven ObjektenLösung mit passiven Objekten
- KritikKritik
- Konkurrente Lösung mit aktiven Objekten (Prozessen)Konkurrente Lösung mit aktiven Objekten (Prozessen)
- KritikKritik
-
Vorgehensweise und Plan der VorlesungVorgehensweise und Plan der Vorlesung
- LiteraturLiteratur
-
Worum geht's?Worum geht's?
-
Ada Tasks IAda Tasks I
- BeispielBeispiel
-
Wechselseitiger Ausschluß und gemeinsame VariablenWechselseitiger Ausschluß und gemeinsame Variablen
- Wechselseitiger Ausschluß (,,mutual exclusion``)Wechselseitiger Ausschluß (,,mutual exclusion``)
- Gemeinsame Variablen (,,shared variables``)Gemeinsame Variablen (,,shared variables``)
- Terminologie/ProblemstrukturTerminologie/Problemstruktur
- Beispiel: Gemeinsame Variablen (Shared_Demo1)Beispiel: Gemeinsame Variablen (Shared_Demo1)
- HausaufgabeHausaufgabe
- Anmerkung zum HauptprogrammAnmerkung zum Hauptprogramm
- Wie Problem lösen?Wie Problem lösen?
-
Idee 1Idee 1
- Safety des VerfahrensSafety des Verfahrens
- Verklemmung des VerfahrensVerklemmung des Verfahrens
-
Idee 2Idee 2
- HausaufgabeHausaufgabe
- Idee 3Idee 3
-
Idee 4Idee 4
- Kombination vermeidet deadlock-Gefahr von Idee 1Kombination vermeidet deadlock-Gefahr von Idee 1
- Kombination vermeidet strikte Abwechslung wie in Idee 3Kombination vermeidet strikte Abwechslung wie in Idee 3
- Beispiel (Shared_Demo2)Beispiel (Shared_Demo2)
- Kritik an Lösung und verwendeten MittelnKritik an Lösung und verwendeten Mitteln
- Konsequenz darausKonsequenz daraus
- HausaufgabeHausaufgabe
-
Semaphore und MonitoreSemaphore und Monitore
-
SemaphoreSemaphore
- Ein Sempaphor S ist eine Variable mit Natural-Werten und zwei OperationenEin Sempaphor S ist eine Variable mit Natural-Werten und zwei Operationen
- Für Sempaphor S gilt folgende InvarianteFür Sempaphor S gilt folgende Invariante
- Beispiel: Wechselseitiger AusschlußBeispiel: Wechselseitiger Ausschluß
-
Korrektheit der LösungKorrektheit der Lösung
- VariantenVarianten
-
Producer-Consumer ProblemProducer-Consumer Problem
- BeispielBeispiel
- HausaufgabeHausaufgabe
-
MonitoreMonitore
- Beispiel: Producer-ConsumerBeispiel: Producer-Consumer
- Semantik der Monitor-KonstruktionSemantik der Monitor-Konstruktion
- Interpretation von SignalInterpretation von Signal
- Kritik an MonitorenKritik an Monitoren
-
SemaphoreSemaphore
-
Zwischenbilanz, Ausblick AdaZwischenbilanz, Ausblick Ada
- AnalogieAnalogie
-
Message passingMessage passing
- BeispieleBeispiele
- Die Techniken in AdaDie Techniken in Ada
- HausaufgabeHausaufgabe
-
Ada Tasking IIAda Tasking II
-
TasksTasks
- BeispieleBeispiele
- Verschiedene Tasks desselben TypsVerschiedene Tasks desselben Typs
-
Aktivierung, Ausführung, TerminierungAktivierung, Ausführung, Terminierung
- Task Objekt deklariert in HauptprogrammTask Objekt deklariert in Hauptprogramm
- Task deklariert in (library-) PackageTask deklariert in (library-) Package
- Task wird dynamisch erzeugt durch AllokatorTask wird dynamisch erzeugt durch Allokator
-
RendezvousRendezvous
- Beispiel: Imitation einer binären SemaphoreBeispiel: Imitation einer binären Semaphore
- Zur ZeitmessungZur Zeitmessung
-
Beispiel für Kooperation von TasksBeispiel für Kooperation von Tasks
- Beispiel 1Beispiel 1
- Beispiel 2Beispiel 2
- Beispiel 3Beispiel 3
- Beispiel 4Beispiel 4
- Beispiel 5Beispiel 5
- Beispiel 6Beispiel 6
- HausaufgabeHausaufgabe
-
Protected types & protected objectsProtected types & protected objects
- Syntax für DeklarationSyntax für Deklaration
- SemantikSemantik
- Wichtige EinschränkungWichtige Einschränkung
- Bedingungssynchronisation (conditional synchronisation)Bedingungssynchronisation (conditional synchronisation)
-
Tasking & ExceptionsTasking & Exceptions
- tasking-errortasking-error
- HausaufgabeHausaufgabe
-
Exkurs: Diskriminanten (= Parameter für Typen)Exkurs: Diskriminanten (= Parameter für Typen)
- Klassischer Fall: Record Typ mit DiskriminanteKlassischer Fall: Record Typ mit Diskriminante
- Task types mit DiskriminanteTask types mit Diskriminante
-
TasksTasks
-
Rendezvous mit AlternativenRendezvous mit Alternativen
-
Accept-AlternativenAccept-Alternativen
- accept_alternativeaccept_alternative
- GuardsGuards
- terminate Alternativeterminate Alternative
- Methodische BemerkungMethodische Bemerkung
- Beispiel: server taskBeispiel: server task
- Beispiel: Primzahlen durch SiebmethodeBeispiel: Primzahlen durch Siebmethode
- HausaufgabeHausaufgabe
- Delay-AlternativeDelay-Alternative
- else-Teil des select-statementselse-Teil des select-statements
-
Entry-Call mit AlternativeEntry-Call mit Alternative
- Timed entry callTimed entry call
- Conditional entry callConditional entry call
- Auswahl unter mehreren entry callsAuswahl unter mehreren entry calls
- Deadlock revisitedDeadlock revisited
-
Accept-AlternativenAccept-Alternativen
-
BeispieleBeispiele
-
Readers-Writers-ProblemReaders-Writers-Problem
- GegebenGegeben
- GesuchtGesucht
- Illustration: Ressource = gemeinsame VariableIllustration: Ressource = gemeinsame Variable
- Mängel der LösungMängel der Lösung
- AlternativeAlternative
- UnterschiedeUnterschiede
-
Dining PhilosophersDining Philosophers
- GegebenGegeben
- GesuchtGesucht
- Offensichtlich nötigOffensichtlich nötig
- Schubfachprinzip (=pigeonhole principle)Schubfachprinzip (=pigeonhole principle)
-
Asynchrone IterationAsynchrone Iteration
- Standard IterationStandard Iteration
- Chaotische IterationChaotische Iteration
- BeispielBeispiel
- LiteraturLiteratur
- HausaufgabeHausaufgabe
-
Readers-Writers-ProblemReaders-Writers-Problem
-
Ada ,,requeue`` KonstruktAda ,,requeue`` Konstrukt
- AbhilfeAbhilfe
-
Prinzip der LösungPrinzip der Lösung
- KritikKritik
- Zur Syntax und Semantik von ,,requeue``Zur Syntax und Semantik von ,,requeue``
- BeispielBeispiel
- HausaufgabeHausaufgabe
-
Concurrency and ObjectsConcurrency and Objects
- GrundsätzlichesGrundsätzliches
-
Einfache Synchronisationsmechanismen für ObjektzugriffeEinfache Synchronisationsmechanismen für Objektzugriffe
- Objekte enthalten Synchronisationsmechanismen als AttributObjekte enthalten Synchronisationsmechanismen als Attribut
- Protected object ist über Diskriminante mit zu schützendem Object verbundenProtected object ist über Diskriminante mit zu schützendem Object verbunden
- ,,Bounded Buffer`` im Stil 10.2.2 (Code aus Burns/Wellings),,Bounded Buffer`` im Stil 10.2.2 (Code aus Burns/Wellings)
-
Inheritance AnomalyInheritance Anomaly
- Objekte mit Rumpf (body)Objekte mit Rumpf (body)
- Akzeptanz-Mengen (,,enabled sets``)Akzeptanz-Mengen (,,enabled sets``)
- Wächter (guards) für MethodenWächter (guards) für Methoden
- Über dieses Dokument ...Über dieses Dokument ...
Ronald Blaschke 2001-06-02