Type Safe Nondeterminism A Formal Semantics of Java Threads
Andreas Lochbihler
University of Passau Germany
01/13/2008
Funded by DFG grant Sn11/10-1
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 1 / 17
Type Safe Nondeterminism A Formal Semantics of Java Threads Andreas - - PowerPoint PPT Presentation
Type Safe Nondeterminism A Formal Semantics of Java Threads Andreas Lochbihler University of Passau Germany 01/13/2008 Funded by DFG grant Sn11/10-1 Andreas Lochbihler Type Safe Nondeterminism FOOL 08 1 / 17 Overview Motivation 1
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 1 / 17
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 2 / 17
Motivation
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 3 / 17
Motivation
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 4 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 5 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 6 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Java threads
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 7 / 17
Formalisation
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 8 / 17
Formalisation The Jinja and framework semantics
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 9 / 17
Formalisation The Jinja and framework semantics
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 10 / 17
Formalisation The Jinja and framework semantics
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 11 / 17
Formalisation Deadlock vs. progress
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 12 / 17
Formalisation Deadlock vs. progress
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 12 / 17
Formalisation Deadlock vs. progress
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 12 / 17
Formalisation Deadlock vs. progress
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 12 / 17
Formalisation Deadlock vs. progress
Z
Z
Z
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 12 / 17
Formalisation Deadlock vs. progress
1 not in a wait set and
2 in a wait set and all other threads
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 13 / 17
Formalisation Deadlock vs. progress
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 14 / 17
Formalisation Type safety for Jinja
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 15 / 17
Formalisation Type safety for Jinja
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 15 / 17
Summary
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 16 / 17
Summary
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 16 / 17
Summary
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 16 / 17
Summary
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 17 / 17
Summary
Andreas Lochbihler Type Safe Nondeterminism FOOL ’08 17 / 17