2 research outputs found

    Grid Service Selection with PPDL

    No full text

    Grid Service Selection with PPDL

    No full text
    The memory model of a programming language specifies the interaction between multiple threads and main memory. Basically, the model says for every value obtained by a read operation in a program by what write operation it has been produced. In a multi-threaded unsynchronized program this need not be a deterministic linking from reads to writes. For a multi-platform language such as Java, a memory model is essential to guarantee portability of programs. However, several undesirable properties of the current Java Memory Model (JMM) have been revealed: it is not an easy model to understand by programmers, gives rise to some unwanted behavior and is hard to implement on current hardware architectures. Because of this, Java Specification Request 133 has called for a new JMM that fixes the current problems. The Concurrent Constraint-based Memory Machines (CCMMs) proposal by Vijay Saraswat is a framework to express and study different declarative memory models. CCMMs are different from other proposals in that it does not express a memory model in terms of imperative operational semantics, but in terms of constraints. This should facilitate reasoning about the model and its properties, e.g. the "no thin-air reads" property is structurally proved. Because of the declarative constraint-based nature of CCMMs we have chosen constraint logic programming (CLP) as the technology for this generative pimplementation. In particular, JmmSolve has been implemented in the latest version of SWI-Prolog, with its new support for constraint programming: attributed variables and a Constraint Handling Rules (CHR) system.status: publishe
    corecore