25 citations found. Retrieving documents...
Steve Gregory. Parallel Logic Programming in PARLOG - the language and its implementation. Addison-Wesley, 1987.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Sharing of Computations - Amtoft (1993)   (1 citation)  (Correct)

....configurations have to be multisets of old configurations (now to be called basic configurations) There are two reasons for working with multisets and not with sequences (i.e. not to order the branches) a pragmatic and a mathematical one: 195 . it is rather easy to implement or parallelism [Gre87] as no communication has to occur between the branches. On the other hand, and parallelism [Gre87] is much harder to implement due to the need for sharing of data, hence most implementations employ the strategy. If we use sequences, the Church Rosser property will be lost. To see this, ....

....There are two reasons for working with multisets and not with sequences (i.e. not to order the branches) a pragmatic and a mathematical one: 195 . it is rather easy to implement or parallelism [Gre87] as no communication has to occur between the branches. On the other hand, and parallelism [Gre87] is much harder to implement due to the need for sharing of data, hence most implementations employ the strategy. If we use sequences, the Church Rosser property will be lost. To see this, consider the program a b; a c; d e; d f Now consider the goal [a,d] By first unfolding a and then ....

Steve Gregory. Parallel Logic Programming in PARLOG - the language and its implementation. Addison-Wesley, 1987.


Designing a Concurrent Programming Language - Ueda (1990)   (5 citations)  (Correct)

....publication, in which the publication of a constraint by a process is done upon reduction and only when it does not cause inconsistency. Atomic publication may have to test and set a number of variables at the same time, which can be costly in a distributed implementation. In GHC and PARLOG [4], on the other hand, the publication of a constraint is separated from the reduction of a non uni cation goal and is done by an independent uni cation goal. This alternative, called eventual publication, is advantageous for implementation, though some programming techniques can be used only in ....

Gregory, S., Parallel Logic Programming in PARLOG: The Language and its Implementation. Addison-Wesley, Wokingham, England, 1987.


The Design, Implementation, and Evaluation of Jade - Rinard, Lam (1998)   (Correct)

....while the COOL version achieves a maximum speedup of 21.06 on 28 processors. 7. RELATED WORK Researchers have developed an enormous number of parallel programming languages [America 1987; Bal et al. 1992; Burns 1988; Carriero and Gelernter 1989; Chandra et al. 1993; Foster and Taylor 1990; Gregory 1987; Hoare 1985; INMOS Limited 1984; Krishnamurthy et al. 1992; Reppy 1992; Yonezawa et al. 1986] There is a fundamental difference between Jade and almost all of these languages: Jade is a declarative language used to provide information about how a serial program accesses data, while the vast ....

Gregory, S. 1987. Parallel Logic Programming in PARLOG: The Language and Its Implementation. Addison-Wesley, Reading, Mass.


A Synthesis Algorithm for Modular Design of Pipelined Circuits - Marinescu, Rinard   (Correct)

....in, saving design time. Finally, modular specifications of systems are more suitable for automatic synthesis and simulation than non modular ones and have good scalability characteristics. This model has proved to be useful in the Unix operating system and in various parallel programming models [1, 8, 7, 13]. More recently it has been used to successfully model complicated hardware designs, where it has shown great promise in enabling very concise, clear specifications [2, 14] We want to underline once more that the loosely coupled modules connected by FIFOs model we use is not ....

....tests the value in its register argument and, if the value is zero, jumps to the location in its location argument. 1 type reg = int(3) val = int(8) loc = int(8) 2 type ins = INC reg JRZ reg loc ; 3 type irf = INC reg val JRZ val loc ; 4 var pc : loc, im : ins[N] rf : val[8]; 5 var iq = queue(ins) rq = queue(irf) Figure 2: State Variables for Example Line 4 and 5 in Figure 2 define the processor s state variables as follows: the first line contains the definitions for the visible state, while the second contains the definitions for the control state. The three ....

