6 research outputs found

    A confluent calculus for concurrent constraint programming with guarded choice

    Get PDF
    . Confluence is an important and desirable property as it allows the program to be understood by considering any desired scheduling rule, rather than having to consider all possible schedulings. Unfortunately, the usual operational semantics for concurrent constraint programs is not confluent as different process schedulings give rise to different sets of possible outcomes. We show that it is possible to give a natural confluent calculus for concurrent constraint programs, if the syntactic domain is extended by a blind choice operator and a special constant standing for a discarded branch. This has application to program analysis. 1 Introduction Concurrent constraint programming (ccp) [16, 15] is a recent programmingparadigm which elegantly combines logical concepts and concurrency mechanisms. The computational model of ccp is based on the notion of a constraint system, which consists of a set of constraints and an entailment relation. Processes interact through a common store. Commun..

    A confluent calculus for concurrent constraint programming with guarded choice

    Get PDF
    . Confluence is an important and desirable property as it allows the program to be understood by considering any desired scheduling rule, rather than having to consider all possible schedulings. Unfortunately, the usual operational semantics for concurrent constraint programs is not confluent as different process schedulings give rise to different sets of possible outcomes. We show that it is possible to give a natural confluent calculus for concurrent constraint programs, if the syntactic domain is extended by a blind choice operator and a special constant standing for a discarded branch. This has application to program analysis. 1 Introduction Concurrent constraint programming (ccp) [16, 15] is a recent programmingparadigm which elegantly combines logical concepts and concurrency mechanisms. The computational model of ccp is based on the notion of a constraint system, which consists of a set of constraints and an entailment relation. Processes interact through a common store. Commun..

    Transformations of CCP programs

    Get PDF
    We introduce a transformation system for concurrent constraint programming (CCP). We define suitable applicability conditions for the transformations which guarantee that the input/output CCP semantics is preserved also when distinguishing deadlocked computations from successful ones and when considering intermediate results of (possibly) non-terminating computations. The system allows us to optimize CCP programs while preserving their intended meaning: In addition to the usual benefits that one has for sequential declarative languages, the transformation of concurrent programs can also lead to the elimination of communication channels and of synchronization points, to the transformation of non-deterministic computations into deterministic ones, and to the crucial saving of computational space. Furthermore, since the transformation system preserves the deadlock behavior of programs, it can be used for proving deadlock freeness of a given program wrt a class of queries. To this aim it is sometimes sufficient to apply our transformations and to specialize the resulting program wrt the given queries in such a way that the obtained program is trivially deadlock free.Comment: To appear in ACM TOPLA

    Suspension Analyses for Concurrent Logic Programs

    No full text
    Interpretation, concurrent logic programming, program analysis The work of M. Falaschi has been partially supported by ESPRIT Basic Research Action 6707 -- Parforce. Authors' current addresses: M. Codish, Department of Mathematics and Computer Science, Ben-Gurion University, P.O.B. 653, 84105 Beer-Sheba, Israel. email: [email protected]; M. Falaschi, Dipartimento di Elettronica e Informatica, Padova University, Via Gradenigo 6/A, Padova, Italy. email: [email protected]; K. Marriott, Department of Computer Science, Monash University, Clayton 3168, Victoria, Australia. email: marriott @bruce.cs.monash.oz.au Contents 1 Introduction 3 2 Example 4 3 Concurrent logic programs 6 3.1 Preliminaries : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 3.2 Operational semantics : : : : : : : : : : : : : : : : : : : : : : : : : : 7 4 Approximating Transition Systems 10 4.1 Abstract Interpretation : : : : : : : : : : : : : : : : : : : : : : : : : 10 4.2 Abstract ..
    corecore