Results 1  10
of
10
HigherOrder, Linear, Concurrent Constraint Programming
, 1992
"... We present a very simple and powerful framework for indeterminate, asynchronous, higherorder computation based on the formulaasagent and proofascomputation interpretation of (higherorder) linear logic [Gir87]. The framework significantly refines and extends the scope of the concurrent constrai ..."
Abstract

Cited by 34 (6 self)
 Add to MetaCart
We present a very simple and powerful framework for indeterminate, asynchronous, higherorder computation based on the formulaasagent and proofascomputation interpretation of (higherorder) linear logic [Gir87]. The framework significantly refines and extends the scope of the concurrent constraint programming paradigm [Sar89] in two fundamental ways: (1) by allowing for the consumption of information by agents it permits a direct modelling of (indeterminate) state change in a logical framework, and (2) by admitting simplytyped terms as dataobjects, it permits the construction, transmission and application of (abstractions of) programs at runtime. Much more dramatically, however, the framework can be seen as presenting higherorder (and if desired, constraintenriched) versions of a variety of other asynchronous concurrent systems, including the asynchronous ("input guarded") fragment of the (firstorder) ßcalculus, Hewitt's actors formalism, (abstract forms of) Gelernter's Lin...
Modelling Operating System Structures by Timed Stream Processing Functions
 Journal of Functional Programming
, 1991
"... Some extensions of the basic formalism of stream processing functions are useful to specify complex structures such as operating systems. ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
Some extensions of the basic formalism of stream processing functions are useful to specify complex structures such as operating systems.
A Filter Model for Concurrent λCalculus
 SIAM J. COMPUT
, 1998
"... Type free lazy λcalculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union ty ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
Type free lazy λcalculus is enriched with angelic parallelism and demonic nondeterminism. Callbyname and callbyvalue abstractions are considered and the operational semantics is stated in terms of a must convergence predicate. We introduce a type assignment system with intersection and union types and we prove that the induced logical semantics is fully abstract.
GraphGrammar Semantics of a HigherOrder Programming Language for Distributed Systems
 Graph Transformations in Computer Science: Proceedings of the International Workshop, number 776 in Lecture Notes in Computer Science
, 1994
"... . We will consider a new tiny, yet powerful, programming language for distributed systems, called DHOP, which has its operational semantics given as algebraic graph rewrite rules in a certain category of labeled graphs. Our approach allows to separate actions which affect several processes from loca ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
. We will consider a new tiny, yet powerful, programming language for distributed systems, called DHOP, which has its operational semantics given as algebraic graph rewrite rules in a certain category of labeled graphs. Our approach allows to separate actions which affect several processes from local changes such as variable bindings. We also sketch how to derive an implementation from this specification. 1 Introduction There are already many calculi for programming distributed systems. Roughly, they can be divided into three groups: 1. Fully fledged programming languages (like occam2 [12], POOL [1], and SR [2]) contain a lot of features useful in practical applications. Their semantics is usually given informally. 2. Small languages (like CSP [11], DNP [7], extended typed calculus [18], and Facile [19]) could be used for programming tasks, although they concentrate on the main ideas. Their semantics is formally defined. 3. Process algebras (like ACP [5], CCS [14], ßcalculus [15], a...
Behaviour Analysis for Validating Communication Patterns
, 1997
"... . The communication patterns of concurrent programs can be expressed succinctly using behaviours; these can be viewed as a kind of causal constraints or as a kind of process algebra terms. We present a system that infers behaviours from a useful fragment of Concurrent ML programs; it is based on pre ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
. The communication patterns of concurrent programs can be expressed succinctly using behaviours; these can be viewed as a kind of causal constraints or as a kind of process algebra terms. We present a system that infers behaviours from a useful fragment of Concurrent ML programs; it is based on previously developed theoretical results and forms the core of a system available on the Internet. By means of a case study, used as a benchmark in the literature, we shall see that the system facilitates the validation of certain safety conditions for reactive programs. 1 Introduction It is wellknown that testing can only demonstrate the presence of bugs, never their absence. This has motivated a vast amount of research into techniques for guaranteeing statically (that is, at compiletime rather than at runtime) that the software behaves in certain ways; a prime example is the formal verification of software. In this line of development, various notions of type systems have been put forwar...
Towards a Calculus of Communicating Functions
, 1992
"... We enrich a typed calculus with pairs by two communication primitives for sending and receiving typed values along typed channels. The resulting language is a conservative extension of the underlying  calculus which then allows strongly typed nonterminating computations. ..."
Abstract
 Add to MetaCart
We enrich a typed calculus with pairs by two communication primitives for sending and receiving typed values along typed channels. The resulting language is a conservative extension of the underlying  calculus which then allows strongly typed nonterminating computations.
"Classical" programmingwithproofs in $\lambda^{Sym}_{PA}$: an analysis of nonconfluence
"... . Sym PA is a natural deduction system for Peano Arithmetic that was developed in order to provide a basis for the programmingwith proofs paradigm in a classical logic setting. In the paper we analyze one of its main features: nonconfluence. After looking at which rules can cause nonconfluence ..."
Abstract
 Add to MetaCart
. Sym PA is a natural deduction system for Peano Arithmetic that was developed in order to provide a basis for the programmingwith proofs paradigm in a classical logic setting. In the paper we analyze one of its main features: nonconfluence. After looking at which rules can cause nonconfluence, we develop in the system a formal proof for a formula that can be seen as a simple but meaningful program specification. The computational behaviour of the corresponding term will be analysed by interpreting it as a (higherorder communicating) process formed by distinct subprocesses which cooperate in different ways, producing different results, according to the reduction strategy used. We also show how to restrict the system in order to get confluence without loosing its computational features. The restricted system enables us to argue for the expressive power of symmetric and nondeterministic calculi like Sym PA . 1 Introduction The possibility of extracting constructive content f...
Logical Semantics for Concurrent LambdaCalculus
, 1997
"... een wetenschappelijke proeve op het gebied van Wiskunde en Informatica Proefschrift ter verkrijging van de graad van doctor aan de Katholieke Universiteit Nijmegen, volgens besluit van het College van Decanen in het openbaar te verdedigen op ..."
Abstract
 Add to MetaCart
(Show Context)
een wetenschappelijke proeve op het gebied van Wiskunde en Informatica Proefschrift ter verkrijging van de graad van doctor aan de Katholieke Universiteit Nijmegen, volgens besluit van het College van Decanen in het openbaar te verdedigen op
Bisimulation for HigherOrder Process Calculi
 Information and Computation
, 1996
"... : A higherorder process calculus is a calculus for communicating systems which contains higherorder constructs like communication of terms. We analyse the notion of bisimulation in these calculi. We argue that both the standard definition of bisimulation (i.e., the one for CCS and related calculi) ..."
Abstract
 Add to MetaCart
: A higherorder process calculus is a calculus for communicating systems which contains higherorder constructs like communication of terms. We analyse the notion of bisimulation in these calculi. We argue that both the standard definition of bisimulation (i.e., the one for CCS and related calculi), as well as higherorder bisimulation [AGR88, Bou89, Tho90] are in general unsatisfactory, because overdiscriminating. We propose and study a new form of bisimulation for such calculi, called context bisimulation, which yields a more satisfactory discriminanting power. A drawback of context bisimulation is the heavy use of universal quantification in its definition. A major goal of the paper is to find characterisations which make bisimilarities easier to verify. An important role in our theory is played by the factorisation theorem: When comparing the behaviour of two processes, it allows us to "isolate" subcomponents which might cause differences, so that the analysis can be concentrat...