A CSP Model for Java Multithreading
Gespeichert in:
| Titel: | A CSP Model for Java Multithreading |
|---|---|
| Autoren: | H. Welch, Jeremy M. R. Martin, Presented Tim Grabowski |
| Weitere Verfasser: | The Pennsylvania State University CiteSeerX Archives |
| Quelle: | http://se.inf.ethz.ch/courses/2012a_spring/ccc/seminars/Grabowski.pdf. |
| Verlagsinformationen: | Questions |
| Publikationsjahr: | 2000 |
| Bestand: | CiteSeerX |
| Beschreibung: | Why Java needs a CSP model • Many Java programs using threads seem to work correctly, but • Data races might be hidden • Deadlocks might not yet be detected • How can we be sure that data races and deadlocks in fact cannot occur? Why Java needs a CSP model • Solution: Model Java‘s synchronization facility in CSP • Allows us to reason in a formal way about its correct usage in Java programs • Synchronization primitives of Java‘s client interface that are modelled: • synchronized • wait(), notify(), notifyAll() Java Monitors in CSP • We model synchronized by the following CSP processes [1]: • STARTSYNC ( o, me) = claim.o.me ➔ SKIP • ENDSYNC ( o, me) = release.o.me ➔ SKIP Java Monitors in CSP • wait(), notify(), notifyAll() are modelled by the following CSP processes [1]: • WAIT(o, me) = waita.o.me ➔ release.o.me ➔ waitb.o.me ➔ claim.o.me ➔ SKIP • NOTIFY ( o, me) = notify.o.me ➔ SKIP • NOTIFYALL ( o, me) = notifyAll.o.me ➔ SKIP Java Monitors in CSP • Java‘s internal monitor facility for an object o is modelled by [1] |
| Publikationsart: | text |
| Dateibeschreibung: | application/pdf |
| Sprache: | English |
| Relation: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.648.9517; http://se.inf.ethz.ch/courses/2012a_spring/ccc/seminars/Grabowski.pdf |
| Verfügbarkeit: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.648.9517 http://se.inf.ethz.ch/courses/2012a_spring/ccc/seminars/Grabowski.pdf |
| Rights: | Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
| Dokumentencode: | edsbas.8D8B6E9C |
| Datenbank: | BASE |
Schreiben Sie den ersten Kommentar!
Nájsť tento článok vo Web of Science