Results 1  10
of
92
The Oz Programming Model
 COMPUTER SCIENCE TODAY, LECTURE NOTES IN COMPUTER SCIENCE
, 1995
"... The Oz Programming Model (OPM) is a concurrent programming model subsuming higherorder functional and objectoriented programming as facets of a general model. This is particularly interesting for concurrent objectoriented programming, for which no comprehensive formal model existed until now. ..."
Abstract

Cited by 294 (10 self)
 Add to MetaCart
The Oz Programming Model (OPM) is a concurrent programming model subsuming higherorder functional and objectoriented programming as facets of a general model. This is particularly interesting for concurrent objectoriented programming, for which no comprehensive formal model existed until now. The model
Rewriting Logic as a Logical and Semantic Framework
, 1993
"... Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are und ..."
Abstract

Cited by 147 (52 self)
 Add to MetaCart
Rewriting logic [72] is proposed as a logical framework in which other logics can be represented, and as a semantic framework for the specification of languages and systems. Using concepts from the theory of general logics [70], representations of an object logic L in a framework logic F are understood as mappings L ! F that translate one logic into the other in a conservative way. The ease with which such maps can be defined for a number of quite different logics of interest, including equational logic, Horn logic with equality, linear logic, logics with quantifiers, and any sequent calculus presentation of a logic for a very general notion of "sequent," is discussed in detail. Using the fact that rewriting logic is reflective, it is often possible to reify inside rewriting logic itself a representation map L ! RWLogic for the finitely presentable theories of L. Such a reification takes the form of a map between the abstract data types representing the finitary theories of...
Records for Logic Programming
 Journal of Logic Programming
, 1994
"... CFT is a new constraint system providing records as logical data structure for constraint (logic) programming. It can be seen as a generalization of the rational tree system employed in Prolog II, where finergrained constraints are used, and where subtrees are identified by keywords rather than by ..."
Abstract

Cited by 95 (17 self)
 Add to MetaCart
CFT is a new constraint system providing records as logical data structure for constraint (logic) programming. It can be seen as a generalization of the rational tree system employed in Prolog II, where finergrained constraints are used, and where subtrees are identified by keywords rather than by position. CFT is defined by a firstorder structure consisting of socalled feature trees. Feature trees generalize the ordinary trees corresponding to firstorder terms by having their edges labeled with field names called features. The mathematical semantics given by the feature tree structure is complemented with a logical semantics given by five axiom schemes, which we conjecture to comprise a complete axiomatization of the feature tree structure. We present a decision method for CFT, which decides entailment / disentailment between possibly existentially quantified constraints. Since CFT satisfies the independence property, our decision method can also be employed for checking the sat...
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 model for u ..."
Abstract

Cited by 62 (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 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...
A Foundation for Higherorder Concurrent Constraint Programming
, 1994
"... We present the flcalculus, a computational calculus for higherorder concurrent programming. The calculus can elegantly express higherorder functions (both eager and lazy) and concurrent objects with encapsulated state and multiple inheritance. The primitives of the flcalculus are logic variables ..."
Abstract

Cited by 60 (13 self)
 Add to MetaCart
We present the flcalculus, a computational calculus for higherorder concurrent programming. The calculus can elegantly express higherorder functions (both eager and lazy) and concurrent objects with encapsulated state and multiple inheritance. The primitives of the flcalculus are logic variables, names, procedural abstraction, and cells. Cells provide a notion of state that is fully compatible with concurrency and constraints. Although it does not have a dedicated communication primitive, the flcalculus can elegantly express onetomany and manytoone communication. There is an interesting relationship between the flcalculus and the ßcalculus: The flcalculus is subsumed by a calculus obtained by extending the asynchronous and polyadic ßcalculus with logic variables. The flcalculus can be extended with primitives providing for constraintbased problem solving in the style of logic programming. A such extended flcalculus has the remarkable property that it combines firstor...
Compiling MultiParadigm Declarative Programs into Prolog
 In Proc. International Workshop on Frontiers of Combining Systems (FroCoS’2000
, 2000
"... This paper describes a highlevel implementation of the concurrent constraint functional logic language Curry. The implementation, directed by the lazy pattern matching strategy of Curry, is obtained by transforming Curry programs into Prolog programs. Contrary to previous transformations of functio ..."
Abstract

Cited by 56 (39 self)
 Add to MetaCart
This paper describes a highlevel implementation of the concurrent constraint functional logic language Curry. The implementation, directed by the lazy pattern matching strategy of Curry, is obtained by transforming Curry programs into Prolog programs. Contrary to previous transformations of functional logic programs into Prolog, our implementation includes new mechanisms for both efficiently performing concurrent evaluation steps and sharing common subterms. The practical results show that our implementation is superior to previously proposed similar implementations of functional logic languages in Prolog and is competitive w.r.t. lowerlevel implementations of Curry in other target languages. An noteworthy advantage of our implementation is the ability to immediately employ in Curry existing constraint solvers for logic programming. In this way, we obtain with a relatively modest effort the implementation of a declarative language combining lazy evaluation, concurrency a...
Operational Semantics for Declarative MultiParadigm Languages
 Journal of Symbolic Computation
, 2005
"... Abstract. In this paper we define an operational semantics for functional logic languages covering notions like laziness, sharing, concurrency, nondeterminism, etc. Such a semantics is not only important to provide appropriate language definitions to reason about programs and check the correctness ..."
Abstract

Cited by 54 (25 self)
 Add to MetaCart
Abstract. In this paper we define an operational semantics for functional logic languages covering notions like laziness, sharing, concurrency, nondeterminism, etc. Such a semantics is not only important to provide appropriate language definitions to reason about programs and check the correctness of implementations but it is also a basis to develop languagespecific tools, like program tracers, profilers, optimizers, etc. First, we define a "bigstep " semantics in natural style to relate expressions and their evaluated results. Since this semantics is not sufficient to cover concurrency, search strategies, or to reason about costs associated to particular computations, we also define a "smallstep " operational semantics covering the features of modern functional logic languages.
An introduction to AKL  A multiparadigm programming language
 In Constraint Programming (NATOASI Series
, 1994
"... ..."
Encapsulated Search for Higherorder Concurrent Constraint Programming
 Logic Programming: Proceedings of the 1994 International Symposium
, 1994
"... The paper presents an extension of the concurrent constraint model providing for higherorder programming, deep guards, and encapsulated search. The paper focuses on a higherorder combinator providing for encapsulated search. The search combinator spawns a local computation space and resolves remai ..."
Abstract

Cited by 47 (13 self)
 Add to MetaCart
The paper presents an extension of the concurrent constraint model providing for higherorder programming, deep guards, and encapsulated search. The paper focuses on a higherorder combinator providing for encapsulated search. The search combinator spawns a local computation space and resolves remaining choices by returning the alternatives as firstclass citizens. The search combinator allows to program different search strategies, including depthfirst, indeterministic one solution, demanddriven multiple solution, all solutions, and best solution (branch and bound) search. The described computation model is realized in Oz, a programming language and system under development at DFKI. Keywords Concurrent constraint programming, higherorder programming, encapsulated search, search strategies, Oz. 1 Introduction Oz [2, 3, 9, 8, 7, 1] is an attempt to create a highlevel concurrent programming language providing the problem solving capabilities of logic programming (i.e., constraints ...