| Abstract: |
We extend the Jinja source code semantics by Klein and Nipkow with
Java-style arrays and threads. Concurrency is captured in a generic
framework semantics for adding concurrency through interleaving to a
sequential semantics, which features dynamic thread creation,
inter-thread communication via shared memory, lock synchronisation
and joins. Also, threads can suspend themselves and be notified by
others.
We instantiate the framework with the adapted versions of both Jinja
source and byte code and show type safety for the multithreaded
case. Equally, the compiler from source to byte code is extended, for
which we prove weak bisimilarity between the source code small step
semantics and the defensive Jinja virtual machine.
For explanations on the framework semantics and the source code
instantiation, see the FOOL 2008 paper by A. Lochbihler.
|