Results 1  10
of
16
Timed Default Concurrent Constraint Programming
 Journal of Symbolic Computation
, 1996
"... Synchronous programming (Berry (1989)) is a powerful approach to programming reactive systems. Following the idea that "processes are relations extended over time" (Abramsky (1993)), we propose a simple but powerful model for timed, determinate computation, extending the closureoperator m ..."
Abstract

Cited by 72 (13 self)
 Add to MetaCart
Synchronous programming (Berry (1989)) is a powerful approach to programming reactive systems. Following the idea that "processes are relations extended over time" (Abramsky (1993)), we propose a simple but powerful model for timed, determinate computation, extending the closureoperator model for untimed concurrent constraint programming (CCP). In (Saraswat et al. 1994a) we had proposed a model for this called tcc here we extend the model of tcc to express strong timeouts: if an event A does not happen through time t, cause event B to happen at time t. Such constructs arise naturally in practice (e.g. in modeling transistors) and are supported in synchronous programming languages. The fundamental conceptual difficulty posed by these operations is that they are nonmonotonic. We provide a compositional semantics to the nonmonotonic version of concurrent constraint programming (Default cc) obtained by changing the underlying logic from intuitionistic logic to Reiter's default logic...
Stochastic processes as concurrent constraint programs
 In Symposium on Principles of Programming Languages
, 1999
"... ) Vineet Gupta Radha Jagadeesan Prakash Panangaden y vgupta@mail.arc.nasa.gov radha@cs.luc.edu prakash@cs.mcgill.ca Caelum Research Corporation Dept. of Math. and Computer Sciences School of Computer Science NASA Ames Research Center Loyola UniversityLake Shore Campus McGill University Moffe ..."
Abstract

Cited by 31 (1 self)
 Add to MetaCart
(Show Context)
) Vineet Gupta Radha Jagadeesan Prakash Panangaden y vgupta@mail.arc.nasa.gov radha@cs.luc.edu prakash@cs.mcgill.ca Caelum Research Corporation Dept. of Math. and Computer Sciences School of Computer Science NASA Ames Research Center Loyola UniversityLake Shore Campus McGill University Moffett Field CA 94035, USA Chicago IL 60626, USA Montreal, Quebec, Canada Abstract This paper describes a stochastic concurrent constraint language for the description and programming of concurrent probabilistic systems. The language can be viewed both as a calculus for describing and reasoning about stochastic processes and as an executable language for simulating stochastic processes. In this language programs encode probability distributions over (potentially infinite) sets of objects. We illustrate the subtleties that arise from the interaction of constraints, random choice and recursion. We describe operational semantics of these programs (programs are run by sampling random choices), deno...
Probabilistic Concurrent Constraint Programming
 In Proceedings of CONCUR 97
, 1997
"... . We extend cc to allow the specification of a discrete probability distribution for random variables. We demonstrate the expressiveness of pcc by synthesizing combinators for default reasoning. We extend pcc uniformly over time, to get a synchronous reactive probabilistic programming language, Time ..."
Abstract

Cited by 22 (0 self)
 Add to MetaCart
(Show Context)
. We extend cc to allow the specification of a discrete probability distribution for random variables. We demonstrate the expressiveness of pcc by synthesizing combinators for default reasoning. We extend pcc uniformly over time, to get a synchronous reactive probabilistic programming language, Timed pcc. We describe operational and denotational models for pcc (and Timed pcc). The key feature of the denotational model(s) is that parallel composition is essentially set intersection. We show that the denotational model of pcc (resp. Timed pcc) is conservative over cc (resp. tcc). We also show that the denotational models are fully abstract for an operational semantics that records probability information. 1 Introduction Concurrent constraint programming(CCP, [Sar93]) is an approach to computation which uses constraints for the compositional specification of concurrent systems. It replaces the traditional notion of a store as a valuation of variables with the notion of a store as a cons...
Testing concurrent systems: An interpretation of intuitionistic logic
"... Abstract. We present the natural confluence of higherorder hereditary Harrop formulas (HH formulas) as developed concretely in λProlog, Constraint Logic Programming (CLP, [JL87]), and Concurrent Constraint Programming (CCP, [Sar93]) as a fragment of (intuitionistic, higherorder) logic. The combina ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We present the natural confluence of higherorder hereditary Harrop formulas (HH formulas) as developed concretely in λProlog, Constraint Logic Programming (CLP, [JL87]), and Concurrent Constraint Programming (CCP, [Sar93]) as a fragment of (intuitionistic, higherorder) logic. The combination is motivated by the need for a simple executable, logical presentation for static and dynamic semantics of modern programming languages. The power of HH formulas is needed for higherorder abstract syntax, and the power of constraints is needed to naturally abstract the underlying domain of computation. Underpinning this combination is a sound and complete operational interpretation of a twosided sequent presentation of (a large fragment of) intuitionistic logic in terms of behavioral testing of concurrent systems. Formulas on the left hand side of a sequent style presentation are viewed as a system of concurrent agents, and formulas on the right hand side as tests against this evolving system. The language permits recursive definitions of agents and tests, allows tests to augment the system being tested and allows agents to be contingent on the success of a test. We present a condition on proofs, operational derivability (OD), and show that the operational semantics generates only operationally derivable proofs. We show that a sequent in this logic has a proof iff it has an operationally derivable proof. 1
Concurrent Constraintbased Memory Machines: A framework for Java Memory Models
 In ASIAN
