Nowadays there is a strong demand for programming frameworks which can help the systems programmers to effectively exploit, in a natural way, the computing potential of modern clusters of multi-core machines. This paper proposes a methodology for the development of concurrent/parallel programs in Java which depends on UPPAAL, for modelling and exhaustive verification of a concurrent system, and the Terracotta middleware for the parallel execution concerns. The use of UPPAAL is assisted by a library of reusable concurrent control structures, which facilitates the derivation of verified Java code. The library is extended in this paper with light-weight semaphores which are without a built-in blocked-queue whilst remaining starvation-free. The approach is demonstrated by an example.
An approach to concurrent/parallel programming in Java
Cicirelli Franco;
2016
Abstract
Nowadays there is a strong demand for programming frameworks which can help the systems programmers to effectively exploit, in a natural way, the computing potential of modern clusters of multi-core machines. This paper proposes a methodology for the development of concurrent/parallel programs in Java which depends on UPPAAL, for modelling and exhaustive verification of a concurrent system, and the Terracotta middleware for the parallel execution concerns. The use of UPPAAL is assisted by a library of reusable concurrent control structures, which facilitates the derivation of verified Java code. The library is extended in this paper with light-weight semaphores which are without a built-in blocked-queue whilst remaining starvation-free. The approach is demonstrated by an example.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


