| Gregory, S. 1987.Parallel Logic Programming in PARLOG, Addison-Wesley. |
....The problem is that, in functional languages, we can only make sequential access to an in nite list, and computation stalls whenever a bottom is encounted. Contrary to this, if we use a logic programming language with guarded clauses and committed choice such as Concurrent Prolog [7] PARLOG[2], and (Flat) GHC (Guarded Horn Clauses) 12,13] we can directly express the behavior of an IM2 machine as a program, and execute it on an ordinary computer. The ability of an IM2 machine to wait for the next character from multiple heads corresponds to parallel execution of guards, and the ....
....11 Implementations in other programming languages, and conclusions As we have seen, our implementation of IM2 machines use the notion of guarded clauses and committed choice. Therefore, other parallel logic programming languages with guarded clauses and committed choice nondeterminism, like PARLOG[2] and Concurrent Prolog[7] can also be used instead of GHC. SICStus Prolog, which is a dialect of Prolog, contains the primitive freeze which blocks a goal until a variable is instantiated. Though freeze does not have enough expressive power, when we combine when and nonvar primitives, ....
Steve Gregory. Parallel Logic Programming in PARLOG. Addison-Wesley, 1987.
....,Li,Lo,Ri,Ro) in southern, rout er (Ri, Ro ) connect (I,Li) connect (0 ,Lo) 10 Related Work Program structuring and reuse are important themes in parallel computing research. These themes are particularly visible in CSP [19] functional programming [21, 18] concurrent logic programming [10, 16], object oriented programming [1] and Unity [7] Most of these systems are based on lightweight process and message passing ideas similar to those explored in this paper. However, for a variety of reasons, they do not support the same forms of composition and reuse. CSP s processes and channels ....
Gregory, S., Parallel Logic Programming in PARLOG, Addison-Wesley, 1987.
.... 2 Related Work The benefits of an architecturally independent model of parallel computation have been widely recognized in the computer science community [29, 28, 25, 1, 7] The notion of monotonicity is at the heart of several such programming models, notably concurrent logic programming [11, 24], functional programming [28, 26, 9] and object oriented programming [1] Similarly, concurrent composition underlies such diverse approaches as CSP [29] concurrent logic programming, functional programming, and Unity [7] Unfor tunately, these models either do not support concurrent ....
Gregory, S., Parallel Logic Programming in PARLOG, Addison-Wesley, 1987.
....Engineering and Computer Science Federal University of Rio de Janeiro fpriscila,inesg cos.ufrj.br http: www.cos.ufrj.br fpriscila,inesg Este trabalho apresenta a implementac ao de uma Rede Neuronal Artificial para o processamento de inferencia. O sistema foi escrito na linguagem Parlog [3] e modela tres tipos de simulac ao: baseada no modelo de Hopfield, em m aquinas de Boltzman e m aquinas de Boltzman com hiper arcos. Os simuladores implementam redes que podem apresentar qualquer topologia. Cada neuronio e representado por um processo em Parlog (objetivos no corpo de uma ....
Gregory, S. Parallel Logic Programming in PARLOG. Addison--Wesley, 1987.
....The last line prints on the display device the two objects that have been created. 3.3.2 Execution To obtain a proper behaviour of the system, we need to introduce some synchronization mechanism among the AND concurrent processes. We rely here on the usual technique of suspending variables [20, 11]. We could introduce explicit read only marks or mode declarations but we prefer the following convention: the application of a method is postponed if its head matches a subpart of the context which contains a free variable at the top level (typically the case of input channels) The method is ....
S. Gregory. Parallel Logic Programming in Parlog. Addison-Wesley, Reading, Ma, U.S.A., 1987.
....model of computation. The computational model for LO presented in [5, 4, 3] has dealt with interobject communication simply by importing the technique of shared logical variables directly from concurrent logic programming languages based on Horn logic, like Concurrent Prolog [26] Parlog [12] and GHC [29] However, such a solution is to be considered as temporary and not completely satisfactory mainly for the following (strictly related) reasons: i) It is committed to a specific implementation choice (the use of unification of logical variables in order to achieve communication) and ....
S. Gregory. Parallel Logic Programming in Parlog. Addison-Wesley, Reading, Ma, U.S.A., 1987.
....extension of Prolog, which we call Linear Objects (henceforth LO) with the aim of providing a logic programming framework capable of accommodating the main features of object oriented programming. Our starting point is the approach, originally introduced in concurrent logic programming languages [17, 29, 31, 32], which identifies objects with proof processes and object states with arguments occurring in the goal of a given process. From a logic programming point of view, this approach provides a clean, side effect free account of the dynamic behavior of objects in terms of the only dynamic entity of ....
....on Herbrand interpretations. 5 Related Work The logic programming community has produced many contributions in the direction of object oriented programming. Among the efforts which have been focusing on the dynamic aspects of object oriented programming (i.e. change of state) we have mentioned [11, 17, 19, 29, 30, 31, 32]; efforts which have been focusing on the static aspects (i.e. inheritance) of object oriented programming are described in [2, 9, 12, 16, 21, 33] The framework presented here should provide a theoretical basis for the integration of these two traditions. 10, 28, 8] provide also extensions of ....
S. Gregory. Parallel Logic Programming in Parlog. Addison-Wesley, Reading, Ma, U.S.A., 1987.
....and to develop operational and denotational models for both sequential Prolog and parallel logic languages. One of the rst models of parallel logic programming was implemented in the family of committed choice languages [26] well known representatives of which are Concurrent PROLOG [25] PARLOG [13] and Guarded Horn Clauses (GHC) 32] Committed choice languages support don t care nondeterminism and the parallel composition of goals. Further descendants of these languages, such as Flat Concurrent Prolog [19] and Flat GHC [23] are based on at guards. In an attempt to combine the sequential ....
S. Gregory. Parallel logic programming in PARLOG. Addison-Wesley, 1987.
....extension of Prolog, which we call Linear Objects (henceforth LO) with the aim of providing a logic programming framework capable of accomodating the main features of object oriented programming. Our starting point is the approach, originally introduced in concurrent logic programming languages [12, 22, 24, 25], which identifies objects with proof processes and object states with arguments occurring in the goals of a given process. From a logic programming point of view, this approach provides a clean, side effect free account of the dynamic behavior of objects in terms of the only dynamic entity of ....
....objects encoded as contexts. 5 Related Work The logic programming community has produced many contributions in the direction of object oriented programming. Among the efforts which have been focusing on the dynamic aspects of object oriented programming (i.e. change of state) we have mentioned [6, 12, 14, 22, 23, 24, 25]; efforts which have been focusing on the static aspects (i.e. inheritance) of object oriented programming are described in [1, 4, 7, 11, 26] The framework presented here should provide a theoretical basis for the integration of these two traditions. 5] provides also an extension of Prolog in ....
S. Gregory. Parallel Logic Programming in Parlog. Addison-Wesley, Reading, Ma, U.S.A., 1987.
....stream AND parallelism. In independent ANDparallelism goals that do not share any variable are executed in parallel [32, 50] Stream AND parallelism allows goals that share variables to be executed in parallel with the value of the shared variable being communicated incrementally between the goals [36, 78, 86]. In Prolog, OR parallelism and independent AND parallelism are much easier to implement efficiently than stream AND parallelism. This chapter presents an approach 14 The Muse Approach to OR parallel Prolog that exploits OR parallelism in Prolog programs. One of the main problems with ....
Steven Gregory. Parallel Logic Programming in Parlog. Addison-Wesley, 1987. 190
....The most straightforward way to guard against gross inconsistencies is to promote the objectivity of our encodings by striving for an ideal of executable (not requiring human interpretation) encodings. To advance this ideal, we have implemented in the parallel logic programming language Parlog (Gregory, 1987) a prototype interpreter that executes steps in a design protocol recorded as transitions in the design nets. What is executed is actually Parlog code, but there is a rigid and clear correspondence between the Parlog code and the encodings except that actions associated with foci must go beyond ....
Gregory, S., Parallel Logic Programming in PARLOG, Reading, MA: Addison-Wesley, 1987.
....is that the application specific code is abstracted away, and hence can be written in any programming language. 1.1 Related work Concurrent logic programming and concurrent constraint programming is an important influence for this work. Both concurrent logic programming languages (e.g. Parlog [4], KL1 [16] and concurrent constraint programming languages [15] use a central constraint store for agent synchronization and communication and preserve many of the benefits of the abstract declarative logic programming model, such as the logical reading of programs and the use of logical terms to ....
Gregory, S. 1987. Parallel Logic Programming in PARLOG, Addison-Wesley.
....no distinction between readers and writers of a variable, whereas a future has exactly one writer, the computation calculating its value. Our locations as described above then are more like futures than logic variables. The key advantage logic variables offer over futures is back communication [Greg 87] This refers to the writer of a variable writing to it a structure containing variables which are intended to be written to by readers of the original variable. This allows for the two way communication between processes which is essential for distributed computing. A future allows only for ....
S.Gregory. Parallel Logic Programming in PARLOG. Adison-Wesley.
....Prolog [28] whose compiler generates optimised code based on abstract interpretation techniques. We do not use Aquarius Prolog in our experiments because it is only supported for SunOS machines. It is also worth mentioning the committed choice languages such as Concurrent Prolog [15] or Parlog [12] that allow concurrent Prolog execution, and the parallel systems. 4 3 Conventional x Logic Programming In general, a problem solution can be divided in two parts: logic and control. When solving a problem using an imperative language, the programmer needs to concentrate on both parts. Logic ....
Steve Gregory. Parallel Logic Programming in PARLOG. Addison--Wesley, 1987.
....with the Herbrand view of computation, being more suited to representing processes and the data flows between them. Shapiro characterises the distinction as transformational systems (i.e. sequential LP) versus reactive systems (i.e. concurrent LP) 13] Parlog is a typical concurrent LP language [4, 3] with some notable features for making programs more succinct namely, deep guards, sequential operators, and modes on predicate arguments. The following examples use Parlog but our Web model is suitable for all the concurrent LP family of languages. We will illustrate Parlog with a ....
S. Gregory, Parallel Logic Programming in Parlog, Addison-Wesley, 1987.
....that support serializability. The languages at the serializability communication level give the programmer the impression that message delivery does not take time. Orca [BT91] uses the ideas of guarded commands [Dij75] and shared objects in an imperative language. Concurrent logic languages [Gre87, Sha89] like Concurrent Prolog, Flat Concurrent Prolog, Guarded Horn Clauses, and Parlog combine the CSP model with a logic programming language. The single assignment property of shared logical variables makes communication serializable. The Linda model [CG89] concerns itself only with communication via ....
....on the local computer and thus can be embedded into languages in a way which makes them almost indistinguishable from the data types of this language. Recently, shared objects have been proposed as the communication medium for many advanced language paradigms (for example, shared logic variables [Gre87, Sha89], shared data structures [CG89, BC91] shared update able objects that are written in atomic actions [BT91] and shared objects providing transactions and faulttolerance [DPSW89] see Table 1.3) We propose therefore to communicate by a mechanism that belongs to the class of shared memory ....
[Article contains additional citation context not shown here]
S. Gregory. Parallel Logic Programming in PARLOG. The Language and its Implementation. Addison-Wesley, England, 1987.
....the right directional types for a predicate. Another direction for future work is to explore applying these techniques to other problems in logic programming that depend on type information. For example, the techniques for analyzing control in sequential [Nai86] concurrent [Sha89] and parallel [Gre87] logic programming languages rely on knowledge about predicate types. Acknowledgements We would like to thank Saumya Debray, Nevin Heintze, Uday Reddy, Moshe Vardi, and Ed Wimmers for discussions and comments on some of the ideas presented in this paper. ....
S. Gregory. Parallel Logic Programming in PARLOG. Addison-Wesley, 1987.
....Because so much scheduling is done dynamically at run time, cost measures are not possible. Explicit logic languages are those in which programmers must specify the parallelism explicitly [175] They are also called concurrent logic languages. Examples of languages in this class are PARLOG [102], Delta Prolog [162] Concurrent Prolog [174] GHC[195] and Strand [90] Concurrent logic languages can be viewed as a new interpretation of Horn clauses, the process interpretation. According to this interpretation, an atomic goal C can be viewed as a process, a conjunctive goal C1, Cn ....
S. Gregory. Parallel Logic Programming in PARLOG. Addison-Wesley, 1987.
No context found.
Gregory, S. 1987.Parallel Logic Programming in PARLOG, Addison-Wesley.
....so on. In the case of Prolog, a transformational language, a program can be read declaratively as a description of the final result that it computes: provided that the program terminates, its result is guaranteed to satisfy this specification. Concurrent logic programming languages such as Parlog [10] and KL1 [16] are declarative in the same sense as Prolog: a program can explicitly specify its final result. Unfortunately, all other (both safety and progress) properties of a program remain implicit: they have to be preserved by proper use of control features (modes, sequencing, etc. Many ....
Gregory, S. Parallel Logic Programming in PARLOG. Addison-Wesley, 1987.
No context found.
S. Gregory. Parallel Logic Programming in Parlog. Addison-Wesley, London, 1987.
No context found.
S. Gregory. Parallel Logic Programming in PARLOG . Addison-Wesley, 1988.
No context found.
S. Gregory, Parallel Logic Programming in PARLOG, Addison-Wesley 1987 28
No context found.
Gregory, S. 1987. Parallel Logic Programming in PARLOG, Addison-Wesley.
No context found.
Gregory S., [1987]: Parallel Logic Programming in PARLOG, AddisonWesley Publishing Company.
First 50 documents Next 50
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