S. Gregory. Parallel Logic Programming in PARLOG: The Language and Its Implementation. AddisonWesley, Reading, Mass., 1987.


Implementing Concurrent Logic and Functional Languages in Dactl - Papadopoulos (1997)   (Correct)

....to Dactl of this first category is quite trivial since the language s semantics captures completely the needed functionality. 3. 2 Translating languages with non atomic unification The group of languages with non atomic unification includes (among others) Fleng (Nilsson and Tanaka 1986) Parlog (Gregory 1987), GHC (Ueda 1986) Strand (Foster and Taylor 1990) and Janus (Saraswat et al. 1990) Consider the definition of the predicate member add#X;L;Lb;Le#, adding an element X into the difference list Lb=Le if it is a member of the list L (Foster and Taylor 1990) member add#X; #X1 j #; Lb;Le#: X= X1 j ....

....to Dactl, and so far we have considered only the first two. The efficient translation of procedures belonging to the third category is not a trivial issue since all candidate clauses must be evaluated in parallel. The techniques reported in the literature generally involve a lot of copying (Gregory 1987, Levy and Shapiro 1987) Our technique (described fully in Papadopoulos (1989a) Papadopoulos (1989b) involves the use of an overwritable node to be instantiated to the body of the committed clause. In particular, assuming a procedure of the form p#: #: g1#: # jb1#: #: p#: #: g2#: # ....

Gregory, S. (1987) Parallel Logic Programming in Parlog -- The Language and its Implementation. Addison-Wesley, London.


Unfold/fold Transformations Preserving Termination Properties - Amtoft (1992)   (1 citation)  (Correct)

....families of C and C 0 must be isomorphic. There exist some operations on transitions: If t 1 is a transition from C 1 to C 0 1 , and if t 2 is a transition from C 2 to C 0 2 , then t 1 t 2 will be a transition from C 1 C 2 to C 0 1 C 0 2 . This models or parallelism , cf. [Gre87]. If t 1 is a transition from C 1 to C 0 1 , and if t 2 is a transition from C 2 to C 0 2 , then t 1 t 2 will be a transition from C 1 C 2 to C 0 1 C 0 2 . This models and parallelism . U ( If t is a transition from C 1 to C 2 , and s is a function (having an appropriate ....

Steve Gregory. Parallel Logic Programming in PARLOG - the language and its implementation. Addison-Wesley, 1987.


A Framework for Integrating Artificial Neural Networks and.. - Lee Department Of (1995)   (3 citations)  (Correct)

....2 of a derivation step. We call these clauses candidate clauses. The solution computed depends upon the choice of candidate clause, to which the evaluation is committed. PROCLANN does not specify which candidate clause to select if there is a choice. It relies on a fair 2 scheduling algorithm [15] in the underlying implementation to select and commit to a candidate clause. Thus PROCLANN does not support tree search on constraints. In addition, it is possible that PROCLANN chooses a wrong clause in a derivation step that leads to a failed derivation even when there exists a successful ....

S. Gregory. Parallel Logic Programming in PARLOG: The Language and Its Implementation. Addison-Wesley, 1987.


Exploiting And-Parallelism And Combined And/orparallelism In Logic .. - Zhang   (Correct)

....conflict is said to have occurred when more than one different values are attempted to be bound to a single variable. To overcome the problem of binding conflict, some logic langauges use different syntactic annotations to declare explicitly the variable modes to indicate their binding rules [17], or to show the goal dependencies to dictate their evaluation order [43] Other systems exploit AND parallelism implicitly from the programs written in standard Prolog. The latter approach is a subject of this review. Systems using implicit approach include those which evaluate concurrently the ....

....among goals regarding their variable binding responsibilities. Some of these models use the reordering technique which avoids the performance loss in post execution reconciliation but sacrifices some parallelism. In the reordering technique, as employed by the mode declarations in Parlog [17], the goals sharing the same variable are implicitly divided into a producer goal and one or more consumer goals of the variable at run time. Only one producer is chosen for each variable. Then the producer goal generates the values for the shared variable, which are tested and consumed by the ....

[Article contains additional citation context not shown here]

Gregory, S. Parallel Logic Programming in PARLOG - the Language and its Implementation. Addison-Wesley, 1987. 20


Using Attributed Variables in the Implementation of.. - Hermenegildo, Cabeza.. (1995)   (2 citations)  (Correct)

.... in this example is to combine the two main approaches currently used in concurrent logic programming, and which are seen traditionally as unrelated: shared variable systems, in which communication among parallel tasks is done through logical variables (e.g. Concurrent Prolog [25] PARLOG [12], GHC [30] Janus [24] AKL [20] Oz [27] etc. and distributed or blackboard systems, in which communication is done through explicit built ins which access shared channels or global data areas (e.g. Multi Prolog [2] Shared Prolog [3] and Prologs incorporating Linda [7] being one of the ....

....is the number of operations performed in the blackboard during the execution of the programs. This number was measured by instrumenting the SICStus implementation of the Linda library. The incomplete message program is the standard program implementing a two way communication between processes [12, 28, 29]. The bounded buffer program is also the standard one. The one to many communication with acknowledge program allows several processes to read a stream produced by another, the latter being informed of which process read each element. We argue that, despite the amount of metainterpretation of ....

S. Gregory. Parallel Logic Programming in PARLOG: the Language and its Implementation. Addison-Wesley Ltd., Wokingham, England, 1987.


IQ: Towards Incremental Query Processing in Non-Deterministic.. - Lee, Leung (1994)   (Correct)

....[11] which defines a family of non deterministic concurrent constraint logic programming languages. Constraint Pandora is essentially a concurrent version of the CLP scheme [9] based on the execution model of Pandora [1] Unlike the committed choice concurrent logic languages, such as Parlog [8], GHC [18] and Concurrent Prolog [17] Constraint Pandora supports both don t know and don t care nondeterminisms, allowing the generation of multiple answers to a query. We use the VHLP scheme as a starting point. Re execution is not suitable for our setting since process creation and ....

....If it has more than one candidate clause, then it suspends. A don t care process executes whenever it finds a candidate clause. In other words, the don t know processes use a more prudent Andorra like commit law [23] while the don t care processes use a more eager Parlog like commit law [8]. There are two kinds of transitions of execution states. When a process executes, it commits to a candidate clause (for don t know processes, the candidate clause) generates the tell constraints in the clause body, spawns the processes in the clause body, and then terminates. The newly ....

S. Gregory. Parallel Logic Programming in PARLOG: The Language and Its Implementation. Addison-Wesley, 1987.


A Lingua Franca for Concurrent Logic Programming - Hamish Taylor (1989)   (Correct)

....Lingua Franca for Concurrent Logic Programming Hamish Taylor 1. Introduction Among concurrent logic programming or CLP languages like Concurrent Prolog [16] two of the most prominent are GHC [21] and Parlog [6]. GHC and Parlog have similar execution models but complementary virtues as will be argued. Hence it could be desirable to find some common denominator of both languages, which is sufficiently expressive to be worth programming in its own right, and yet is sufficiently close to both languages to ....

....or sequential operator is to signify the negation of prior clauses guards in subsequent clause guards. It cannot be soundly realised operationally by implementing such negation merely as the failure of prior guards without imposing extra restrictions on them determined by compile time analysis [6] p.89 92. These restrictions raise the problem of precisely identifying unsafe guards which is discussed later. Furthermore the sequentiality of Parlog s and sequential operator affects the termination properties of a Parlog program, but does not contribute to its declarative meaning. Swapping ....

[Article contains additional citation context not shown here]

S. Gregory, Parallel Logic Programming in Parlog - the Language and its Implementation, Int. Series in Logic Programming, Addison-Wesley, London, Feb. 1987.


Optimizing Clause Matching Automata in Committed-Choice Languages - Massey, Tick (1994)   (Correct)

....is committed to. Thus, simple guarded term pattern matching compilers, such as that of Peyton Jones [9] are not sufficient for these languages. Naive implementations of nondeterministic clause matching semantics use a technique incorporated in several systems [15] such as Gregory s SPM [4]. In this technique, the match is performed left to right. However, if the match could suspend because of an unbound DSA variable, that variable is added to a suspension set, and matching of that clause is abandoned. If the suspension set is nonempty and no clause can be matched, the match is ....

S. Gregory. Parallel Logic Programming in PARLOG: The Language and its Implementation. Addison-Wesley Ltd., Wokingham, England, 1987.


Super Monaco: Its Portable and Efficient Parallel Runtime.. - Larson, Massey, Tick (1995)   (2 citations)  (Correct)

....Compiled Alloc. 1.3 1.3 1.1 1.1 1.1 0.9 Table 3. Execution Time Breakdown (by Percentage) 6 Related Work Among the first abstract machine designs for committed choice languages were an implementation of Flat Concurrent Prolog [15] by Houri [9, 16] the Sequential Parlog machine by Gregory et al. [6], and the KL1 machine by Kimura [10] at ICOT. A good summary of work on Parlog appears in Gregory s book [6] The JAM Parlog system [4] is a commonly used Parlog implementation which compiles Parlog into code for an abstract machine interpreter. The implementation of JAM Parlog features many ....

....the first abstract machine designs for committed choice languages were an implementation of Flat Concurrent Prolog [15] by Houri [9, 16] the Sequential Parlog machine by Gregory et al. 6] and the KL1 machine by Kimura [10] at ICOT. A good summary of work on Parlog appears in Gregory s book [6]. The JAM Parlog system [4] is a commonly used Parlog implementation which compiles Parlog into code for an abstract machine interpreter. The implementation of JAM Parlog features many innovations which are still in current use by both our system and others, including tail call optimization and ....

S. Gregory. Parallel Logic Programming in PARLOG: The Language and its Implementation. Addison-Wesley Ltd., Wokingham, England, 1987.


A Framework for Integrating Artificial Neural Networks and Logic .. - Lee, Tam (1995)   (3 citations)  (Correct)

....2 of a derivation step. We call these clauses candidate clauses . The solution computed depends upon the choice of candidate clause, to which the evaluation is committed. PROCLANN does not specify which candidate clause to select if there is a choice. It relies on a fair 2 scheduling algorithm [15] in the underlying implementation to select and commit 2 Shapiro et al. 35, 36] define the notion of stable implementation of Concurrent Prolog and show how fairness can be controlled by the programmer. Parlog programmers do not have to rely on a stable implementation. Fairness can be ....

S. Gregory. Parallel Logic Programming in PARLOG: The Language and Its Implementation. Addison-Wesley, 1987.


Parallel Logic Programming Techniques - van Lohuizen (1998)   (Correct)

....applied, performance remains poor. These performance considerations have made that full AND parallelism is considered an unfruitful approach to AND parallelism. A discussion of this approach can be found in [Wis86] The problems that arise with full ANDparallelism are discussed in more details in [Gre87] and [DeG88] A completely different approach to the aforementioned approaches to AND parallelism is stream parallelism. Instead of avoiding binding conflicts, stream parallelism proIMPACT NLI 1998 3 IMPACT 2.4 Dependent AND Parallelism 15 vides mechanisms for goals that share variables to ....

....If a producer clause binds a variable, the bindings are passed to the consumer clause for further treatment. Two different processing strategies can be applied to obtain pipelining. The first approach is to buffer the entire result of the producer before passing it to the consumer (see [Con87b] [Gre87]. The second approach is to allow the consumer to work on the incoming bindings incrementally (also called overlapping execution, see tamurakanada84) The latter results in better parallelism. Con87b] and [CK85] describe a method using non overlapping pipelining in combination with ....

[Article contains additional citation context not shown here]

S. Gregory. Parallel Logic Programming in Parlog: The Language and its Implementation. Addison-Wesley, London, 1987.


Incremental Querying In The Concurrent Clp Language.. - Lee, Leung (1996)   (2 citations)  (Correct)

....floating point numbers. Each d variable has the form X D , where D is the associated domain of X D . A constraint in IFD Constraint Pandora contains only ground terms and d variables. Figure 1 contains a IFD Constraint Pandora program that solves the 4 queens problem. The = 2 test predicate [7] in the guard is for input matching (or one way unification) The : 2 predicate declares d variables and their associated domains. In this example, we declare the domains of all d variables as f1; 2; 3; 4g. Each derivation step in Constraint Pandora consists of two substeps: 1) generation of ....

Gregory, S. Parallel Logic Programming in PARLOG: The Language and Its Implementation. Addison-Wesley, 1987.


Massively Parallel Programming Languages - A Classification .. - Gellerich, Gutzmann   (Correct)

....55] Fortran D [26] HPF [43] implicitly parallel 6. functional : Haskell [37, 38] languages : extended ML [5] 7. data flow : VAL [49] Id [21, 51] languages : Sisal [48, 15] 8. equational : ASL [33, 22] EPL [64] languages : Crystal [39] 9. logical : Concurrent Prolog [62] languages : Parlog [32, 18, 16], GHC [66] Table 1: Classification of parallel languages parallelizing compilers, in order to use existing sequential code on parallel machines. Unfortunately, there are several problems with this approach. To a varying degree, sequential languages are based on the von Neumann model of computation ....

S. Gregory. Parallel logic programming in PARLOG : the language and its implementation. Addison-Wesley, Wokingham, 1987.


Implementing Concurrent Logic and Functional Languages in Dactl - Papadopoulos (1997)   (Correct)

....belongs to the first category. The translation to Dactl of this first category is quite trivial since the language s semantics captures completely the needed functionality. 4. 2 Translating Languages with Non Atomic Unification This group of languages includes (among others) Fleng ( 20] Parlog([21]) GHC( 22] Strand( 16] and Janus ( 23] Consider the definition of the predicate member add(X,L,Lb,Le) adding an element X into the difference list Lb Le if it is a member of the list L ( 16] member add(X, X1 ] Lb,Le) X= X1 Lb= X Le] member add(X, X1 L] Lb,Le) X= X1 ....