, 2004
"... A central problem in extending the von Neumann architecture to petaflop computers with millions of hardware threads and with a shared memory is defining the memory model [Lam79,AG95,APP99]. Such a model must specify the behavior of concurrent (conditional) reads and writes to the same memory locatio ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
(Show Context)
A central problem in extending the von Neumann architecture to petaflop computers with millions of hardware threads and with a shared memory is defining the memory model [Lam79,AG95,APP99]. Such a model must specify the behavior of concurrent (conditional) reads and writes to the same memory locations. We present a simple, general framework for the specification of memory models based on an abstract machine that uses sets of (interdependent) order and value constraints to communicate between threads and main memory. The separation of order constraints allows a parametric treatment of different order consistency models such as sequential consistency, location consistency, happensbefore consistency (HBconsistency), etc. The use of value constraints allows a simple formulation of the semantics of concurrent dependent reads and writes in the presence of lookahead and speculative computation. Memory is permitted to specify exactly those linkings (mappings from read
Truly Concurrent Constraint Programming
 CONCUR96 – Concurrency Theory, volume 1119 of LNCS
, 1996
"... . Concurrent Constraint Programming (CCP) is a powerful computation model for concurrencyobtained by internalizing the notion of computation via deduction over (firstorder) systems of partial information (constraints). In [SRP91] a semantics for indeterminate CCP was given via sets of bounded trace ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
(Show Context)
. Concurrent Constraint Programming (CCP) is a powerful computation model for concurrencyobtained by internalizing the notion of computation via deduction over (firstorder) systems of partial information (constraints). In [SRP91] a semantics for indeterminate CCP was given via sets of bounded trace operators; this was shown to be fully abstract with respect to observing all possible quiescent stores (= final states) of the computation. Bounded trace operators constitute a certain class of (finitary) "invertible" closure operators over a downward closed sublattice. Theycanbe thought of as generated via the grammar: t ::= c j c ! t j ct where c ranges over primitive constraints, is conjunction and ! intuitionistic implication. We motivate why it is interesting to consider as observable a "causality" relation on the store: what is observed is not just the conjunction of constraints deposited in the store, but also the causal dependencies between these constraints  what constraints w...
jcc: Integrating Timed Default Concurrent Constraint Programming Into Java
 In Proceedings of EPIA 2003
, 2003
"... This paper describes jcc, an integration of the timed default concurrent constraint programming framework [16] (Timed Default cc) into JAVA [7]. ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
(Show Context)
This paper describes jcc, an integration of the timed default concurrent constraint programming framework [16] (Timed Default cc) into JAVA [7].
Hybrid cc with Interval Constraints
 PROC. OF THE 1ST INTERNATIONAL WORKSHOP ON HYBRID SYSTEMS: COMPUTATION AND CONTROL (HSCC’98), LNCS 1386
, 1998
"... Hybrid cc is a constraint programming language suited for modeling, controlling and simulating hybrid systems, i.e. systems with continuous and discrete state changes. The language extends the concurrent constraint programming framework with default reasoning and combinators for programming continuo ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Hybrid cc is a constraint programming language suited for modeling, controlling and simulating hybrid systems, i.e. systems with continuous and discrete state changes. The language extends the concurrent constraint programming framework with default reasoning and combinators for programming continuous behavior. The most important constraint systems used in Hybrid cc are nonlinear equations and ordinary differential equations over intervals. The interval constraints are crucial in that many modeling problems are only partially specified. We describe the implementation of the Hybrid cc interpreter and constraint solvers, and evaluate the performance using some example programs.
Modeling an AERCam: A case study in modeling with concurrent constraint languages
 In Proceedings of the CP'97 Workshop on Modeling and Computation in the Concurrent Constraint Languages
, 1998
"... This paper presents a model for the Sprint AERCam, a beachball sized robotic camera that floats around in the cargo bay of the Space Shuttle, allowing the astronauts and ground mission control to have an additional view of the task they are trying to accomplish. It has a self contained propulsion sy ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
(Show Context)
This paper presents a model for the Sprint AERCam, a beachball sized robotic camera that floats around in the cargo bay of the Space Shuttle, allowing the astronauts and ground mission control to have an additional view of the task they are trying to accomplish. It has a self contained propulsion system, giving it the capability to maneuver with six degrees of freedom. We present a model for the AERCam written in Hybrid cc, an extension of cc programming for modeling continuous/discrete systems. We modeled both the dynamics and control of the AERCam in Hybrid cc, and interfaced this model with an animation interface which allows a user to interact with the model in realtime. 1 Introduction This paper presents a model for the Sprint AERCam, an Autonomous EVA Robotic Camera[Phi97]. The AERCam is a beachball sized camera (see Figure 1), that floats around in the shuttle bay, allowing the astronauts inside and outside the shuttle and ground mission control to have an additional view of ...
Concurrent Clustered Programming (Extended Abstract)
"... We present the concurrency and distribution primitives of X10, a modern, statically typed, classbased objectoriented (OO) programming language, designed for high productivity programming of scalable applications on highend machines. The basic move in the X10 programming model is to reify localit ..."
Abstract
 Add to MetaCart
(Show Context)
We present the concurrency and distribution primitives of X10, a modern, statically typed, classbased objectoriented (OO) programming language, designed for high productivity programming of scalable applications on highend machines. The basic move in the X10 programming model is to reify locality through a notion of place, which hosts multiple data items and activities that operate on them. Aggregate objects (such as arrays) may be distributed across multiple places. Activities may dynamically spawn new activities in mulitple places and sequence them through a finish operation that detects termination of activities. Atomicity is obtained through the use of atomic blocks. Activities may repeatedly detect quiescence of a datadependent collection of (distributed) activities through a notion of clocks, generalizing barriers. Thus X10 has a handful of orthogonal constructs for space, time, sequencing and atomicity. X10 smoothly combines and generalizes the current dominant paradigms for shared memory computing and message passing. We present a bisimulationbased operational semantics for X10 building on the formal semantics for “Middleweight Java”. We establish the central theorem of X10: programs without conditional atomic blocks do not deadlock.