Fraunhofer-Gesellschaft

Publica

Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Modellieren und Programmieren von nebenläufigen Prozessen

Beispiele in Java
 
: Jaksch, S.

:
urn:nbn:de:0011-b-874493 (502 KByte PDF)
MD5 Fingerprint: fe677eb40715d14a5ec6a3d80b821779
Erstellt am: 07.10.2003


Element named row_ProjectData has starweb_type Output Field Repeater but ID not found in STAR Web Designer.
Berlin: ISST, 2003, 34 S.
ISST-Berichte, 67
 
Deutsch
Bericht, Elektronische Publikation
Fraunhofer ISST ()
Programmierung; nebenläufig; Prozeß; Synchronisation; Semaphor; Java; thread; deadlock; Modellierung; Simulation

Abstract
Der 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.34