Under CopyrightJaksch, S.S.Jaksch2022-03-0707.10.20032003https://publica.fraunhofer.de/handle/publica/29184810.24406/publica-fhg-291848Der Bericht führt in die Theorie der Prozesse und in die Verfahren zur Synchronisation und Verklemmungsvermeidung und -erkennung ein. Im Anschluß daran werden zwei Modelle und ein Werkzeug zur Modellierung und Simulation von nebenläufigen Systemen vorgestellt. Der letzte Teil des Berichts stellt das in der Programmiersprache Java umgesetzte Prozeßmodell vor. An Hand einiger Beispielprogramme werden das Speichermodell und die Synchronisation der Threads und des konkurrierenden Zugriffs auf gemeinsam benutzte Variablen sowie einige unvermeidbare Probleme bei sogenannten "race conditions" erläutert.1 Einleitung S.1 2 Theoretische Grundlagen S.2-10 - 2.1 Prozesse S.2 - 2.2 Prozeßbeschreibung S.2-3 - 2.2.1 Ablauforientierte Prozeßbeschreibung S.3 - 2.2.2 Prozeßdeklaration S.3 - 2.3 Prozeßabwicklung S.3-4 - 2.4 Synchronisation S.4-8 - 2.4.1 Schloßvariablen S.4-5 - 2.4.2 Semaphore S.5-7 - 2.4.3 Monitore S.7-8 - 2.5 Verklemmungen S.8-10 - 2.5.1 Ursachen S.8 - 2.5.2 Vermeidung S.8-10 - 2.6 Zusammenfassung S.10 3 Modellierung S.11-32 - 3.1 Petri-Netze S.11-16 - 3.1.1 Elemente und Eigenschaften S.11-14 - 3.1.2 Modellierung und Simulation mit Peneca Chromos S.14-16 - 3.2 Specification and Description Language (SDL) S.16-18 - 3.2.1 Theoretisches Modell S.16-17 - 3.2.2 Syntax S.17-18 - 3.3 Zusammenfassung S.18-19 - 4.1 Threads in Java S.19-20 - 4.2 Lebenszyklus eines Threads S.20-21 - 4.3 Synchronisation von Objekten S.21-28 - 4.3.1 Schlüsselwörter und Funktionen S.22 - 4.3.2 Monitore S.22-24 - 4.3.3 Gemeinsam genutzte Daten S.24-28 - Semaphore in Java S.27-28 - 4.4 Realisierung der "Speisenden Philosophen" S.28-31 - 4.5 Abschließende Bemerkungen S.31-32 5 Zusammenfassung S.33 Literaturverzeichnis S.34deProgrammierungnebenläufigProzeßSynchronisationSemaphorJavathreaddeadlockModellierungSimulation004Modellieren und Programmieren von nebenläufigen Prozessenreport