| Ehud Shapiro, editor. Concurrent Prolog: Collected Papers, volume 1-2. MIT Press, Cambridge, MA, 1987. |
.... First experiments with concurrency were done in the venerable IC Prolog language where coroutining was used to simulate concurrent processes [22, 23] This led to Parlog and Concurrent Prolog, which introduced the process model of logic programming, usually known as concurrent logic programming [21, 101, 102]. The advent of GHC (Guarded Horn Clauses) simplified concurrent logic programming considerably by introducing the notion of quiet guards [115] A clause matching a goal will fire only if the guard is entailed by the constraint store. This formulation and its theoretical underpinning were ....
Ehud Shapiro, editor. Concurrent Prolog: Collected Papers, volume 1-2. The MIT Press, Cambridge, Mass., 1987.
....of transformations, and the use of set oriented abstractions for specifying transformations. An alternative approach to the implementation of compile time transformation uses meta interpreters to specify transformations and partial evaluators to compile away the overhead of interpretation [35]. However, we find the complexity of this approach unnecessary and prefer to implement transformations directly. The abstract machine design that we employ builds on our previous work in run time support for concurrent programming [19, 39] Unlike our previous designs and other uniprocessor ....
Safra, S., and Shapiro, S., Meta-interpreters for real, Concurrent Prolog: Collected Papers, MIT Press, 1987.
....Concurrency Another guideline of the design of GHC was the ability to describe its own meta interpreter. Use of simple meta interpreters as a core technology of system development was inspired by [5] and early work on Concurrent Prolog pursued this idea in building logic based operating systems [21]. A key technology accompanying meta interpretation turned out to be partial evaluation. Partial evaluation of a meta interpreter with an additional flavor with respect to a user program will result in a user program with the additional flavor that runs almost as e#ciently as the original ....
Shapiro, E. Y. (ed.), Concurrent Prolog: Collected Papers, Volumes I+II. The MIT Press, Cambridge, MA, 1987.
....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 cl ausula) e a comunicac ao e feita atrav es da vari avel l ogica (Stamped Addressed Envelopes SAE [18]) De forma simplificada, a arquitetura da rede e tal que cada vez que um neuronio n i est a pronto para operar, al em de enviar seu novo estado para o vizinho n j , tamb em envia um slot vazio (SAE) para o retorno do novo estado computado por n j . Existe um SAE por cada par de neuronios ....
Shapiro, E., Ed. Concurrent Prolog--Collected Papers. MIT Press, 1987.
....proposed and studied for imperative sequential and concurrent programs, until recently, there is no 127 dependence based representation proposed for concurrent logic programs. In this paper we extend the framework of Cheng [3] to concurrent logic programs, taking the Flat Concurrent Prolog (FCP) [22,23] as the target language of this study. This paper makes the following contributions: First, we propose two graph theoretical program representations for explicitly representing control flows and or data flows in a concurrent logic program. Based on these representations, program dependence ....
E. Shapiro (Ed.), "Concurrent Prolog: Collected Papers," Vols. 1-2. MIT Press, 1987.
....and output information, is expressed in terms of its logical reading and in which the dynamic property, namely the causality between input and output information, is specified using the guard construct. Readers who are unfamiliar with (Flat) GHC and concurrent logic programming are referred to [14], 15] 18] and [19] A prominent feature of Flat GHC and other concurrent logic languages viewed as process description languages is that they use unification (or its restricted forms such as matching) for interprocess communication. Externally, a process is viewed as an abstract entity that ....
Shapiro, E. Y. (ed.), Concurrent Prolog: Collected Papers, Vol. 1--2, The MIT Press, Cambridge, MA, 1987.
....debugging, maintenance and complexity measurement of concurrent logic programs. 1 Introduction Concurrent logic programming is a new field of concurrent programming, where logic programming, process oriented programming, and concurrent objectoriented programming all meet and fuse together [1, 5, 11, 13]. It is powerful so that many important programming paradigms such as object oriented programming and stream communication can be subsumed. For example, as one of the prominent features of concurrent logic programming languages, they allow us to describe interprocess communication with complicated ....
....When Kparser recognizes the end of the a module, it uses database write processors to write analysis information collected for that procedure to the database. Although here we use KL1 as our target language, we also consider to use Kparser technology to handle other Flat languages such as FCP [11] and Flat Parlog [1] to obtain analysis information for programs written in such languages. 3.2 Analysis Information Database CLPKIDS collects program analysis data from parsers, net generators, analysis tools and software engineering tools, and stores the data in a database. In designing our ....
E. Shapiro (ed.), "Concurrent Prolog: Collected Papers," MIT press, 1987.
....In this paper, we take the Linda paradigm for process interaction as our starting point for defining an asynchronous process algebra with explicit data value exchange. Linda [24, 12] is a member of a relatively recent generation of global environment parallel languages (e.g. Concurrent Prolog [45], UNITY [14] Shared Prolog [3] that differ from the previous ones because they offer, and often require, explicit control of interactions. A communication between Linda processes is obtained by accessing tuples (sequences of variables and data) in a shared memory called tuple space (a multiset ....
E. Shapiro. Concurrent Prolog: Collected Papers. The MIT Press, 1987.
....protocol. Although Smith proposed a semantic level protocol as a contract net protocol [14] MRL provides an integrated framework for concurrency control, emergent event handling, and negotiation of the robotic agents. This integration arises from a parallel logic programming framework [12], whereby MRL programs are specified in a declarative manner and transformed into a set of guarded Horn clauses executed on parallel computers. In this sense, multiagent robots are declaratively defined and controlled procedurally based on parallel processing, such as concurrency and ....
....the agent has two unique communication channels, to its super agent and sub agents. This property allows to a simple design of MRL. 3 Controlling Multiagent Robots 3. 1 Multiagent robot language MRL originated from a class of committed choice concurrent logic programming languages (CCL) [12][17] 11] and has an extended CCL syntax for multiagent programming. An MRL program consists of the following guarded Horn clause: H : 0 G j B: where H , G and B are head, guard, and body. The guard and body consist of atomic formulas. The above clause means H is implied by G and B . In ....
E. Shapiro, Concurrent Prolog : Collected Papers, MIT Press, 1987.
....when used as a language for real. The declarative semantics of the core parts of these languages is still essential to be able to call these languages #logic programming languages#. The situation is rather different when it comes to concurrent logic programming languages such as Concurrent Prolog [13] or Parlog [6] Only the syntaxof de#nite clauses is retained (with expanded control elements) while the of semantics of these languages no longer refers to logic or #declarativeness #: Instead, their semantics is phrased in entirely procedural terms 19 of transformation systems of parallel ....
E. Shapiro, (ed.): Concurrent Prolog: Collected Papers., Vols 1 & 2, MIT Press, 1987.
.... First experiments with concurrency were done in the venerable IC Prolog language where coroutining was used to simulate concurrent processes [12, 13] This led to Parlog and Concurrent Prolog, which introduced the process model of logic programming, usually known as concurrent logic programming [11, 71, 72]. The advent of GHC (Guarded Horn Clauses) simpli ed concurrent logic programming considerably by introducing the notion of quiet guards [84] A clause matching a goal will re only if the guard is entailed by the constraint store. This formulation and its theoretical underpinning were pioneered ....
Ehud Shapiro, editor. Concurrent Prolog: Collected Papers, volume 1-2. MIT Press, Cambridge, Mass., 1987.
....cannot contain any literal cells. Clearly, a practical implementation of the language would have to deal with this nondeterminism in some way, for example by imposing an ordering on cases and performing a backtracking search like Prolog, or by allowing concurrent processing of some kind [2, 17, 24]. It is likely that any solution for Lograph, and therefore for LSD, would necessitate some modifications to the semantics and as a consequence, some syntactic additions. As mentioned earlier in this section, Lograph programs have a textual representation. The textual equivalent of a Lograph ....
E. Shapiro (Ed.) (1988) Concurrent Prolog: Collected Papers (Logic Programming Series). MIT Press.
....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 ....
Ehud Shapiro, editor. Concurrent Prolog---Collected Papers. MIT Press, 1987.
....metaprograms are strongly concerned with coordination. For instance, in [14] it was explored as a technique for operating system design. It is a useful technique in language design and implementation as well, because the interpreters of both FCP and GHC have been defined by metaprogramming [22]. Thus in this paper some metaprograms will be used as case studies. We will be specially interested in the capabilities used to define metaprograms that extend the 6 basic computing model offered by the language used to write them. A special kind of metaprogram is in fact a metainterpreter, ....
....and one counter client(Msgs1) client(Msgs2) merge(Msgs1 ,Msgs2 , Msgs) counter(Msgs ,0) Composing parallel program by adding merge processes is of course a little inefficient. A number of techniques to overcome or bound the overhead related to these merge processes are included in in [22]. For example, by using balanced merge trees the merging of N streams requires log 2 N merge processes. However, to overcome inefficiency, merge has been defined as a primitive in the FCP programming environment. Stream based communication is enriched in FCP by the mechanism of dynamic streams. ....
[Article contains additional citation context not shown here]
Shapiro, E. (ed.) Concurrent Prolog: Collected Papers, vol. 1 and 2, MIT Press, 1987.
....use intervals to represent the deduced results about what values individual variables can take on. It is this logical arithmetic which is used in Starlog to represent time and temporal relationships. Another family of logic languages some of which include temporal components are the CLP languages (Shapiro, 1987) and their successors the CC (Concurrent Constraint) languages (Saraswat, 1993) The fundamental difference of these languages from Starlog is that they are and parallel rather than or parallel. The constraints in the CC languages are on shared variables or on shared objects in a common constraint ....
Shapiro, E., Ed. (1987) Concurrent Prolog - Collected Papers, MIT Press, Cambridge, MA.
....(the generator or producer) and allowed to produce bindings for such variable, while the other subgoals accessing such variable (consumers) are limited to read only accesses. Within this scheme, there is a large variety of proposals on how to manage the producers and consumers (e.g. static [69] vs. dynamic [70] consumers started a priori [70, 75, 54] or only after the producer has bound the variable [11, 47] Case 2(b)i is very similar to independent and parallelism. Case 2(b)ii includes one of the most popular forms of dependent and parallelism, the stream parallelism, where ....
.... of a large structure (typically a list) This is useful for speeding up producer consumer interactions (e.g. those found in system programs, and in list processing programs) Stream parallelism forms the basis for Committed Choice Languages (e.g. Parlog [10] GHC [76] and Concurrent Prolog [69]) More general models for dependent and parallelism (like DDAS DASWAM [70] and ACE) can subsume the most common cases of stream parallelism. In theory, the different kinds of parallelism should be orthogonal to each other, i.e. one could be exploited without affecting the exploitation of the ....
[Article contains additional citation context not shown here]
E.Y. Shapiro, editor. Concurrent Prolog: Collected Papers. MIT Press, Cambridge MA, 1987.
....during program execution. Indeed, three main types of parallelism or parallelism, independent and parallelism, and dependent andparallelism have been identi ed and successfully exploited in logic programs. Parallel Execution of Logic Programs has been an active area of research since a decade [18, 8]. A great deal of e ort has been spent in recent years in the design and development of parallel implementations of Logic Programming systems. However, parallel logic programming systems that can eciently exploit all (pro table) forms of parallelism present in Logic Programs still elude us. This ....
.... certain conditions are allowed to execute in parallel (like in the Basic Andorra Model [2] and in non strict IANDP [11] b) general DANDP: in which arbitrary subgoals can be executed in parallel (like the Extended Andorra Model [20] the DDAS [19] and in various committed choice languages [18]) Whatever the model, and parallel execution can be divided into 3 phases: i) ordering phase: deals with the detection of dependencies among subgoals; ii) forward execution: deals with the selection of subgoals and execution of the various resolution steps. The set of conjunctive subgoals that ....
E.Y. Shapiro, editor. Concurrent Prolog: Collected Papers. MIT Press, 1987.
....violate the no slow down principle. 2. 3 Dynamic DAP In determining the producer goal we can either let the leftmost goal containing the shared variable be the producer, following Prolog semantics, or use some other strategy for choosing a producer that will not lead to redundant computations [43]. Considerable amount of work has been done in designing models and building systems where the current active leftmost goal contain8 ing a dependent variable is designated as its producer (see [35] for a short overview) All other goals are consumers. This form of DAP has been termed Dynamic DAP ....
....for sequential execution. Maintaining Prolog semantics during parallel execution also means supporting non deterministic computations, i.e. computations that can potentially produce multiple solutions. In many approaches DAP has been restricted to only those cases where p and q are deterministic [43, 2]. This is largely due to the complexity of dealing with distributed backtracking. Nevertheless, it has been shown [45] that imposing this kind of restriction on DAP execution may severely limit the amount of parallelism exploited. Our objective is to exploit DAP even in non deterministic goals. ....
[Article contains additional citation context not shown here]
E.Y. Shapiro, editor. Concurrent Prolog: Collected Papers. MIT Press, Cambridge MA, 1987.
No context found.
32 E. Yardeni and E. Shapiro. A Type System for Logic Programs. Concurrent Prolog: Collected Papers, pages 211-244, 1987.
No context found.
Ehud Shapiro, editor. Concurrent Prolog: Collected Papers, volume 1-2. MIT Press, Cambridge, MA, 1987.
No context found.
Shapiro, E. (1988). Concurrent Prolog: Collected Papers. Number Vol. 1-2 in Series in Logic Programming. The MIT Press, Cambridge, Mass.
No context found.
Ehud Shapiro editor. Concurrent Prolog: Collected Papers, Volume 1 and 2. The MIT Press, 1986.
No context found.
E. Shapiro (ed.), Concurrent Prolog: Collected Papers, MIT Press, 1987.
No context found.
E.Shapiro (ed.), Concurrent Prolog: Collected Papers, MIT Press, 1987.
No context found.
) Shapiro, E.Y. editor. Concurrent Prolog: Collected Papers. MIT Press, Cambridge MA, 1987.
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