Jackal is a fine-grained distributed shared memory implementation of the Java pro-gramming language. It aims to implement Java’s memory model and allows mul-tithreaded Java programs to run unmodified on a distributed memory system. It employs a multiple-writer cache coherence protocol. In this paper, we report on our analysis of this protocol. We present its formal specification in µCRL, and dis-cuss the abstractions that were made to avoid state explosion. Requirements were formulated and model checked with respect to several configurations. Our analysis revealed two errors in the implementation. Key words: formal specification, model checking, cache coherence protocols, Java memory model, µCR
... the Java Language Specification gives constraints on how threads interact through memory. This c...
The Java Memory Model (JMM) provides a semantics of Java multithreading for any implementation platf...
We present a machine-checked formalisation of the Java memory model and connect it to an operational...
Jackal is a fine-grained distributed shared memory im-plementation of the Java programming language....
AbstractJackal is a fine-grained distributed shared memory implementation of the Java programming la...
To improve the efficiency of a processor to work with data, cache memories are used to compensate th...
In a multithreaded program running on a multiprocessor platform, different processors may observe op...
Abstract. The Java Supercompiler (JScp) is a specializer of Java pro-grams based on the Turchin’s su...
Given the complicated nature of modern shared memory systems, it is vital to have a systematic appro...
The Java programming language allows multithreaded programming, where threads can be run on multipr...
This paper describes a Java-based distributed shared memory system (DSM) that simultaneously support...
Standardized language level support for threads is one of the most important features of Java. Howev...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
Computers have brought us inestimable convenience in recent years. We have become dependent on them ...
International audienceRecent advances in verification have made it possible to envision trusted impl...
... the Java Language Specification gives constraints on how threads interact through memory. This c...
The Java Memory Model (JMM) provides a semantics of Java multithreading for any implementation platf...
We present a machine-checked formalisation of the Java memory model and connect it to an operational...
Jackal is a fine-grained distributed shared memory im-plementation of the Java programming language....
AbstractJackal is a fine-grained distributed shared memory implementation of the Java programming la...
To improve the efficiency of a processor to work with data, cache memories are used to compensate th...
In a multithreaded program running on a multiprocessor platform, different processors may observe op...
Abstract. The Java Supercompiler (JScp) is a specializer of Java pro-grams based on the Turchin’s su...
Given the complicated nature of modern shared memory systems, it is vital to have a systematic appro...
The Java programming language allows multithreaded programming, where threads can be run on multipr...
This paper describes a Java-based distributed shared memory system (DSM) that simultaneously support...
Standardized language level support for threads is one of the most important features of Java. Howev...
In a multithreaded program running on a multiprocessor platform, dierent processors may observe oper...
Computers have brought us inestimable convenience in recent years. We have become dependent on them ...
International audienceRecent advances in verification have made it possible to envision trusted impl...
... the Java Language Specification gives constraints on how threads interact through memory. This c...
The Java Memory Model (JMM) provides a semantics of Java multithreading for any implementation platf...
We present a machine-checked formalisation of the Java memory model and connect it to an operational...