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
Franco CicirelliMembro del Collaboration Group
;Libero Nigro
Membro del Collaboration Group
2015-01-01
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 exampleI documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.