Results 1 - 10
of
19
Foundations of Timed Concurrent Constraint Programming
- Proceedings of the Ninth Annual IEEE Symposium on Logic in Computer Science
, 1994
"... We develop a model for timed, reactive computation by extending the asynchronous, untimed concurrent constraint programming model in a simple and uniform way. In the spirit of process algebras, we develop some combinators expressible in this model, and reconcile their operational, logical and denota ..."
Abstract
-
Cited by 76 (10 self)
- Add to MetaCart
We develop a model for timed, reactive computation by extending the asynchronous, untimed concurrent constraint programming model in a simple and uniform way. In the spirit of process algebras, we develop some combinators expressible in this model, and reconcile their operational, logical and denotational character. We show how programs may be compiled into finite-state machines with loop-free computations at each state, thus guaranteeing bounded response time. 1 Introduction and Motivation Reactive systems [12,3,9] are those that react continuously with their environment at a rate controlled by the environment. Execution in a reactive system proceeds in bursts of activity. In each phase, the environment stimulates the system with an input, obtains a response in bounded time, and may then be inactive (with respect to the system) for an arbitrary period of time before initiating the next burst. Examples of reactive systems are controllers and signal-processing systems. The primary issu...
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 closure-operator model for u ..."
Abstract
-
Cited by 61 (11 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 closure-operator 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 time-outs: 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 non-monotonic version of concurrent constraint programming (Default cc) obtained by changing the underlying logic from intuitionistic logic to Reiter's default logic...
Programming in Timed Concurrent Constraint Languages
, 1994
"... This paper explores Lhc expressive power of Lhc tcc paradigm. The origin of Lhc work in Lhc inLcgraLion of synchronous and consLrainL programming is described. The basic conceptual and maLhcmaLical framework developed in Lhc spirk of Lhc model-based approach characLcrisLic of LhcorcLical compuLcr sc ..."
Abstract
-
Cited by 33 (4 self)
- Add to MetaCart
This paper explores Lhc expressive power of Lhc tcc paradigm. The origin of Lhc work in Lhc inLcgraLion of synchronous and consLrainL programming is described. The basic conceptual and maLhcmaLical framework developed in Lhc spirk of Lhc model-based approach characLcrisLic of LhcorcLical compuLcr science is reviewed. Wc show LhaL a range of consLrucLs for expressing LimcouLs, prccmpLion and oLhcr complicaLcd paLLcrns of Lcmporal acLivky arc expressible in the basic model and language-framework. Indeed, we present a single construct on processes, definable in the language, that can simulate the effect of other preemption constructs
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 University--Lake Shore Campus McGill University Moffe ..."
Abstract
-
Cited by 25 (1 self)
- Add to MetaCart
) 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 University--Lake 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...
Programming in Hybrid Constraint Languages
- Hybrid Systems II, volume 999 of LNCS
, 1995
"... . We present a language, Hybrid cc, for modeling hybrid systems compositionally. This language is declarative, with programs being understood as logical formulas that place constraints upon the temporal evolution of a system. We show the expressiveness of our language by presenting several examples, ..."
Abstract
-
Cited by 21 (7 self)
- Add to MetaCart
. We present a language, Hybrid cc, for modeling hybrid systems compositionally. This language is declarative, with programs being understood as logical formulas that place constraints upon the temporal evolution of a system. We show the expressiveness of our language by presenting several examples, including a model for the paperpath of a photocopier. We describe an interpreter for our language, and provide traces for some of the example programs. 1 Introduction and Motivation The constant marketplace demand of ever greater functionality at ever lower price is forcing the artifacts our industrial society designs to become ever more complex. Before the advent of silicon, this complexity would have been unmanageable. Now, the economics and power of digital computation make it the medium of choice for gluing together and controlling complex systems composed of electro-mechanical and computationally realized elements. As a result, the construction of the software to implement, monitor, c...
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 18 (0 self)
- Add to MetaCart
. 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...
Aspect-oriented programming for reactive systems: a proposal in the synchronous framework
- Science of Computer Programming, (Special Issue on Foundations of Aspect-Oriented Programming
, 2005
"... Aspect-Oriented Programming (AOP) has emerged recently as a language concept for expressing cross-cutting concerns, mainly in object-oriented software. Since then, the concept has been applied to a wide variety of other contexts. In this paper, we explore some cross-cutting concerns for parallel pro ..."
Abstract
-
Cited by 15 (4 self)
- Add to MetaCart
Aspect-Oriented Programming (AOP) has emerged recently as a language concept for expressing cross-cutting concerns, mainly in object-oriented software. Since then, the concept has been applied to a wide variety of other contexts. In this paper, we explore some cross-cutting concerns for parallel programs of reactive systems: we propose an aspect language, Larissa, and a weaving mechanism, in a core language based on parallel communicating Mealy machines. 1
Design and Implementation of Triveni: a Process-algebraic API for Threads + Events
, 1998
"... We describe Triveni, a framework and API for integrating threads and events. The design of Triveni is based on an algebra, including preemption combinators, of processes. Triveni is compatible with existing threads standards, such as Pthreads and Java threads, and with the event models structured on ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
We describe Triveni, a framework and API for integrating threads and events. The design of Triveni is based on an algebra, including preemption combinators, of processes. Triveni is compatible with existing threads standards, such as Pthreads and Java threads, and with the event models structured on the Observer pattern. We describe the software architecture and algorithms underlying a concrete implementation of Triveni in Java. This environment includes specification-based testing of safety properties. The results described in this paper have been used to integrate process-algebraic methods into (concurrent) object oriented programming [8]. 1 Introduction The aim of this research is to enhance the practice of threads programming with ideas from the theory of concurrency, such as process algebras [21, 15, 2] and synchronous programming languages (see [14, 4] for surveys). In particular, we want to build a process-algebraic application programming interface (API) combining threads an...
Hybrid cc, Hybrid Automata and Program Verification (Extended Abstract)
- IN HENZINGER ALUR AND SONTAG, EDITORS, HYBRID SYSTEMS WORKSHOP, DIMACS. PROCEEDINGS OF HYBRID SYSTEMS III, LNCS 1066
, 1996
"... Synchronous programming. Discrete event driven systems [HP85, Ber89, Hal93] are systems that react with their environment at a rate controlled by the environment. Such systems can be quite complex, so for modular development and re-use considerations, a model of a composite system should be built ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Synchronous programming. Discrete event driven systems [HP85, Ber89, Hal93] are systems that react with their environment at a rate controlled by the environment. Such systems can be quite complex, so for modular development and re-use considerations, a model of a composite system should be built up from models of the components compositionally. From a programming language standpoint, this modularity concern is addressed by the analysis underlying synchronous languages [BB91, Hal93, BG92, HCP91, GBGM91, Har87, CLM91, SJG95], (adapted to dense discrete domains in [BBG93]): -- Logical concurrency/parallelism plays a role in determinate reactive system programming analogous to the role of procedural abstraction in sequential programming --- the role of matching program structure to the structure of the solution to the problem at hand. -- Preemption --- the ability to stop a process in its tracks --- is a fundamental progr...
Objects and concurrency in Triveni: A telecommunication case study in Java
- In Proceedings of the 4th Conference on ObjectOriented Technologies and Systems (COOTS-98
, 1998
"... We describe the interaction of objects and concurrency in the design of Triveni, a framework for concurrent programming with threads and events. Triveni has been realized as JavaTriveni, a collection of tools for the Java programming language. We describe our experiences in JavaTriveni with an examp ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
We describe the interaction of objects and concurrency in the design of Triveni, a framework for concurrent programming with threads and events. Triveni has been realized as JavaTriveni, a collection of tools for the Java programming language. We describe our experiences in JavaTriveni with an example from telecommunication. 1

