
The goal of this paper is to give a mathematically precise specification of the Java memory model and discuss its interpretation in the ASM context. We have refactored the original specification in order to clearly stipulate how it conditions the behavior of the environment. We show how each thread in a multithreaded Java program can be seen as an ordinary interactive small-step algorithm, and, consequently, how the Java program gives rise to a distributed ordinary interactive small-step ASM. Due to rather relaxed conditions on the environment imposed by the Java memory model, runs of such ASM may, however, exhibit behavior that is impossible to be observed in sequentially consistent settings. We hope that notions of run and environment capturing this kind of behavior will serve as a helpful insight for the theory of distributed algorithms developed so far.
Abstract state machines, Distributed algorithms, Java memory model
Abstract state machines, Distributed algorithms, Java memory model
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