....only the first two. The efficient translation of procedures belonging to the third category is not a trivial issue since all candidate clauses must be evaluated in parallel. The techniques reported in the literature generally involve a lot of George A. Papadopoulos 10 copying ([21,26]) Our technique described fully in [27,28] involves the use of an overwritable node to be instantiated to the body of the committed clause. In particular, assuming a procedure of the form p( g1( b1( p( g2( b2( where p s input patterns are overlapping and ....

S. Gregory, Parallel Logic Programming in Parlog --- The Language and its Implementation, Addison Wesley, London, UK, 1987.


An Execution Scheme for Interactive Problem-Solving in.. - Lee, Leung   (Correct)

....[16] which defines a family of non deterministic concurrent constraint logic programming languages. Constraint Pandora is essentially a concurrent version of the CLP scheme [13] based on the execution model of Pandora [1] Unlike the committed choice concurrent logic languages, such as Parlog [11], GHC [28] and Concurrent Prolog [23] Constraint Pandora supports both don t know and don t care non determinisms, allowing the generation of multiple answers to a query. In order to avoid the overhead of process creation and inter process communication, we minimize re execution and propose to ....

....If it has more than one candidate clause, then it suspends. A don tcare process executes whenever it finds a candidate clause. In other words, the don t know processes use a more prudent Andorra like commit law [37] while the don t care processes use a more eager Parlog like commit law [11]. There are two kinds of derivation steps. When a process executes, it commits to a candidate clause (for a don t know process, the candidate clause) generates the tell constraints in the clause body, spawns the processes in the clause body, and then terminates. The newly generated constraints ....

S. Gregory. Parallel Logic Programming in PARLOG: The Language and Its Implementation. Addison-Wesley, 1987.


Dactl: An Experimental Graph Rewriting Language - Glauert, Kennaway.. (1991)   (23 citations)  (Correct)

....studied in some detail [Sta80a, Sta80b, Bar87, Hof88, Far90] The main result is that sharing implementations produce the correct semantics at least for orthogonal term rewrite systems. Logic programming languages of the committed choice variety (for example Concurrent Prolog [Sha89] and Parlog [Gre87]) may be viewed as specialised graph rewriting languages, as may actor models such as DyNe [Ken83] More recently Lafont [Laf90] has proposed an Interaction Net model of computation which again may be viewed as specialised graph rewriting, whose constraints are inspired by Girard s work on Linear ....

Gregory, S., 1987, Parallel Logic Programming in PARLOG The Language and its Implementation, Addison-Wesley, London.


Experience Using an Intermediate Compiler Target Language for.. - Papadopoulos   (Correct)

.... cycles performed; AvP: Activations processed per cycle (mean value) MxP: Activations processed per cycle (peak value) The first version was produced by performing the required transformations at the level of the user s language (in this case a typical concurrent logic language such as Parlog ([23]) or GHC ( 44] The second version was produced by performing the required transformations at the Dactl level. It is obvious that the second version is significantly faster than the first one. 3.4 Variable Representation We consider the issue of what exactly constitutes a variable at the level ....

....object can range from a simple graph node to a small subgraph rooted at such an overwritable node and comprising some very useful information particular to the semantics and characteristics of the language or formalism in question. For instance, to represent variables in languages like Parlog ([23]) or Strand ( 15] a simple overwritable graph node suffices. However, in GHC ( 44] a variable in a guard cannot be instantiated by any unify operations other than the ones invoked within the guard. So in the following clause p(X) q(X,Y) r(Y,Z) a unify operation invoked in q can ....

S. Gregory, Parallel Logic Programming in Parlog --- The Language and its Implementation, Addison-Wesley, London, 1987.


Reconciling Systems and Deductive Capabilities in Knowledge Based .. - Taylor   (Correct)

....when matching on related arguments values. Ideally any argument should be open to use in either way. Prolog s use of the bi directional unification operation sustains this capability directly. By contrast the synchronisation constraints of concurrent logic programming or CLP languages like Parlog [13] and GHC [32] interfere with multi moded use of clause head arguments. Each head argument can only be used for matching on or for supplying values. 3. Programming Systems in Logic Concurrent knowledge based systems need a number of concurrency and control capabilities including . multiple threads ....

....of Prolog in parallel does not by itself provide a mechanism for synchronising execution of goals upon dataflow, for fair multi tasking, nor for interactive task control. 5. Knowledge Based Systems in CLP Languages The and parallelism of the CLP languages like GHC [32] FCP [26] and Parlog [13] allows them to support concurrent execution of goals with shared variables even on a single processor implementation. They can synchronise goal execution via dataflow constraints and by the combination of suspending primitives and sequencing constructs like guards. Most CLP implementations ....

S. Gregory, Parallel Logic Programming in Parlog - The language and its Implementation, International Series in Logic Programming, Addison-Wesley Publishing Company, London, (February 1987).


Unfold/fold Transformations Preserving Termination Properties - Amtoft (1992)   (1 citation)  (Correct)

No context found.

Steve Gregory. Parallel Logic Programming in PARLOG - the language and its implementation. Addison-Wesley, 1987.


From Concurrent Logic Programming to Concurrent Constraint .. - de Boer, Palamidessi (1993)   (6 citations)  (Correct)

No context found.

Gregory, S. (1987). Parallel Logic Programming in PARLOG: the Language and its Implementation. Addison-Wesley.


From Concurrent Logic Programming to Concurrent Constraint .. - de Boer, Palamidessi (1993)   (6 citations)  (Correct)

No context found.

Gregory, S. (1987). Parallel Logic Programming in PARLOG: the Language and its Implementation. Addison-Wesley.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC