A new and powerful approach to threading is proposed, that is designed to improve the responsiveness of concurrentlogic programs for distributed, real-time AI applications. The technique builds on previously proposed...
详细信息
LMNtal (pronounced "elemental") is a simple language model based on hierarchical graph rewriting that uses logical variables to represent connectivity and membranes to represent hierarchy. LMNtal is an outco...
详细信息
LMNtal (pronounced "elemental") is a simple language model based on hierarchical graph rewriting that uses logical variables to represent connectivity and membranes to represent hierarchy. LMNtal is an outcome of the attempt to unify constraint based concurrency and Constraint Handling Rules (CHR), the two notable extensions to concurrent logic programming. LMNtal is intended to be a substrate language of various computational models, especially those addressing concurrency, mobility and multiset rewriting. Although the principal objective of LMNtal was to provide a unifying computational model, it is of interest to equip the formalism with a precise logical interpretation. In this paper, we show that it is possible to give LMNtal a simple logical interpretation based on intuitionistic linear logic and a flattening technique. This enables us to call LMNtal a hierarchical, concurrent linear logic language. (C) 2009 Elsevier B.V. All rights reserved.
The technical goal of the Fifth Generation Computer Systems (FGCS) project (1982-1993) was to develop Parallel Inference technologies, namely systematized technologies for realizing knowledge information processing on...
详细信息
The technical goal of the Fifth Generation Computer Systems (FGCS) project (1982-1993) was to develop Parallel Inference technologies, namely systematized technologies for realizing knowledge information processing on top of parallel computer architecture. The logicprogramming paradigm was adopted as the central working hypothesis of the project. At the same time, building a large-scale Parallel Inference Machine (PIM) meant to develop a novel form of general-purpose computing technologies that are powerful enough to express various parallel algorithms and to describe a full operating system of PIM. Accordingly, the research goal of the Kernel Language was set to designing a concurrent and parallel programming language under the working hypothesis of logicprogramming. The aim of this article is to describe the design process of the Kernel Language (KL1) in the context of related programming models in the 1980s, the essence of concurrent logic programming and Constraint-Based Concurrency, and how the technologies we developed in those days evolved after their conception. (C) 2017 Elsevier B.V. All rights reserved.
The Andorra model is a parallel execution model of logic programs which exploits the dependent and-parallelism and or-parallelism inherent in logicprogramming. We present a flat subset of a language based on the Ando...
详细信息
The Andorra model is a parallel execution model of logic programs which exploits the dependent and-parallelism and or-parallelism inherent in logicprogramming. We present a flat subset of a language based on the Andorra model, henceforth called Andorra Prolog, that is intended to subsume both Prolog and the committed choice languages. Flat Andorra, in addition todon’t know anddon’t care nondeterminism, supports control of or-parallel split, synchronisation on variables, and selection of clauses. We show the operational semantics of the language, and its applicability in the domain of committed choice languages. As an examples of the expressiveness of the language, we describe a method for communication between objects by time-stamped messages, which is suitable for expressing distributed discrete event simulation applications. This method depends critically on the ability to expressdon’t know nondeterminism and thus cannot easily be expressed in a committed choice language.
This paper describes external reference management and distributed unification in a distributed implementation of a concurrent logic programming language KL1. This implementation is based on the KLIC system. KLIC has ...
详细信息
This paper describes external reference management and distributed unification in a distributed implementation of a concurrent logic programming language KL1. This implementation is based on the KLIC system. KLIC has a feature called generic objects that enable easy modification and extension of the system without changes in the core implementation. This distributed implementation is built upon the same core and external references are represented using generic objects. Unification operations are defined as methods of generic objects. Since creation of interprocessor reference loops cannot be avoided, we studied a new unification scheme that can cope with interprocessor reference loops. We built several experimental distributed systems that all demonstrate reasonable efficiency.
Three similar parallel logicprogramming languages have been proposed; Parlog, Flat concurrent Prolog, and Guarded Horn Clauses. Quantitative comparison of the languages has not previously been possible since they emp...
详细信息
Three similar parallel logicprogramming languages have been proposed; Parlog, Flat concurrent Prolog, and Guarded Horn Clauses. Quantitative comparison of the languages has not previously been possible since they employ different execution models and implementation techniques. In order to uncover the effects of semantic differences on efficiency, a common basis is required for experimentation. This paper presents a subset of the languageParlog calledFlat Parlog which provides a basis for quantitative comparison. The language combines the directional semantics of Parlog with the simple execution model of Flat concurrent Prolog. A performance comparison between Flat Parlog and Flat concurrent Prolog based on new implementations of both languages is presented. These new implementations are identical except for optimizations that are possible by virtue of semantic differences. Benchmark results indicate that Flat Parlog is more efficient; experiments have been able to quantify and explain this performance differential. A detailed description of the abstract machine for Flat Parlog is presented to illustrate the simplicity of the language.
Research accomplishments in the fifth generation computer systems project over a ten year period since inception are outlined. The future of computers and information technology is discussed. The hypothesis has been t...
详细信息
Research accomplishments in the fifth generation computer systems project over a ten year period since inception are outlined. The future of computers and information technology is discussed. The hypothesis has been that parallel inference technology will provide the core for new technologies of the future. The goal was to create a parallel inference machine starting with the study of parallel architectures based on a fifth generation kernel language, KL1, and the related operating system. The integration of logic, functional, and object oriented languages, and of programming and databases are discussed. Progress in these areas is outlined. Developments in general purpose parallel and mainframe computers are discussed. International collaboration in this project is considered.
The design of concurrently executing blackboard systems is discussed, culminating in the description of one implemented in the Polka language. Polka combines the features of object oriented programming with those of t...
详细信息
The design of concurrently executing blackboard systems is discussed, culminating in the description of one implemented in the Polka language. Polka combines the features of object oriented programming with those of the concurrent logic programming language Parlog, which allows blackboards and knowledge sources to be represented as concurrently executing objects.
An asynchronous garbage collector for a message-passing multiprocessor (multicomputer) is described. This combines Weighted Reference Counting (WRC) interprocessor collection and tracing intraprocessor collection to p...
详细信息
An asynchronous garbage collector for a message-passing multiprocessor (multicomputer) is described. This combines Weighted Reference Counting (WRC) interprocessor collection and tracing intraprocessor collection to permit individual processors to reclaim local storage independently. A novel feature is the integration of Weighted Reference Counting collection and the communication algorithms required to support a global address space in a single assignment language. This significantly reduces communication overhead and space requirements attributable to garbage collection. In addition, techniques are described that avoid the creation of cyclic structures that cannot be reclaimed using WRC. Experimental studies performed in a concurrent logic programming system that incorporates the collector confirm its efficiency and the benefits of integrating garbage collector and language implementation.
The article discusses the use of Linda, a parallel programming system consisting of a few simple operations that embody the tuple space model. Linda consists of a few simple operations that embody the tuple space mode...
详细信息
The article discusses the use of Linda, a parallel programming system consisting of a few simple operations that embody the tuple space model. Linda consists of a few simple operations that embody the tuple space model of parallel programming. Adding these tuple-space operations to a base language yields a parallel programming dialect. Use of Linda is growing slowly but steadily as versions of the system for beta test are being distributed and as several manufacturers work on their own implementations. But Linda remains stubbornly outside the research mainstream. To write parallel programs, programmers must be able to create and coordinate multiple execution threads. Linda is a model of process creation and coordination that is orthogonal to the base language in which it is embedded. The Linda model does not care how the multiple execution threads in a Linda program compute what they compute. It deals only with how these execution threads are created and how they can be organized into a coherent program.
暂无评论