A Bibliography on Logic Programming and Prolog extracted from the DIALOG (INSPEC) database, August 1985 and edited into "refer" format by students in COSC4100C, 1985. For details on the format, see PUB:[BIBLIO]BIBFORM.DOC . ._._._. %T Cuttable Formulas for Logic Programming %A T. Gergely, M. Szots %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE ISBN 0 8186 0522 7 %C New York, USA %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0299$01.00 %X A sublanguage of first-order classical language is presented together with a simple calculus, and it is shown that it is suitable for both algorithm specification and logic programming. This language can be easily implemented on computers, but in this case the specification of effective algorithm is difficult. Therefore a special, data-flow architecture is suggested specifically for this language. %K Programming; software engineering %T The Occur-check Problem in Prolog %A D.A. Plaisted %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0272$01.00 %X A method is presented for preprocessing Prolog programs so that their operational semantics will be given by the first-order predicate calculus. Most Prolog implementations do not use a full unification algorithm, for efficiency reasons. The result is that it is possible to create terms having loops in them, whose semantics is not adequately described by first-order logic. The method described finds places where such loops may be created, and adds tests to detect them. This should not appreciably slow down the execution of most Prolog programs. %k program processors; high level languages; software engineering %T Semantics of a Logic Programming Language with a Reducibility Predicate %A H. Tamaki %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0259$01.00 %X A language which unifies term rewriting and logic programming is proposed. It is a usual definite clause language of first-order logic but includes a special predicate called reducibility. The basic semantics is defined by reflexivity, transitivity and substitutivity axioms for the reducibility relation. To bridge the gap between the basic semantics and efficient implementations, an intermediate semantics is introduced which is based on source level expansion of function nestings. The equivalence of the two forms of semantics under a certain condition is proved. Computation strategies for the semantics are discussed. %K high level languages %T A Primitive for the Control of Logic Programs %A K.M. Kahn %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0242$01.00 %X A control predicate is proposed to augment the inadequate control primitives of Prolog. The primitive is referred to as collect, and it creates a list of all the solutions it can find to a problem. It can create this list in a lazy as-needed fashion or in a separate parallel process. It is straightforward to cut out possibilities using collect without resorting to the nonlogical, nonstructured cut primitive of Prolog. Coroutining computation can be described with collect. One can define parallel versions of AND and OR. Parallel Prolog interpreters can easily be defined in terms of these. It is argued that Horn-clause programming together with the collect predicate significantly increases the power of Prolog without increasing the complexity of the language. %K high level languages %T A Prolog Technology Theorem Prover %A M.E. Stickel %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0211$01.00 %X An extension of Prolog based on the model elimination theorem-proving procedure is proposed that would permit production of a logically complete Prolog technology theorem prover capable of performing inference operations at a rate approaching that of Prolog itself. %K programming; software engineering; high level languages %T Stepwise Development of Operational and Denotational Semantics for Prolog %A N.D. Jones, A. Mycroft %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0289$01.00 %X It is argued that the technique of stepwise refinement applies just as well to semantics as to programming. Accordingly, the authors develop concise and exact characterizations of the semantics of logic programs (with the usual depth-first search strategy) starting from resolution as a base. The resulting operational semantics closely resembles traditional implementations, and the denotational version provides the first denotational semantics of Prolog as used in practice. Confidence in the correctness of the semantics comes from its systematic development from Prolog's mathematical foundations. %K high level languages %T On the Integration of Logic Programming and Functional Programming %A R. Barbuti, M. Bellia, G. Levi, M. Martelli %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0160$01.00 %X A project is described whose goal is the integration of an algebraic functional language and a declarative language, consisting of Horn clauses and equational logic. Both language components will eventually be directly supported by a hardware machine. The algebraic language has a lazy evaluation-based parallel interpreter and allows efficient programming of system software, tools and algorithms. The integration technique is based on using the procedural component as a meta language of the declarative component, thus allowing procedural programs to act on meta objects, such as declarative theories and (possibly infinite) sets of solutions of declarative programs. Examples are given of tools for the declarative component and of integrated procedural-declarative applications. %K programming; high level languages; software engineering %T Knowledge Representation in Prolog/KR %A H. Nakashima %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0126$01.00 %X The author considers the language features of Prolog/KR, an extension of Prolog toward knowledge representation (KR). Prolog lacks some facilities which are essential in KR, in which one must represent both data objects and a reasoning system working on them. Prolog/KR fills this gap with multiple definition spaces, called multiple worlds. These worlds are basically independent of each other, but are combined dynamically (at run-time) on demand. From the KR point of view, each world represents some concept, and the worlds are combined dynamically to form a conceptual hierarchy. %K high level languages; programming; software engineering %T A Note on Systems Programming in Concurrent Prolog %A D. Gelernter %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0076$01.00 %X The author compares the new logic language concurrent Prolog and two Algol-derived languages, the widely used systems language C and the distributed language Linda, within the systems programming domain. His intention is to assess the clarity, conciseness and versatility of concurrent Prolog pursuant to the strong claims for conciseness, elegance, and ease of understanding that accompanied its introduction. He examines a reservation system, a multistream merge, a FIFO queue and a spooler in concurrent Prolog, and similar programs in C or in Linda as appropriate. The author finds that the concurrent Prolog programs are consistently hard to understand, and he attempts to explain why. %K programming; high level languages %T And-Parallel Prolog with Divided Assertion Set %A H. Nakagawa %B 1984 International Symposium on Logic Programming %D 1984 %I IEEE %C New York, USA ISBN 0 8186 0522 7 %G U.S. Copyright Clearance Center Code: CH2007-3/84/000-0022$01.00 %X A description is given of a parallel Prolog processing scheme that is suitable for a system that has a large amount of knowledge, namely an assertion set A(X1,Y1), A(X2,Y2). A parallel processing model is proposed in which the assertion set is divided into assertion groups. Assertions that have the same clause head belong to one group. In this model, a number of partial solutions flow among assertion groups which are unified simultaneously. A control method that can avoid duplicate solutions is proposed. The performance of the parallelism, which is very fast in the early stages of execution, has been estimated using simulation. %K parallel processing; high level languages; programming; software engineering %T PROLOG Based Expert System %A F. Mizoguchi %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 1 %N 1 %P 99-104 %D 1983 %O QA 76 N48 %X A PROLOG based expert system called APLICOT is described. Its basic design framework is the same as used for other languages implementing expert systems. This utilization of the same design framework permits a comparison to be made of system performance obtained within the same domain of knowledge. The domain chosen involves a reactor's fault diagnostic system consisting of 76 production rules. The results of this comparison show the overall performance of APLICOT to be of the same level as that of Expert, Emycin and Adips, which were developed in the past utilizing different programming languages. Although its code size is ten times smaller than that of LISP or FORTRAN based expert systems, APLICOT's backward and forward reasoning system gives it the same level of system performance and flexible inference strategy as these other systems. It thus demonstrates the potential software productivity of PROLOG based expert systems. %K artificial intelligence; high level languages; APLICOT; fault diagnostic system; production rules; Expert; Emycin; Adips; forward reasoning system; flexible inference strategy; software productivity; PROLOG based expert systems. %T BUP: A Bottom-up Parser Embedded in PROLOG %A Y. Matsumoto, H. Tanaka, H. Hirakawa, H. Miyoshi, H. Yasukawa %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 1 %N 2 %P 145-58 %D 1983 %O QA 76 N48 %X A parser based on Logic Programming Language (DCG) has very useful features: perspicuity, power, generality and so on. However, it does have some drawbacks in which it cannot deal with cfg with left recursive rules, for example. To overcome these drawbacks, a bottom-up parser embedded in PROLOG (bup) has been developed. In Bup, cfg rules are translated into PROLOG clauses, which work as a bottom-up left corner parser with top-down expectation. Bup is augmented by introducing a 'link' relation to reduce the size of a search space. Furthermore, Bup can be revised to maintain partial parsing results to avoid computational duplication. A Bup translator and a Bup tracer which support the development of grammar rules are described. %K grammars; program compilers; Bup; bottom-up parser; PROLOG; Logic Programming Language; DCG; perspicuity; left recursive rules; PROLOG clauses; Bup translator; Bup; tracer; grammar rules. %T PROLOG: A Language for Management? %A Kanoui, H.; Van Caneghem, M. %J INF. AND GESTION (FRANCE) ISSN: 0020-062x %N 149 %P 64-71 %D 1984 %X PROLOG is declarative language, the aim of which is to permit the statement of a problem in a form such that it can be solved by a machine without further intervention from the user. It was developed in France. The authors give examples of the operations which can be performed on a simple data structure (a family tree) and outlines in general terms the facilities provided by the language. %K high level languages; administrative data processing; data structures problem solving; PROLOG; management; declarative language; data structure; family tree %T PROLOG Extension for Handling Negative Knowledge %A Aida, H.; Tanaka, H.; Moto-oka, T. %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 1 %N 1 %P 87-91 %D 1983 %O QA 76 N48 %X Pure PROLOG has certain defects as a programming language. To resolve such problems, some extensions of PROLOG which go beyond Horn logic, or alternatively, some non-logical mechanisms need to be introduced. Non-logical mechanisms, however, often do not work as the programmer expects. In this paper, a simple extension of PROLOG based on the procedural interpretation of ordinary PROLOG is discussed. The extended PROLOG can deal with negative knowledge as well as positive in a unified manner, and improve the terminability of programs. Utilization of non-monotonicity to express knowledge such as default and inheritance, and the problems attached to the extension are also discussed. %K high level languages; inference machines; fifth generation; PROLOG; negative knowledge; programming language; Horn logic; terminability; default; inheritance. %T Data Abstraction in PROLOG/KR %A H. Nakashima, N. Suzuki %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 1 %N 1 %P 49-62 %D 1983 %X Data abstraction and inheritance, some of the most important features in constructing a large, clean software system, in a Logic Programming Language PROLOG/KR, an expansion of PROLOG, are described. First two kinds of processes are added; one is called npo, which is mainly used to implement a generator, the other is called cpo which is mainly used to implement an abstract data object. Then synchronization features are added to implement abstract data types that can be used concurrently. Using this feature it is possible to employ pipes for communications among process. Finally, inheritance mechanism is added to define hierarchies among among objects. %K high level languages; data structures; fifth generation; PROLOG/KR; inheritance; Logic Programming Language; npo; cpo; abstract data object; synchronization; abstract data types. %T Object Oriented Programming in Concurrent PROLOG %A E. Shapiro, A. Takeuchi %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 1 %N 1 %P 25-48 %D 1983 %O QA 76 N48 %X It is shown that the basic operations of object-oriented programming languages-creating an object, sending and receiving messages, modifying an object's state, and forming class-superclass hierarchies-can be implemented naturally in concurrent PROLOG. In addition, a new object-oriented programming paradigm, called Incomplete Messages, is presented. This paradigm subsumes stream communication, and greatly simplifies the complexity of programs defining communication networks and protocols for managing shared resources. Several interesting programs are presented, including a multiple-window manager. All programs have been developed and tested using the concurrent PROLOG interpreter. %K High level languages; programming; concurrent PROLOG; object- oriented programming languages; class-superclass hierarchies; object- oriented programming paradigm; incomplete messages; protocols; shared resources; multiple-window manager. %T Esp-extended Self-contained PROLOG as a Preliminary Kernel Language of Fifth Generation Computers. %A T. Chikayama %J NEW GENERATION COMPUT. (JAPAN) %V 1 %N 1 %P 11-24 %D 1983 %O QA 76 N48 %X In the first three-year development stage of the fifth generation computer systems project, a series of high-performance personal computers called sequential inference machines are being developed at Icot Research Center. The machines have a high-level machine language called Kl0 which is a PROLOG-based logic language with various extensions. In the software development of the sequential inference machines. Esp, a software-supported yet higher level language compiled into Kl0, is used instead of directly using Kl0. This paper describes the design of the language system in sequential inference machines. This description centers on Esp with an overview of Kl0. %K high level languages; Esp; extended self-contained PROLOG; Kernel Language; fifth generation computers; high-performance personal computers; sequential inference machines; Icot Research Center; high-level machine language; Kl0; software development. %T A Logical Approach to PROLOG %A T. Durham %J COMPUTING (GB) ISSN: 0144-3097 20 %D 1984 %X PROLOG, in theory a general purpose programming language, does not actually live up to the ideals of logic programming. The author examines its shortcomings and reviews the projects which are looking for ways in which to counteract these deficiencies. %K high level languages; programming; logical approach; PROLOG; general purpose programming language; logic programming; projects; deficiencies. %T Logic and Recursion: The PROLOG Twist %A J.A. Libertine %J CREATIVE COMPUT. (USA) %V Vol.9 %N No.11 %P 220-6 %D 1983 %O QA 76 C77 %X A recursive problem is one that can be broken down into two or more subprograms, at least one of which is the same as the original problem with a different set of conditions or arguments. This article approaches the issue of recursion by describing a traditional programming problem and comparing the ways it is implemented in four languages: BASIC, PASCAL, LISP, and MICROPROLOG. It is a programming exercise and does not purport to be an exhaustive discussion of recursion or the recursive properties of the four languages. The purpose is simply to present an interesting illustration of recursion across four languages to provide insight into the subtle properties of each language. %K high level languages; logic; high level languages; recursion; PROLOG; subprograms; conditions; programming; BASIC; PASCAL; LISP; MICROPROLOG. %T A PROLOG Implementation of Lexical Functional Grammar as a Base for a Natural Language Processing System. %A W. Frey, U. Reyle %R First conference of the European chapter of the Association For Computational Linguistics. Proceedings of the conference. (ITALY) %D 1983 %I Assoc. Comput. Linguistics, Menlo Park, CA, USA %P viii+203 pp. %X The authors present a system which constructs a database out of a narrative natural language text. Firstly they give a detailed description of the PROLOG implementation of the parser which is based on the theory of Lexical Functional Grammar (LFG). They show that PROLOG provides an efficient tool for LFG implementation. Secondly, they postulate some requirements a semantic representation has to fulfil in order to be able to analyse whole texts. They show how Kamps theory meets these requirements by analysing sample discourses involving anaphoric nps. %K grammars; computational linguistics; artificial intelligence; natural language processing; natural language text; PROLOG; parser; Lexical Functional Grammar; LFG; semantic representation; Kamps theory. %T PROLOG as a Real Time Language for Process Control %A T. Szuba %J ANGEW, INF. (GERMANY) ISSN: 0013-5704 %V 26 %N 9 %P 370-4 %D Sept., 1984 %X Many of the industry processes are unpredictable and thus very difficult to control with computers. A process control program ought to be able to recalculate or to synthesize control in such a situation. Using PC-PROLOG it is possible to build process control programs which in real-time mode synthesize control subroutines. Because such a PROLOG contains an interface system to other languages, it's possible to connect thinking, computing and simulating functions in such a real-time control program. This approach leads to some new interesting conclusions about software organisation and allocation for such a real-time process control. %K interface system; real-time process control %T An Optimizing PROLOG Front-End to a Relational Query System %A M. Jarke, J. Clifford, Y. Vassiliou %J SIGMOD REC. (USA) %V 14 %N 2 %P 296-306 %D June, 1984 %B SIGMOD '84. PROCEEDINGS OF THE ANNUAL MEETING 18-21 JUNE 1984 BOSTON, MA, USA %G U. S. Copyright Clearance Center Code: 0 89791 128 8/84/006/0296$$00.75 %X An optimizing translation mechanism for the dynamic interaction between a logic-based expert system written in PROLOG and a relational database accessible through SQL is presented. The mechanism makes use of an intermediate language that decomposes the optimization problem and makes the proposed approach target-language independent. It can either facilitate expert system-database interaction, e.g. when integrating expert systems into business systems, or augment existing database with (external) deductive capabilities. %K relational database; expert systems; PROLOG; query languages %T Modules Interconnection Languages and PROLOG %A D.C. Ince %J SIGPLAN NOT. (USA) ISSN: 0362-1340 %V 19 %N 8 %P 89-93 %D Aug., 1984 %X Module interconnection languages are used during system design to represent the architecture of a software system. The requirements for such languages are outlined and PROLOG is proposed as a candidate which satisfies these requirements. %K high level languages; programming; system analysis %T Imprecise Logic can boost Micro Uses %A J. Lambert %J PRACT. ROBOTICS (GB) %P 45-6 %D Nov.-Dec., 1984 %X Considers how Micro-PROLOG can help in achieving artificial intelligence on Sinclair Spectrum microcomputers. %K PROLOG; sinclair computers; artificial intelligence %T Hardware Specification in Temporal Logic and Verification of Gate Level %A M. Fujita, H. Tanaka, T. Moto-Oka %J TRANS. INF. PROCESS. SOC. JPN. (JAPAN) ISSN: 0387-5806 %V 25 %N 2 %P 173-9 %D 1984 %X To date, logic-system engineers have described specifications in natural language to perform functional design according to which logic design is conducted. This makes hierarchical design hard to take place smoothly. On the other hand, the verification of the final design has been carried out on a register transfer level or gate level basis. Generally, any system can be divided into two parts: synchronization part and function part. In this paper, the function part is described as an input-output table, and the specification of the synchronization part is described using temporal logic. A hierarchical design method using a temporal-logic-based specification description and an automatic verification system using the PROLOG language are proposed. %K logic CAD; logic gates; logic testing %T Specification and Verification of Distributed Systems using PROLOG Interpreted Petri Nets %A P. Azema, G. Juanole, E. Sanchis, M. Montebernard %B PROCEEDINGS OF THE 7TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (CAT. NO. 84CH2011-5) ISBN 0 8186 0528 6 %P 510-18 %D 1984 %I IEEE %C New York, USA %G U. S. Copyright Clearance Center Code: 0270-5257/84/0000-0510$01.00 %X A formal description technique is presented for distributed systems, using Petri Nets as the modeling tool and PROLOG as the programming environment. The key elements of the approach are a symbolic interpreter for Predicate Transition Nets, and a technique for interfacing concurrent processes. Several illustrative examples are provided. %K software engineering; distributed processing; program interpreters %T Food for Thought %A C. Bidmead %J PRACT. COMPUT. (GB) ISSN: 0141-5433 %V 7 %N 10 %P 128-30 %D Oct., 1984 %X The author discusses the two leading AI languages, LISP and PROLOG. LISP is a list processing language with two data types: atoms and lists. An item in a list is either another list or an atom. The author looks at lists and recursive functions before discussing PROLOG, a language which handles problems in terms of collections of facts about the relationship between objects. %K LISP; high level language %T A Kanji PROLOG Programming System %A T.Dasai, K. Mukai, K. Suzuki, H. Igusa, H. Sato %J MITSUBISHI DENKI GIHO (JAPAN) ISSN: 0369-2302 %V 58 %N 6 %P 407-11 %D 1984 %X PROLOG, a predicate-logic programming language, has been drawing widespread attention for its effectiveness in knowledge/information processing. Using the general-purpose Melcom-Cosmo Computer Series, the authors have developed a PROLOG processor called Kanji PROLOG. Together with the basic predicate logic, Kanji PROLOG includes the functions required for Kanji and Kana characters, suitable processing speeds, and a full programming environment. The system is designed as a basic tool for use in Japanese information processing, machine translation, and other knowledge/information fields. %K programming; high level languages; language translation %T Enhanced PROLOG for Industrial Applications %A T. Akutagawa, T. Dasai, T. Ogino, K. Akita, T. Tamura %J MITSUBISHI DENKI GIHO (JAPAN) ISSN: 0369-2302 %V 58 %N 6 %P 403-6 %D 1984 %X The authors have developed an enhanced version of PROLOG for industrial applications with Melcom 350-60 Computer System. In addition to the original DEC-10 PROLOG functions, this version incorporates a series of unique expansion functions including basic graphics functions, process I/O functions, and task-to-task communications functions for better allocation of tasks, such as scientific calculation and measurement and control, than was previously possible. These advances make the new language revision a major asset in constructing high-level knowledge/ information processing systems for industrial applications. %K high level languages %T An Improved User Interface for PROLOG %A M. Eisenstadt, T. Hasemer, F. Kriwaczek %B INTERACT '84. FIRST CONFERENCE ON 'HUMAN-COMPUTER INTERACTION' %V 1 %P 109-13 %D 1984 %I Elsevier %C Amsterdam, Netherlands %X The author have developed a series of prototype software environment for both beginning and advanced PROLOG users in an attempt to provide a consistent and powerful user interface which is easy to understand, easy to use, and incorporates the best features of several different dialects of PROLOG. Their user interface is characterised by PROLOG-specified editing and debugging tools, and the ability of the user to interest directly with the internal representation of the database in a manner which is intuitive beginners yet provides sophisticated debugging capabilities for experts. Prototypes currently exist for most portions of the system, and run under PROLOG-10, POPLOG and Micro-PROLOG on a variety of machines. %K high-level languages; software engineering; program debugging From: GEMINI::CS110375 16-OCT-1985 10:47 To: CS100006 Subj: Bibiliography assignment. Student Name: Igor Elkhinovich %T Technology '85: Software %A P. Wallich %J IEEE Spectrum (USA) ISSN: 0018-9235 %V 22 %N 1 %P 50-2 %D Jan. 1985 %X Software developments in 1984 are reviewed. These include: the entry of major mainframe and minicomputer manufacturers into the mainframe field; the us department of defense's conversion to ADA; the standardization of LISP; the development of knowledge-based tools; and the continuing development of logic programing systems. %K LISP, ADA, standardisation logic programming software tools, programming environments. %O TK 1 I15 %T Data-flow based execution mechanisms of parallel and concurrent PROLOG. %A N.Ito, H. Shimizu, M. Kishi, E. Kuno, K.Rokusawa %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 3 %N 1 %P 15-41 %D 1985 %X The authors attempt to show that their machine architecture based on the data flow model is suitable for two types of logic programming languages with different aims: parallel PROLOG and concurrent PROLOG. The data flow model can naturally implement parallel computation, and it has close similarity to these languages. Unification and nondeterministic control, two basic functions of these languages, are represented by data flow graphs and interpreted by the machine. several representations of variables, that facilitate the development of parallel unification and nondeterministic control mechanisms for these languages, and the unification and control primitives needed to execute these languages on this architecture are presented. %K Parallel processing; logic programming; PROLOG. %O QA 76 N48 %T Linear-time algorithms for testing the satisfiability of propositional Horn formulae. %A W.F. Dowling, J.H. Gallier %C Philadelphia, PA, USA %E Dept. of Comput. and Inf. Sci., Pennsylvania Univ. %J LOGIC PROGRAM. (USA) ISSN: 0743-1066 %V 1 %N 3 %P 267-84 %D OCT. 1984 %X New algorithms for deciding whether a (propositional) Horn formula is satisfiable are presented. If the Horn formula a contains k distinct propositional letters and if it is assumed that they are exactly p/sub 1/, ..., p/sub k/, the two algorithms presented in this paper run in time 0(n), where n is the total number of occurrences of literals in a. By representing a Horn proposition as a graph, the satisfiability problem can be formulated as a data flow problem, a certain type of pebbling. The difference between the two algorithms presented is the strategy used for pebbling the graph. The first algorithm is based on the principle used for finding the set of nonterminals of a context-free grammar from which the empty string can be derived. The second algorithm is a graph traversal and uses a "call-by-need" strategy. This algorithm uses an attribute grammar to translate a propositional Horn formula to its corresponding graph in linear time. The authors' formulation of the satisfiability problem as a data flow problem appears to be new and suggests the possibility of improving efficiency using parallel processors. %K parallel processing; logic programming; grammars; graph theory; programming theory %O %T An extension of Lambda-Calculus for functional programming. %A G. Revesz %E Dept. of Comput. Sci., Tulane Univ. %C New Orleans, LA, USA %J LOGIC PROGRAM. (USA) ISSN: 0743-1066 %V 1 %N 3 %P 241-51 %D Oct. 1984 %X An implementation oriented modification of Lambda-Calculus is presented together with some additional conversion rules for list manipulations. The resulting set of axioms is very simple and provides for a theoretical foundation of the semantics of functional programming. At the same time it can be used directly for the implementation of a powerful graph-reduction algorithm. %K logic programming, programming theory, list processing. %O %T Making PROLOG more expressive. %A J.W. Lloyd, R.W. Topor. %E Dept. of Comput. Sci., Melbourne Univ. %C Parkville, Vic., Australia %J LOGIC PROGRAM. (USA) ISSN: 0743-1066 %V 1 %N 3 %P 225-40 %D Oct. 1984 %X Introduces extended programs and extended goals for logic programming. A clause in an extended program can have an arbitrary first-order formula as its body. Similarly, an extended goal can have an arbitrary first-order formula as its body. The main results of the paper are the soundness of the negation as failure rule and Sldnf-Resolution for extended programs and goals. The increased expressibility of extended programs and goals can be easily implemented in any PROLOG system which has a sound implementation of the negation as failure rule. These ideas can be used to implement first-order logic as a query language in a deductive database system. An application to integrity constraints in deductive database systems is given. %K PROLOG, logic programming, programming theory, database theory, query languages. %O %T A theory of complete logic programs with equality. %A J. Jaffar, J.L. Lassez, M.J. Maher. %E Dept. of Comput. Sci., Melbourne Univ. %C Parkville, Vic., Australia %J LOGIC PROGRAM. (USA) ISSN: 0743-1066 %V 1 %N 3 %P 211-23 %D Oct. 1984 %X Incorporating equality into the unification process has added great power to automated theorem provers. A similar trend is seen in logic programming where a number of languages are proposed with specialized or extended unification algorithms. There is a need to give a logical basis to these languages. The authors present a general framework for logic programming with definite clauses, equality theories, and generalized unification. The classic results for definite clause logic programs are extended in a simple and natural manner. The extension of the soundness and completeness of the negation-as-failure rule for complete logic programs is conceptually more delicate and represents the main result of this paper. %K logic programming; programming theory; theorem proving. %O %T A view of programming languages as symbiosis of meaning and computations. %A P.J. Voda %E Dept. of Comput. Sci., British Columbia Univ. %C Vancouver, BC, Canada %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 3 %N 1 %P 71-100 %D 1985 %X Function and logic programming languages are understood as terms, respectively formulas, of a First Order theory. This theory gives meaning to programs and allows reasoning about programs within full predicate logic possibly using quantifiers and induction. The operational semantics of programming languages is given by deductively restricted subtheories of the meaning theory in such a way that the computation sequences are in a one-to-one correspondence with proofs in subtheories. Moreover, meaning is invariant to computations as everything provable in a subtheory is required to be a theorem of the meaning theory. The questions of deadlocks and termination of programs are thus reduced to the proof-theoretical questions of existence of proofs in the subtheories. %K programming languages, logic programming, programming theory, computability. %O QA 76 N48 %T Making logic programs execute in parallel is today's AI challenge. %A C. Patton %J ELECTRON. DES. (USA) ISSN: 0013-4872 %V 32 %N 25 %P 73-4, 76 %D 13 DEC. 1984 %X Fifth-generation hardware may already be defined, but getting the software to run in parallel is emerging as a difficult task. The problems of designing artificial-intelligence software (as contrasted with number-crunching software) to run in parallel are reviewed and some current research efforts in the field are described; most of these involve the use of PROLOG. %K fifth generation system, artificial intelligence, programming, parallel processing. %O %T Parallel processing of logic programs based on goal-rewriting model. %A A. Goto, H. Aida, H. Tanaka, T. Moto-Oka. %J TRANS. INF. PROCESS. SOC. JPN. (JAPAN) ISSN: 0387-5806 %V 25 %N 3 %P 413-19 %D 1984 %X The real attraction of logic programming is that it works in parallel rather than serially. PROLOG is easily the best-known manifestation of logic programming. The language executes procedures and procedure calls one at a time, in the same order in which they are written. The basic notion of logic programming is the Horn clause, which is a subset of Predicate Calculus. This paper provides a goal-rewriting model for Horn Clause Calculus, proposes or-unify processing in reference to the model, discusses advantages of the parallel processing, and shows that high-level parallel processing can be realized by taking advantage of the parallelism. %K logic programming, parallel processing. %O %T Number theoretic functions calculated by deterministic refutation of Horn Sets. %A F. Matsuo %J TRANS. INF. PROCESS. SOC. JPN. (JAPAN) ISSN: 0387-5806 %V 25 %N 3 %P 437-42 %D 1984 %X The Horn Set can function as a programming language through procedural interpretation of refutation. Horn-Clause logic programs comprise sets of rules and assertions. Each of these assertions expresses on atomic relationship among individuals, while each rule takes the form of a single conclusion and one or more conditions. This paper shows that a class of number-theoretic functions capable of calculation through deterministically procedural refutation is large and includes atomic recursive functions but does not include a class of partially recursive functions. %K logic programming, recursive functions. %O %T An abstract PROLOG machine. %A H.J. Komorowski %E Software Systems Res. Center, Linkoping Univ., P. Degano, E. Sandewall %B Integrated Interactive Computing Systems. %R Proceedings of the European Conference, ECICS 82 %P 183-91 %I North-Holland, Amsterdam, Netherlands ISBN 0 444 86595 0 %X An abstract PROLOG machine is specified in a dialect of Meta-IV. The purpose of this specification is to provide a formal and implementation-oriented definition of the PROLOG programming language. The specification is written in a purely applicative style. Due to a good modularity it is possible to identify mains issues in implementing PROLOG. The specification has been used elsewhere for a rigorous implementation of an interpreter of the language, for a formal description and implementation of partial evaluation transformations, a specification of interactive programmer's tools (e.g. break, trace), and served as a standard for proving correctness of a compiler. It can be also further refined toward improved efficiency. %K high level languages, program compilers, program interpreters. %O %T BASIC or PROLOG: Choosing the right language for a biology teaching task. %A B. TALLON, D. BALL, D. TOMLEY %E GATEWAY SIXTH FORM COLL. %C LEICESTER, ENGLAND %J COMPUT. SCH. (GB) ISSN: 0263-0982 %V 5 %N 1 %P 21-3 %D Oct. 1982 %X Microcomputers can be used in many different ways to support teaching, and software therefore needs to be carefully chosen so that it enhances the approach which the teacher wishes to use. Content, purpose, scope, flexibility, style, clarity, and robustness are all attributes to be considered when evaluating software intended for the classroom. What is perhaps less obvious is that it is sometimes useful to consider what is the best language to use for a particular purpose. Choice of language can dramatically affect the content of teaching, the teaching approaches adopted, and the type of learning which ensues. This article compares the virtues of using BASIC or PROLOG for a biology teaching task. %K programming languages, biology computing, computer-aided instruction. %O %T Negation as Failure and Parallelism %A T. Khabaza %B 1984 INTERNATIONAL SYMPOSIUM ON LOGIC PROGRAMMING %P 70-5 %D 1984 %I IEEE %C New York, USA %G CH2007-3/84/0000-0070$01.00 %X K.L. Clark's "Negation as Failure Inference Rule" (1978) was accompanied by an interpretation suitable for serial proof procedures. The author presents an alternative interpretation designed for AND/OR parallel proof procedures, described in terms of G.H. Pollard's Reconciliation-Based approach to parallel logic programming (1981). The new interpretation extends the representation of solutions to goals, which traditionally uses simple unifiers. The extended representation uses complex solutions which contain both positive and negative information about variable bindings and are logically more complex than simple unifiers. The concept of reconciliation is introduced, and the production and reconciliation of complex solutions are described. The use of complex solutions as answers to user queries is discussed, and finally the problems of using complex solutions to restrict the search space of conjoined goals are compared to those of AND/OR parallelism in general. %K programming; software engineering; parallel processing %T Logic Programming Using Parallel Associative Operations %A S. Taylor; A. Lowry; G.Q. Maguire Jr; S.J. Stolfo %B 1984 INTERNATIONAL SYMPOSIUM ON LOGIC PROGRAMMING %P 58-68 %D 1984 %I IEEE %C New York, USA %G CH2007-3/84/0000-0058$01.00 %X A model is presented for the interpretation of logic programs in a massively parallel environment, and an overview is given of the algorithms under development. An interpreter that implements the model has been demonstrated in simulations on a number of small programs. Implementation requires that only a small set of hardware primitives be available; these have been successfully implemented on a working prototype machine, DADO. The aim is to develop the model into a practical and efficient logic programming system for use on the machine. %K programming; parallel processing; software engineering; program interpreters %T Implementing Parallel PROLOG on a Multiprocessor Machine %A N. Tamura; Y. Kaneda, %B 1984 INTERNATIONAL SYMPOSIUM ON LOGIC PROGRAMMING %P 42-8 %D 1984 %I IEEE %C New York, USA %G CH2007-3/84/0000-0042$01.00 %X The authors present an overview of a parallel PROLOG system developed on a multiprocessor machine. The main idea is the use of pipelining parallelism, which means presearching for alternative solutions. Based on this parallelism, a PROLOG interpreter is implemented on a multiprocessor machine with one host processor (ZILOG Z80) and four slave processors (INTEL 8086). Running speed is improved by a factor of up to 3 when using 4 processors, and the maximum number of processes active at a given time is decreased in comparison with the time when using one processor. This means that the pipelining parallel execution does not greatly increase the number of concurrent processes. %K programming; software engineering; high level languages; parallel processing %T Towards a Pipelined PROLOG Processor %A E. Tick; D.H.D. Warren %B 1984 INTERNATIONAL SYMPOSIUM ON LOGIC PROGRAMMING %P 29-40 %D 1984 %I IEEE %C New York, USA %G CH2007-3/84/0000-0029$01.00 %X The design of a PROLOG machine architecture and organization is described. The objective was to determine the maximum performance attainable by a sequential PROLOG machine for 'reasonable' cost. The organization is compared with both general-purpose micro-coded machines and reduced-instruction-set machines. Hand timings indicate that a peak performance rate of 450K LIPS (logical inferences per second) is well within current technology limitations, and 1 M LIPS is potentially feasible. %K programming; high level languages; software engineering %T Executing Distributed PROLOG Programs on a Broadcast Network %A D.S. Warren; M. Ahamad; S.K. Debray; L.V. Kale %B 1984 INTERNATIONAL SYMPOSIUM ON LOGIC PROGRAMMING %P 12-21 %D 1984 %I IEEE %C New York, USA %G CH2007-3/84/0000-0012$01.00 %X A basic algorithm is developed for evaluating distributed PROLOG programs, and several possible extensions to it are discussed. The algorithm is based on a broadcast network. It takes advantage of or-parallelism and is an extension of the standard sequential PROLOG evaluation strategy. Because it retains PROLOG'S left-to-right execution scheme, the intuitions that PROLOG programmers have developed regarding how to control the size of the search space still apply to distributed programs. The algorithm is suitable for applications that use PROLOG as a database query language. %K high level languages; programming; parallel processing; distributed processing; software engineering %T MYCIN in a Logic Programming Environment %A S. Narain %B DIGEST OF PAPERS, COMPCON SPRING '84. TWENTY-EIGHTH IEEE COMPUTER SOCIETY INTERNATIONAL CONFERENCE %P 192-7 %D 1984 %I IEEE COMPUT. SOC. PRESS %C Silver Spring, MD, USA %G CH2017-2/84/0000-0192$01.00 %X MYCIN is an expert system that performs medical consultations in the domain of microbial infection. As part of an effort to investigate the usefulness of logic programming systems for expert systems, MYCIN was translated into LOGLISP. When compared with the original, the translated version was found to be comparable in terms of speed, space, and clarity of expression. The author reports on this translation and then argues in favor of logic programming for artificial intelligence programming in general. %K artificial intelligence; programming; software engineering; medical computing %T Logic Programming is not Circuit Design %A R.E. Davis %B DIGEST OF PAPERS COMPCON SPRING '84. TWENTY-EIGHTH IEEE COMPUTER SOCIETY INTERNATIONAL CONFERENCE %P 30-4 %D 1984 %I IEEE COMPUT. SOC. PRESS %C Silver Spring, MD, USA %G CH2017-2/84/0000-0030$01.00 %X Horn clauses, their syntax, declarative semantics, and procedural interpretation are described. Several advantages of horn clauses as a nondeterministic programming language are considered. Finally, the control strategy imposed by PROLOG and its shortcomings as a logic programming language are considered. %K high level languages; programming %T Towards a Theory of Types in PROLOG %A P. Nishra %B 1984 INTERNATIONAL SYMPOSIUM ON LOGIC PROGRAMMING %P 289-98 %D 1984 %I IEEE %C New York, USA %G CH2007-3/84/0000-0289$01.00 %X It is argued that 'types' can play a natural and useful role in PROLOG. The first step towards a type-system is to formulate a definition of 'type' for data objects and predicates. Regular trees (related to regular expressions) serve as types, acting as descriptions of the objects a PROLOG predicate acts upon. The resulting type-system is unusual in that it does not require any type definitions to be made by the user; nor does it require the types of predicates to be declared. The major result of this study is the derivation of algorithms and a type-inference system that deals successfully with a restricted class of PROLOG predicates. The system interacts gracefully with the many unusual features of PROLOG (partially constructed structures, etc.). It is shown that several nontrivial polymorphic predicates, and the current status of polymorphic type inference within this system is described. %K programming theory; high level languages %T Stream-based Execution of Logic Programs %A G. Lindstrom; P. Panangaden %B 1984 INTERNATIONAL SYMPOSIUM ON LOGIC PROGRAMMING %P 168-76 %D 1984 %I IEEE %C New York, USA %G CH2007-3/84/0000-0168$01.00 %X The authors report a new execution model for horn clause logic programs, combining the following key features: A stream-based analog of the 'standard' backtracking execution model; or-parallelism, with a particular form of induced and-parallelism; an applicative formulation, except for indeterminate stream merging; concurrent processing of several top-level goals, if desired; and a pure code utilization of program clauses, with all instantiation done via composition of substitution records. The model is informally sketched and then formally defined by means of a skeletal interpreter expressed in the Function Equation Language (FEL). %K programming; software engineering; parallel processing. %T Foundation of Logic Programming based on Inductive Definition %A M. Hagiya, T. Sakurai %J New Generation Comput. (JAPAN) ISSN: 0288-3635 %O QA 76 N 48 %V 2 %N 1 %P 59-77 %D 1984 %X A logical system of inference rules intended to give the foundation of logic programs is presented. The distinguished point of the approach taken here is the application of the theory of inductive definitions, which allows one to uniformly treat various kinds of induction schema and also allows one to regard negation as failure as a kind of induction schema. This approach corresponds to the so-called Least Fixpoint Semantics. Moreover, in the formalism, logic programs are extended so that a condition of a clause may be any first-order formula. This makes it possible to write a quantified specification as a logic program. It also makes the class of induction schemata much larger to include the usual course-of-values inductions. %K programming; program testing; automatic programming. %T A Transformation Algorithm from Equational Programs into Logic Programs %A A. Togashi, S. Noguchi. %J Trans. Inst. Electron. and Commun. Eng. JPN. Part d (Japan) ISSN: 0374-468X %V J67d %N 6 %P 639-46 %D June 1984 %X In order to facilitate transformation the authors extend Prolog into a new logical computation model, called a Cluster Reduction System. It is shown that any equational program is transformed into an equal or more powerful logic program. As for a recursive equational program, there exists a logic program with the equivalent computational power. The authors attempt to clarify relationships among descriptive languages. The results suggest the notion of data abstraction and computation strategies in a logic programming language. %K Programming Theory. %T A Formal Model for Or-Parallel Execution of Logic Programs %A A. Ciepielewski, S. Haridi. %E R.E.A. Mason. %B Information Processing 83. Proceedings of The IFIP 9th World Computer Congress %P 299-305 %I North-Holland. ISBN: 0 444 86729 5 %C Amsterdam, Netherlands. %D 1983 %X As a step towards an architecture suitable for parallel execution of logic programs the authors develop and evaluate an interpreter specifying semantics of Or-Parallel execution of the Horn Clause subset of predicate logic. They concentrate on the problem of storage management, which is crucial for an efficient implementation of Or-Parallelism, and has not been properly solved, so far. They present a storage model retaining the notion of binding environment and suitable for an implementation on a loosely coupled multiprocessor system. During the whole development process the authors use the specification and refinement methods of VDM. %K program interpreters; storage management and garbage collection; programming; parallel processing; multiprocessing systems. %T Interpreters in Logic Programming - A Powerful Tool for Simulation %A J.G. Cleary, A. Dewar. %E R. Bryant, B.W. Unger. %B Simulation in Strongly Typed Languages : ADA, PASCAL, SIMULA. Proceedings of The Conference. %P 84-9 %I Soc. Comput. Simulation. %C La Jolla, CA, USA. %D 1984 %X The logic programming language PROLOG and extensions to permit asynchronous execution are introduced. Some simple Producer/Consumer problems are used to illustrate the handling of processes and their synchronisation. Some tools that can be used to aid tracing and verifying such programs are described. These include a system that will check whether one version of a program is a refinement of another, and another that allows simple and flexible programming of graphical displays of data structures and executing programs. These are used as examples to support the assertion that logic programming provides very powerful tools for verifying the correctness of simulations and programs. %K digital simulation; high level languages. %T Logic Programming %A R. Kowalski. %E R.E.A. Mason. %B Information Processing 83. Proceedings of The IFIP 9th World Computer Congress %P 133-45 %D 1983 %I North-Holland. ISBN 0 444 86729 5 %C Amsterdam, Netherlands. %X The author argues the case for logic programming, comparing it with rule-based artificial intelligence languages and functional programming. He considers two of the main problems which need to be solved: the provision of features such as those provided by higher-order functions in functional programming languages and the frame problem and its relationship with destructive assignment. He argues that a combination of object language and metal language along the lines suggested by Weyhrauch's Fol provides a promising approach to the solution of these problems. %K Programming. %T Description of Computer Systems using a Logic Programming Language Concurrent Prolog %A N. Suzuki. %J J. Fac. Eng. Univ. Tokyo Ser (Japan). ISSN: 0563-7945 %N 21 %P 40-1 %D 1983 %X A logic programming language Concurrent Prolog is used to describe a complex, pipelined memory system of a high-performance personal computer, Dorado. The purpose of this work is to demonstrate the importance of functional descriptions of a computer system so that faults in the logic design can be removed at very early stages of the design. It is also used to show the feasibility of the Concurrent Prolog as a hardware description language, since Concurrent Prolog is used as a kernel language of The Fifth Generation Computer Project. %K high level languages; logic CAD. %T Test Generation through Logic Programming %A D. Svanaes, E.J. Aas. %J Integration VLSI J. (Netherlands). ISSN: 0167-9260 %V 2 %N 1 %P 49-67 %D March 1984 %G 0167-9260/84/$3.00 %X Utilization of the logic programming language Prolog in solving CAD/CAM/CAT problems is discussed. It is demonstrated through examples that, with Prolog, solutions are obtained through proper problem definition rather than by algorithmic procedures. The examples offered are in the area of test generation for digital circuits. A very simple formulation of the D-Algorithm is presented, and it is demonstrated that levelling of the circuit is not necessary. Finally, the authors suggest other areas of CAD/CAM/CAT that may take advantage of logic programming. %K logic testing; automatic testing. %T Modularization and Abstraction in Logic Programming %A K. Furukawa, R. Nakajima, A. Yonezawa. %J New Generation Comput. (Japan) ISSN: 0288-3635 %O QA 76 N 48 %V 1 %N 2 %P 169-77 %D 1983 %X In knowledge information processing, the structuring of knowledge and algorithms is one of the key issues. The goal of this work is to introduce the concepts and mechanisms of abstraction, modularization and parameterization into logic programming, which is one of the preliminary steps towards creating a kernel language for Fifth Generation Computer Systems %K data structures; programming %T Logic Programming - Past, Present and Future %A J.A. Robinson. %J New Generation Comput. (Japan) ISSN: 0288-3635 %O QA 76 N 48 %V 1 %N 2 %P 107-24 %D 1983 %X The author splits the history and future of the idea of logic programming into the following periods: Distant past (1879-1970); Near past (1971-80); present (1981-90); Near future (1991-2000); and Distant future (2001-?). he discusses each of these periods. %K programming; history. %T Alternative Proposals for Implementing PROLOG Concurrently and Implications Regarding Their Respective Microarchitectures %A C.G. Ponder, Y.N. Patt %J SEVENTEENTH ANNUAL MICROPROGRAMMING WORKSHOP, MICRO 17 %P 192-203 %D 1984 %X The standard PROLOG language is defined and shown to be a restriction of logic programming. Several alternative schemes which have been proposed for improving the performance of PROLOG are examined. Some schemes change the semantics of the languages; these effects are discussed. All schemes have implications on the microarchitecture of the implementing engine; these implications are studied. %K computer architecture; logic programming; microprogramming; PROLOG %T A tour of PROLOG %A D.E. Cortesi %J DR. DOBB'S JOUR. %V 10 %N 3 %P 44-63 %D March 1985 %O TK 7885 A1 D6 %X PROLOG is described from a programmer's perspective. The article is intended to allow a programmer to make sense of PROLOG listings. Alongside the main discussion is a description of PROLOG syntax. The particular aspects discussed are the difference between familiar procedural languages and the descriptive language PROLOG, assertions, queries, descriptive programming, descriptive arithmetic, formal nomenclature, item types, list notation, recursive description, list operations, the ability to reverse, programs for sets, trees and sorting, storing data, and the meta-variable. %K logic programming; PROLOG %T A System for Accessing Information in Textual Files Based on Logic Programming %A E. Bertsch %J ANGEW. INF. (Germany) ISSN: 0013-5704 %V 27 %N 4 %P 137-44 %D April 1985 %X Presents a simple variant of logic programming as a tool for accessing information in textual files. The corresponding system is operational on a Sirius 1 microcomputer. An optimizing technique reduces the amount of time required for exhaustive search. %K data handling; information retrieval; logic programming; optimisation %T Knowledge and the Functions of the User Interface %A E. Edmonds %J IEE COLLOQUIUM ON INTELLIGENT KNOWLEDGE-BASED SYSTEMS - THE PATH TO USER FRIENDLY COMPUTERS %P 1-26 %D 1984 %X The construction of good user interfaces involves consideration of a very wide range of factors, from the physical aspects of input and output devices to dialogue structures and task definition. Clearly an important element of an interface is its functionality. In building user interfaces, one may consider this functionality independently from issues of presentation, the physical manifestation of the functions. In work on user interface construction at Leicester, logic is viewed as the language in which this functionality can best be expressed. PROLOG is being used as a base language with user interfaces being constructed on top of it. In this paper some results from the work on functionality are described. Of particular concern is the nature of the human/computer partnership in problem solving. %K expert systems; logic programming; user interfaces %T Logic for Knowledge Representation %A R.A. Kowalski %E M. Joseph, R. Shyamasundar %J FOUNDATIONS OF SOFTWARE TECHNOLOGY AND THEORETICAL COMPUTER SCIENCE. FOURTH CONFERENCE PROCEEDINGS %P 1-12 %D 1984 %X The author sketches some applications of logic programming to knowledge representation in systems analysis, the formal analysis of legislation, and the representation of events and time. He discusses some of the implications of such applications for software engineering. %K knowledge engineering; legislation; logic programming; software engineering; systems analysis %T Programming in Logic %A J. Malpas %J DR. DOBB'S JOUR. %V 10 %N 3 %P 36-41 %D March 1985 %O TK 7885 A1 D6 %X Discusses the nature of logic programming and the development of PROLOG. Some of the features of PROLOG are: it can express knowledge, it describes not simulates, it does not use destructive assignment, PROLOG statements have both declarative and procedural interpretations, and PROLOG can be used to implement a meta-language. Some applications of logic programming are briefly discussed. An appendix discusses the logic used in PROLOG, a model of symbolic logic created by Frege. There are two varieties of logic discussed-propositional logic and first order predicate logic. Some sources of various implementations of PROLOG are given. %K artificial intelligence; logic programming; PROLOG %T Is the Idealized Logic Programming Feasible? %A R. Fiby, S. Molnar, I. Weigl %J TANULMANYOK MAGY. TUD. AKAD. SZAMITASTECH. & AUTOM. KUT. INTEZ. ISSN: 0324-2951 %N 158 %P 156-8 %D 1984 %X Since the computer language PROLOG (PROgramming in LOGic), based on symbolic logic, was designed and implemented by Colmerauer and Roussel in Marseille in 1972, there has been increasing research activity in such areas as expert systems, natural language understanding, plan formation, computer aided building design, compiler construction, data base description and query, the solution of mechanics problems, natural language processing, etc. PROLOG is not the ultimate version of the logic programming language. Several languages based upon logic have been created. The authors look at the implementation of an ideal logic programming language. %K high level languages; logic programming %T Logic Programming and Fifth Generation Computing Systems %A J.A. Robinson %J A.I.C.A. ANNUAL CONFERENCE PROCEEDINGS %V 1 %P 3-15 %D 1984 %X The Japanese Fifth Generating Computer systems (FGCS) Project is now in its third year. It is a ten-year program of research and development being conducted at The Institute for New Generation Computer Technology (ICOT) in Tokyo. ICOT began its research operations in June 1982 under the direction of Kazuhiro Fuchi. Several years of planning preceded the official start of the project, and in October 1981 a conference was held in Tokyo to announce its goals. %K computer architecture; fifth generation systems; logic programming; research initiatives %T Logic Programming Applied to Hardware Design Specification and Verification %A D.P. Sidhu %J SEVENTEENTH ANNUAL MICROPROGRAMMING WORKSHOP, MICRO 17 %P 309-13 %D 1984 %X The use of logic programming techniques in the specification and verification of hardware designs is proposed. Logic programming specifications are formal and directly executable. The advantages of executable specifications are: (1) the specification is itself a prototype of the specified system, (2) incremental development of specifications is possible, and (3) behavior exhibited by the specification when executed can be used to check conformity of the specification with requirements. A discussion is presented of how Horn clause logic, which as a procedural interpretation, and a predicate logic programming language, PROLOG, can be used as a hardware description language to specify and verify the correctness of hardware systems. The PROLOG system possesses a backtracking mechanism and a powerful pattern-matching feature which is based on unification. A novel feature of the proposed approach is that it can be used to answer interesting questions about a hardware design without resorting to simulation. %K computer architecture; logic programming; microprogramming; PROLOG; specification languages %T Design Decisions Influencing the Microarchitecture for a PROLOG Machine %A T.P. Dobry, Y.N. Patt, A.M. Despain %J SEVENTEENTH ANNUAL MICROPROGRAMMING WORKSHOP, MICRO 17 %P 217-31 %D 1984 %X The PLM-1 is the first step in the hardware implementation of a heterogeneous MIMD processor for logic programming. A description is given of its ISP architecture, and some of the design decisions relative to its microarchitecture are discussed in detail. %K computer architecture; logic programming; microprogramming; parallel processing; PROLOG %T PROLOG, Theoretical Principles and Current Trends %A A. Colmerauer, H. Kanoui, M. Van Caneghem %J TECH. AND SCI. INF. ISSN: 0752-4072 %V 2 %N 4 %P 255-92 %D 1983 %B translated in TECHNOL. AND SCI. INF. (GB) ISSN: 0264-7419 %X The success of the japanese fifth-generation computer project depends on PROLOG. However, no easily accessible reference work exists describing the major aspects of the language and its underlying concepts. This article, written by the developers of the language, was prepared for publication using three brochures on the PROLOG ii system, and is intended to fill that gap. %K high level languages; artificial intelligence; reviews %T PROLOG: A Prelude to a New Generation of CAAD (Computer Aided Architectural Design) %A P.S.G. Swinson %J COMPUT. AIDED DES. (GB) ISSN: 0010-4485 %V 15 %N 6 %P 335-43 %D NOV. 1983 %O TA 174 C58 %X A review of integrated caad systems and selected research work is presented. The PROLOG fact dependency system is discussed, together with the facilities it offers architects. %K architectural cad %T Analysis and Restructuring of Concurrent Systems Using PROLOG %A F.G. Heath, P.W. Foulk %J IEE PROC. E (GB) ISSN: 0143-7062 %V 131 %N 5 %P 169-76 %D Sept. 1984 %X The paper describes a cad system for the analysis and restructuring of complex concurrent systems. The design process can be divided into two stages: Top-down analysis and bottom-up restructuring. At the top-down stage, a complex system is represented by a hierarchy of subsystems written in the language SDL. Each subsystem is the integration of data and control flow and can be treated independently for the purpose of design, optimisation, etc. Then, at the bottom-up stage, they are locally or globally restructured to obtain a new construction exhibiting maximal parallelism. Taking full advantage of logic programming, the system has been implemented entirely in PROLOG. %K multiprocessing systems; circuit layout cad; large scale integration %T PROLOG and PASCAL: Automatic Synthesis of Machine Tool's Program %A T. Szuba %J INFORMATYKA (POLAND) ISSN: 0542-9951 %V 19 %N 5 %P 8-11 %D May 1984 %X The automatic synthesis of a cutting treatment program is given as an example of software development based on artificial intelligence methods. The use of the PROLOG and PASCAL programming languages is discussed. %K machine tools; computerised control; software engineering %T A PROLOG-Based Natural Language Front-End System %A H. Maruyama, A. Yonezawa %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 2 %N 1 %P 91-9 %D 1984 %O QA76N48 %X A PROLOG-based natural language front-end system is described with the following major issues of discussion: Domain independence of the syntax analyser was achieved by the 'Generate-And-Test' notion and the domain independent semantic representation; determiners were treated as higher order predicates; a technique called 'syntactic feature' was employed to write a readable parser in PROLOG. %K grammars; program compilers; operating systems (computers) %T On Parallel PROLOG Processing System Paralog %A H. Aida, H. Tanaka, T. Moto-oka %J TRANS. INF. PROCESS. SOC. JPN. (JAPAN) ISSN: 0387-5806 %V 24 %N 6 %P 830-7 %D 1983 %X In many instances, full advantage of PROLOG has not been taken because sequential processing takes place in fixed retrieval order. Parallel processing will make the best use of PROLOG. Possible methods for parallel PROLOG processing include and parallel and or parallel. The authors mounted the paralog parallel processing system, on existing multiprocessor hardware to implement or parallel processing. This paper describes the system and evaluates its performance. %K high level languages; parallel processing %T The Fifth Generation. II. LISP vs. PROLOG: A Holy War %A E.A. Feigenbaum %J MICROPROCESS. WORK (SWITZERLAND) ISSN: 0143-5183 %V 5 %N 8 %P 5-6 %D June 1984 %X The author discusses the difference of opinion over which language to use in artificial intelligence program development: LISP or PROLOG. The differences in the actual languages are that LISP allows the programmer direct access to the data structure and PROLOG does not. %K artificial intelligence; lisp; high level languages %T Serialization of Process Reduction in Concurrent PROLOG %A A. Kusalik %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 2 %N 3 %P 289-98 %D 1984 %O QA76N48 %X Unlike most other logic programming languages, concurrent PROLOG does not include a sequential-and operator to enforce serial goal (process) reduction. However, sequential process reduction is still possible using existing constructs. In a number of published programming examples it is achieved with the 'commit' operator. Such programs may not execute as described, but instead encounter deadlock. In this paper several examples of this are presented, the cause of the problem is diagnosed, and a solution suggested. This paper also deals with sequential process reduction in more general terms. The methods available to achieve serialization involving commit and read-only variable references are analyzed and compared. The potential for incorporating sequential-and into the language is also addressed. %K high level languages; programming %T Orbit: A Parallel Computing Model of PROLOG %A H. Yasuhara, K. Nitadori %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 2 %N 3 %P 277-88 %D 1984 %O QA76N48 %X This paper proposes a parallel processing model of the PROLOG language. The model modifies or-parallelism by introducing the 'process bundle' as a candidate for simultaneous execution. The process bundle is a subset of backtrack points stacked in depth-first execution. The process bundle includes one or more backtrack points, so it provides a longer process life cycle than the or-parallel process. A process bundle is dispatched when an idle processor requests a job from an executing processor. The executing processor dispatches a message containing the full environment by which the idle processor can execute the process without any communication with other processors. %K high level languages; parallel processing %T Bounded-Wait Merge in Shapiro's Concurrent PROLOG %A A.J. Kusalik %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 2 %N 2 %P 157-69 %D 1984 %O QA76N48 %X In 'A Subset of Concurrent PROLOG and Its Interpreter' (icot tech. report 1983), E.Y. Shapiro introduces the language, concurrent PROLOG. In his presentation, the problem of guaranteeing bounded-waiting during a merge operation is used as a programming example. Solutions are proposed for binary and n-ary merges. The solutions are, however, completely dependent on specific operational characteristics of a concurrent PROLOG machine or interpreter. This paper presents an alternate approach in which the property of bounded-waiting is incorporated into the semantics of the programs, demonstrable given only the computational model of the language. The solution strategy is to utilize the familiar system programming techniques of block-on-input and busy-wait. This approach requires that the language be augmented with a metalogical predicate analogous to the var(>) predicate of sequential PROLOG. The resultant programs are interesting and illustrative examples of concurrent PROLOG as a programming language. %K high level languages; parallel processing %T What Is PROLOG? %A P. Schnupp, C. Schmauch, U. Leibrandt %J ELEKTRON. RECHENANLAGEN (GERMANY) ISSN: 0013-5720 %V 26 %N 4 %P 194-200 %D AUG. 1984 %X PROLOG is the first variable language for a 'non-algorithmic' logic programming. It does not describe the 'how to do' but 'what it is'. This characteristic has made PROLOG to be a suitable tool for writing expert systems and for other areas in the artificial intelligence. %K artificial intelligence; high level languages %T The Logical Record Keeper: PROLOG On The IBM %A J.L. Weiner %J BYTE (USA) ISSN: 0360-5280 %V 9 %N 9 %P 125-31 %D 1984 %O QA76.5B98 %X This very high-level language makes it easy to program knowledge-intensive tasks. Owners of a personal computer need a language such as PROLOG that allows them to solve common but interesting problems without having to devote an inordinate amount of time to programming. One might think that a language like LISP, which is widely used in the artificial intelligence community, might be as effective as PROLOG for common real-world problems, but that's not the case. LISP is a much lower-level language. The main advantage that PROLOG has over LISP is the fact that patterns and pattern matching are so fundamental to PROLOG. The problem of representing knowledge in LISP is casting that knowledge into lists that LISP can process. %K high level languages From: GEMINI::CS111366 19-OCT-1985 18:17 To: CS100006 Subj: Bib. execise Tak Fung LO (821536156) %T Control of Activities in the Or-parallel Token Machine %A A. Ciepielewski,S. Haridi %R 1984 International Symposium on Logic Programming. (6-9 Feb. 1984) %P 49-57 %D 1984 %I IEEE ISBN : 0 8186 0522 7 %C New York, USA. %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0049$01.00 %X A machine model consisting of a limited number of processors, a token pool, and a storage is described. A token represents the state of a process, which executes a branch in the search tree of a logic program. Tokens in the token pool correspond to processes which are ready for execution but not allocated a processor. The problem of controlling the number of activities can be divided into two subproblems: (1) controlling the traversal of the search tree and (2) pruning some branches of the search tree. To solve (2) the authors devise a mechanism for pruning the search tree when only one solution to a problem or a subproblem is required and show how the or-parallel token machine can be extended to support this mechanism. They also propose an implementation of the mechanism on a class of distributed architectures. Finally they discuss how the mechanism can be generalized to pruning of trees when at most n solutions are required, and also for guarded clauses. %k parallel processing; programming theory; software engineering %T Definite Clause Translation Grammars %A H. Abramson %R 1984 International Symposium on Logic Programming (6-9 Feb. 1984) %P 233-40 %D 1984 %I IEEE ISBN: 0 8186 0522 7 %C New York, USA. %G U. S. Copyright Clearance Center Code: CH2007-3/84/000-0233$01.00 %X The author introduces definite clause translation grammars, a new class of logic grammars which generalizes definite clause grammars and which may be thought of as a logical implementation of attribute grammars. Definite clause translation grammars permit the specification of the syntax and semantic rules in the form of Horn clauses attached to each node of the parse tree (automatically created during syntactic analysis), and which control traversal(s) of the parse tree and computation of attributes of each node. The semantic rules attached to a node constitute, therefore, a local database for the node. the separation of syntactic and sematic rules is intended to promote modularity, simplicity, clarity of definition, and ease of modification. %K grammars %T Natural Language Semantics: a Logic Programming Approach %A A. Porto, M. Filgueiras %R 1984 International Symposium on Logic Programming (6-9 Feb. 1984) %P 228-32 %D 1984 %I IEEE ISBN: 0 8186 0522 7 %C New York, USA. %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0228$01.00 %X The authors present a Logic programming approach to natural language semantics, showing how it can be done in a simple, modular and concise way. The proposal is simpler and more uniform than previous efforts by logic programmers. The focus is on describing a general methodology rather than presenting a specific system. %K grammars %T Applicative Input-output and String Manipulation Facilities in Logic Programming Languages %A H. Nakashima, K. Ueda, S. Tomura %J Trans. Inf. Process. Soc. Jpn. ISSN: 0387-5806 %C Japan %D 1983 %V 24 %N 6 %P 745-53 Such a predicate logic language as PROLOG has a distinct feature in being able to predicate programs in a form closest to their specifications. Input and output, however, is often performed through side effects, as in instruction languages. This paper discusses PROLOG input/output with parameters, not with side effects. The input/output is predicated using character manipulation functions-input-output is simply defined as a transfer of a character string. %K high level languages %T APL 84 Conference -- Logic Programming in APL %A R. Jernigan %S APL Quote Quad. Quarterly ISSN: 0163-6006 %I ACM, Special interest group on programming language %C New York, USA %V 14 %N 4 %P 225-30 %D June 1984 %O QA 76.73 A27 A8a V.14 %G U. S. Copyright Clearance Center Code: 0-89791-137-7/84/006/0225$00.75 %X The programming of an expert system requires a language for specifying the rules that an expert uses, a database for storing his knowledge, and a suitable interactive system. Logic programming has been described as a way of implementing Expert systems. With Logic programming, rules are expressed as assertions of what is true when certain conditions are true. To be true, the assertion has to be based upon fact or upon an interference derived from facts. This paper describes an implementation of a PROLOG-like language in APL. The intent is to achieve logic programming capability while retaining the full facility of APL. PROLOG is both an extension of LISP, thereby satisfying the needs of the Artificial Intelligence Community, and a language for relational databases. This implementation leans towards the relational database approach. %K database management systems; programming; APL; artificial intelligence %T A KWIC (key word in context) Bibliography on PROLOG and Logic Programming %A M.D. Poe, R. Nasr, J. Potter, J. Slinn %J J. Logic Program. ISSN: 0743-1066 %C USA %V 1 %N 1 %P 81-142 %D June 1984 %G U. S. Copyright Clearance Center Code: 0743-1066/84/$03.00 The bibliography is in the form of a list of authors and their work, sorted by author, followed by a KWIC index. The bibliography covers work published up to and including 1984. %K programming; programming theory; high level languages %T Alternation and the Computational Complexity of Logic Programs %A E.Y. Shapiro %J J. Logic Program. ISSN: 0743-1066 %C USA %V 1 %N 1 %P 19-33 %D June 1984 %G U. S. Copyright Clearance Center Code: 0743-1066/84/$03.00 %X The author investigates the complexity of derivations from Logic programs, and finds it closely related to the complexity of computations of alternating Turing machines. In particular, he defines three complexity measures over logic programs-goal-size, length, and depth-and shows that goal-size is linearly related to alternating space, the product of length and goal-size is linearly related to alternating tree-size, and the product of depth and goal-size is linearly related to alternating time. The bounds obtained are simultaneous. as an application, he obtains a syntactic characterization of nondeterministic linear space and alternating linear space via logic programs. %K Turing machines; computational complexity; programming %T Synthesis of a Unification Algorithm in a Logic Programming Calculus %A L. H. ERIKSSON %J J. Logic Program. ISSN: 0743-1066 %C USA %V 1 %N 1 %P 3-18 %D June 1984 %G U. S. Copyright Clearance Center Code: 0743-1066/84/$03.00 %X A formal specification of unification is presented and a unification algorithm is synthesized from it. The synthesis is done by logical deduction within the logic programming calculus developed by Hansson and Tarnlund (1979). First-order logic with identity is used as the specification language and extended Horn clause logic as the target language. %K programming; programming theory %T Developing Expert Systems Builders in Logic Programming %A E. Oliveira %J New Generation Comput. (Quarterly) ISSN: 0288-3635 %I Ohmsha Ltd. %C Tokyo, Japan %V 2 %N 2 %P 187-94 %D 1984 %O QA 76 N48 V.2 (Steacie lib.) (Not yet in library!!) %X The author develops a set of kits to build expert systems using PROLOG. Two principal modules, a knowledge base acquisition and consultation subsystems are presented. Several knowledge representation structures and mixed inference mechanisms are proposed for the sake of system efficiency. Finally some explanation capabilities derived accordingly with used inference methods are also implemented and presented. %K artificial intelligence; software engineering %T POMME : A Computer-based Consultation System for Apple Orchard Management Using PROLOG %A J.W. Roach, R.S. Virkar, M.J. Weaver, C.R. Drake %J Expert Syst., ISSN : 0266-4720 %C Great Britain %V 2 %N 2 %P 56-69 %D April 1985 %X Direct dissemination of expert knowledge to agricultural producers through computer programs will increase product quality as well as the profit margin. The construction of an expert system, called POMME, to help farmers manage apple orchards is reported here. The system provides advice regarding specific pest management, treatment of winter injuries, drought control and general pesticide selection. A sample interaction is provided, and the knowledge structures employed in the construction of the system are explained. A model of the apple scab disease cycle is incorporated into POMME to give the system a more fundamental reasoning capability than available from typical rule-based systems. %K agriculture; expert systems %T Tax Advisor: A PROLOG Program Analyzing Income Tax Issues %A D. Schlobohm %J Dr. Dobb's Journal for the Experienced in Microcomputing %C Menlo Park, CA, USA %I People's Computer Co. %V 10 %N 3 %P 64-92 %D March 1985 %O TK7885 A1 D6 V.10 1985, STEACIE (Not yet in library) %X The program assists attorneys in analysing constructive ownership of stock rules set forth in section 318(a) of the Internal Revenue Code of 1954 (USA). There is a detailed explanation of how the program has been set up. The rules of section 318(a) are outlined. The program contains the ability to answer the question 'why?' -referring to why a particular question has been asked by the computer. Also 'help' is answered by giving a clarification of the question. When the computer has enough information to reach a conclusion the user can ask how the program reached the result. A full listing of the prototype program is given. It is broken down into sections as the full program does not fit on COMPUPRO 816A microcomputer on which it runs under CP/M-86 using PROLOG-86. %K artificial intelligence; expert systems; financial data processing; law administration; PROLOG listings; user interfaces %T Artificial Intelligence (AI) and the Man-machine Interface %A K.-P. Fahnrich, K.-H. Hanne, J.P. Hoepelman %J Elektrotech. Z. ETZ, ISSN : 0170-1711 %C Germany %V 106 %N 7-8 %P 346-7, 350-2 %D April 1985 %X The article discusses possible fields of application for AI, such as expert systems and speech-processing systems, and the tools available for their realisation, such as UNIX and UNIX-related systems, LISP and PROLOG and their variants, task-oriented programming (SMALLTALK, etc.), high-performance bitmap displays, and so on. It then deals with AI methods applied to man-machine interfaces, discussing disadvantages of some current solutions and possible improvements; it introduces the idea of the knowledge-based 'users assistant' leading to an 'intelligent' and adaptive interface. Dealing with generic communication modes it discusses direct manipulation, natural language, text-sensitive and speech-sensitive natural language systems, communication using formal languages and AI-supported adaptive multimodal communication. %K artificial intelligence; expert systems; LISP; man-machine systems; PROLOG; speech analysis and processing %T Selective Depth-first Search in PROLOG %A M. Palmer, D.P. McKay, L.M. Norton, L. Hirschman, M.W. Freeman %S First Conference on Artificial Intelligence Applications %I IEEE Comput. Soc. Press, ISBN : 0 8186 0624 X %P 400-3 %D 1984 %C Silver Spring, MD, USA %G U. S. Copyright Clearance Center Code : CH2107-1/84/0000-0400$01.00 %X One of the main criticisms of PROLOG as an application language for expert systems is that its left-to-right, depth-first search strategy is too rigid, resulting in potential inefficiency or even incompleteness for a wide range of problems. It is suggested that with a proper analysis of the search space, metalevel control techniques can be used to effect selective depth-first search without losing the efficient performance of PROLOG expert systems. Selective depth-first search uses heuristics to reorder rather than prune alternatives in the search space. The use of selective depth-first search in an implementation of one component, the I/O base packer, of a computer configuration expert system is discussed. An illustrative example shows how careful analysis of the search spaces involved can result in the use of similar techniques, avoiding the computational overhead associated with interpreters that incorporate general-purpose flexible search strategies. %K expert systems; PROLOG %T Using PROLOG for Normal Business Applications. I %A J. Donington, M. Aczel %J Comput. Mag. %C Great Britain %P 21 %D 9 May 1985 %X The particular advantages of PROLOG for business applications are set out. Its main function is to extract information, by a series of logical steps from computer databases; it does this in a very powerful way, which is quite different from that used in standard database systems. Its databases are readily extensible and databases set up for different purposes can be readily pooled together. %K administrative data processing; PROLOG %T Concurrent PROLOG As an Efficient VLSI Design Language %A N. Suzuki %J Computer %C Long Beach, CA, USA %V 18 %N 2 %P 33-40 %D Feb. 1985 %O TK7885 A1 C6 V.18 1985, STEACIE (Not yet in library) %I IEEE Computer Society, ISSN : 0018-9162 %G U. S. Copyright Clearance Center Code : 0018-9162/85/0200-0033$01.00 %X The use of a programming language, Concurrent PROLOG, for describing hardware is described. A pipeline control mechanism for a high-performance personal computer is used as an example. The same language is used to write functional specifications and requirement specifications (I/O assertions) and to check the consistency between specifications by executing the PROLOG programs. %K electronic engineering computing; logic CAD; PROLOG; specification languages %T Using PROLOG for Normal Business Applications. II %A J. Donington, M. Aczel %J Comput. Mag. %C Great Britian %P 23 %D 16 May 1985 %X For pt.I, see Ibid., p.21, May 1985. Langton, a telecommunications company, is using PROLOG for developing expert based tools to help its clients to take key technical decisions when building systems solutions and technical strategies. Langton's development plan for expert systems is to build separate stand-alone modules, each of which is useful in its own right. One example is a tool called Expert-Select, which was initially designed for selecting data-switches, although it also has a much wider scope. It is centred on three databases. The author looks at the Expert-Select project. %K expert systems; systems analysis %T Implementation of Very Large PROLOG-based Knowledge Bases on Data Flow Architectures %A K.B. Irani, Y. Shih %S First Conference on Artificial Intelligence Applications %P 454-9 %D 1984 %I IEEE Comput. Soc. Press, ISBN : 0 8186 0624 X %C Silver Spring, MD, USA %G U. S. Copyright Clearance Center Code : CH2107-1/84/0000-0454$01.00 %X A Petri net model of the PROLOG-type knowledge base, called the C-GRAPH, is given as a tool for fast rule selection in conventional machines and as a precursor to future implementation on dataflow architectures. Traversing the graph is tantamount to pattern matching or rule selection. At any time during the graph traversal a token set represents the entire content of a global database. To distinguish among different global databases the tokens are 'colored' or tagged. Both forward chaining search and PROLOG's backward chaining search with backtracking are discussed in the context of the C-GRAPH. The construction of the C-GRAPH for a production system example based on the classic monkey-and-banana problem is presented, and a possible implementation of the C-GRAPH on a tagged dynamic dataflow machine is outlined. %K computer architecture; expert systems; graph theory %T Sequential PROLOG Machine: Image and Host Architectures %A E. Tick %S Seventeenth Annual Microprogramming Workshop, MICRO 17 %P 204-16 %D 1984 %I IEEE Comput. Soc. Press, ISBN : 0 8186 0549 9 %C Silver Spring, MD, USA %G U. S. Copyright Clearance Center Code : CH2088/84/0000-0204$01.00 %X A modified version of D.H.D. Warren's sequential PROLOG machine architectures (see Tech. Rept. 309, Art. Intell. Centre, SRI Internat., 1983) is described. Data and instruction formats are given. A microcoded host architecture is also described, with formats and examples presented. %K computer architecture; data structures; microprogramming; PROLOG %T Hardware Verification %A F. Maruyama, M. Fujita %J Computer %C Long Beach, CA, USA %V 18 %N 2 %P 22-32 %D Feb. 1985 %O TK7885 A1 C6 V.18 1985, STEACIE (Not yet in library) %I IEEE Computer Society, ISSN : 0018-9162 %G U. S. Copyright Clearance Center Code : 0018-9162/85/0200-0022$01.00 %X The authors describe two formal verification techniques for hardware design, making use of a temporal logic notation. They first describe DDL (Digital Design Language), a register transfer language, and discuss causality tracing using the DDL verifier. They then discuss the use of PROLOG in hardware description. Finally, they present two methods for increasing efficiency of verification. %K logic CAD; PROLOG; specification languages %T Logic Programming %A H.S. Jensen %J Nord. Datanytt Data, ISSN : 0108-8009 %C Denmark %V 13 %N 15 %P 42-3 %D 19 Sept. 1983 %X The article comprises a review of Japanese research into the Fifth Generation of Computers. The author is of the opinion that this research has been undertaken to ensure that Japan gains a leading position in the computer field, in keeping with the position of Japan at present in the electronics field. The article also contains a review of literature concerning Fifth Generation Computers and Logic Programming. %K artificial intelligence; formal languages; general purpose computers %T PROLOG-The Rules to Becoming an Expert %A A. Goodall %J NEW ELECTRON. (GB) ISSN: 0047-9624 %V 17 %N 19 %P 79-82 %D 2 Oct. 1984 %X Discusses PROLOG and its application for expert systems. %K PROLOG; expert system %T PROLOG as a Basis for Software Engineering Environments %A P. Schnupp ; U. Leibrandt %E E. Girard %B SOFTWARE ENGINEERING: PRACTICE AND EXPERIENCE. PROCEEDINGS OF THE SECOND SOFTWARE ENGINEERING CONFERENCE %P 118-23 %D 4-6 June 1984 %I North Oxford Academic, ISBN 0 946536 01 5 %C Oxford, England %X In various subfields of software engineering, PROLOG is currently under study or already used as a language for specification, design, tool or subsystem implementation, test or verification procedures and project library development. A reason for its broad applicability is its 'protean' nature stemming from its very compact syntax and small fixed kernel, and its strict semantics founded on logical calculus. These properties lead to a wide variety of possible interpretations and uses. The paper surveys current applications of PROLOG in software engineering. It discusses some supporting features in current PROLOG implementations and points out some weaknesses to be overcome to render them even more suitable as a foundation for general software engineering environments. %K software engineering; PROLOG %T Parser Generation and Grammar Manipulation Using PROLOG's Infinite Trees %A F. Giannesini ; J. Cohen %J J. LOGIC PROGRAM. (USA) ISSN: 0743-1066 %V 1 %N 3 %P 253-65 %D Oct. 1984 %G U. S. Copyright Clearance Center Code : 0743-1066/84/$03.00 %X The construction of parsers recognizing strings in a context-free language L(g) is usually done by generating a set of PROLOG clauses capable of parsing strings of L. Although this is a convenient way of generating parsers, it does not readily allow one to study the properties of g or to perform grammar transformations. This paper proposes a general PROLOG parser capable of analyzing the strings of L(g) when g is presented as an infinite tree. In particular, if the syntax of the grammar rules themselves is specified by a grammar, the parser can be used to recognize context-free grammar rules. Subsequently, actions can be attached to the parser so that it is possible to generate infinite trees for any grammar g'. Strings of L(g') can then be analyzed using the same general parser. The proposed approach allows the verification of conditions such as left recursion, satisfiability of LL(1) requirements, as well as grammar transformations such as epsilon elimination. The same analyzer is also capable of generating efficient parsers for specific machines. %K grammars; trees (mathematics); PROLOG; programming theory %T Anticipator : a Medical Expert System Implemented by PROLOG/KR %A M. Kimura; T. Koyama; S. Kaihara; F. Tsuchiya %J J. INF. PROCESS. (JAPAN) ISSN: 0387-6101 %V 7 %N 3 %P 149-56 %D 1984 %X The authors have made a medical expert system anticipator (Antibiotics Counsellor for Infectious Pathogenic Organisms), which counsels antibiotic medications for microbial infections. It is in operation at hospital computer center, University of Tokyo, and substantially used by human doctors. The system, including its knowledge sources, is all implemented with a programming language PROLOG/KR, a superset of PROLOG, extended to support Knowledge Representations. Adopting this, anticipator has many kinds of concepts and strategies to make itself feasible. The paper describes the specifications of the system, examples of actual usage, implementation by PROLOG/KR and the advantages of programming language PROLOG for expert systems. %K expert systems; medical computing; decision support systems; artificial intelligence %T Processing in PROLOG %A M. Ishizuka %J NAVIGATION (JAPAN) ISSN: 0450-660X %N 81 %P 37-42 %D Sept. 1984 %X Describes PROLOG (Programming in Logic) developed by Colmerauer in 1970-2. Programming features are examined and processing procedures are considered. Prospects for PROLOG applications are discussed. %K PROLOG; programming %T Transfer of PROLOG Language to APPLE %A Mingzi Jiang ; Hanting Zhang ; Wuting Lo %J MINI-MICRO SYST. (CHINA) ISSN: 0364-9342 %O TK7885 A1 M57 %N 11 %P 64-6 %D 1984 %K PROLOG; APPLE computers %T A Wire-Wrap Design Aid, Written in PROLOG %A M. Brady %J COMPUT. AIDED DES. (GB) ISSN: 0010-4485 %O TA174 C58 V.1-8 %V 16 %N 5 %P 253-63 %D Sept. 1984 %G U.S. Copyright Clearance Center Code : 0010-4485/84/050253-1/$03.00 %X Wire-Wrap based prototypes are widely used to evaluate electronic circuit designs. In the course of evaluation, the design may change, and the prototype must be modified accordingly. Much effort is required both to design an initial prototype implementation, and subsequently to modify an existing prototype to conform to design changes. Some of the problems associated with prototype design and modification are discussed, and the basic aspects of a program which addresses them are presented. An interesting feature of the program is that it uses a novel method, based on optimization by simulated annealing, to minimize wire connection lengths. The entire program is written in PROLOG. %K circuit layout cad; wiring %T Elaborating PROLOG/DBMS Interface Techniques and Interface Structures %A D.Y. Li; F.G. Heath %B FIRST INTERNATIONAL CONFERENCE ON COMPUTERS AND APPLICATIONS (CAT. NO. 84CH2039-6) %P 134-8 %D 20-22 June 1984 %I IEEE Comput. Soc. Press, ISBN 0 8186 0541 3 %C Siler Spring, MD, USA %G U.S. Copyright Clearance Center Code : CH2039-6184/0000-0134$01.00 %X The use of knowledge information processing as a tool for formalizing and implementing different aspects of query languages in a uniform manner is discussed, and a canonical logic form for all relational query languages is given. A prototype called ILEX is described which has a universal interface supporting three typical query languages, ML (based on ISBL), EL (based on SQL), and PL (based on QBE), and has been implemented entirely in PROLOG. Over the different languages, a functional bank provides as much commonality of applications as possible. Queries can be asked from language to language. The underlying software can be altered without requiring any change at the user interface. This approach is expected to yield reduced cost, enhanced usability, and increased flexibility of implementation. %K query languages; database management systems %T A Programming Language with Abstract Data Types Interpreted in PROLOG: Another Form of Compiler %A I.R. Salavert %J REV. INF. AND AUTOM. (SPAIN) ISSN: 0210-8712 %V 17 %N 60 %P 30-3 %D 1984 %X A translation from abstract data types to PROLOG predicates is given. The procedure presented allows interpretation of data type terms into free algebra. A conversational system is presented implementing term rewriting by the use of equational axions. As a programming aid, the system accepts as input a data type declaration and a term (input program) and produces as output an object program in PROLOG. A PROLOG interpreter finally gives the canonical normal form of the input term as output. %K program interpreters; program compilers %T An Executable PROLOG Semantics %A L. Allison %J ALGOL BULL. (GB) ISSN: 0084-6198 %N 50 %P 10-18 %D Dec. 1983 %X A denotational semantics of the logic programming language PROLOG is expressed in ALGOL-68. The result is a formal definition that is also executable. It is presented as an example of high-order programming in ALGOL-68; the eventual aim is to use this to compare differing brands and implementations of PROLOG formally and experimentally. %K high level languages %T Using PROLOG with Graphics in the Classroom %A D. Ball %J COMPUT. EDUC. (GB) ISSN: 0010-4590 %N 46 %P 5-6 %D Feb. 1984 %X PROLOG is a relatively new programming language with a syntax quite different from that of most general-purpose languages. With a graphics capability, PROLOG is a language as versatile as a powerful 'electronic blackboard'. PROLOG with graphics is now available for the RML 380Z. There are many similarities between the language PROLOG with graphics and the language LOGO. Both languages afford the opportunity to write applications programs that provide teaching and learning situations which are sufficiently well defined to support the user, yet which have within them sufficient flexibility to prevent the imaginative user from feeling restricted. %K high level languages; computer-aided instruction; computer graphics %T Logical Levels of Problem Solving %A L. Sterling %J J. Logic Program. (USA) ISSN: 0743-1066 %V 1 %N 2 %P 151-63 %D Aug. 1984 %G 0743-1066/84/$03.00 %X This paper demonstrates how clear, efficient problem solving programs can be written within logic programming. The key point is the consideration of levels involved, both in the problem solving itself and in the underlying logic. Three levels of knowledge necessary for intelligent problem solving are identified-a level of domain knowledge, a level of methods and strategies, and a planning level. The approach introduced here relates these levels to the distinction between object and meta languages. Two classes of programs are presented. First, single level problem solvers are introduced. These are at the methods level and constitute a meta language of the problem domain. Second, flexible multilevel problem solvers are outlined which can be built as extensions of the single level programs %K logic programming %T Logic Programming for Beginners: An Introduction to The Tools of Artificial Intelligence %A H. Gust %J ELEKTRONIK (GERMANY) ISSN: 0013-5658 %V 33 %N 24 %P 64-9 %D 30 Nov. 1984 %X Artificial intelligence is currently going through a veritable boom period. Software for AI is not generally formulated in programming languages like FORTRAN, PASCAL or BASIC; LISP and PROLOG are much more suitable, and, these are based on what is, in principle, a quite simple logical calculation. The article introduces the reader to logic programming with the aid of examples that are closely related to actual practice, making use, in this case, of the PROLOG language %K logic programming; artificial intelligence %T A Knowledge-based System using Design for Testability Rules %A P.W. Horstmann %J Fourteenth International Conference on Fault-tolerant Computing. Digest of Papers %P 278-84 %D 1984 %I IEEE Comput. Soc. Press. ISBN 0 8186 0540 5 %C Silver Spring, MD, USA %G 0731-3071/84/0000-0278$01.00 %X A description is given of a prototype system for automating design for testability using artificial intelligence techniques. The system's objective is to use logic programming for the creation of a design for testability (DFT) expert system. For a limited set of test cases, this expert system functions as a testability expert, or as a designer's assistant, in that it will check for DFT rule violations and, should these exist, transform the design to remove them. The results of preliminary experiments are given, and the future development of this system is discussed %K fault tolerant computing; expert systems; artificial intelligence; logic programming %T Execution of Logic Programs on a Dataflow Architecture %A L. Bic %J 11th Annual International Symposium on Computer Architecture. Conference Proceedings %P 290-6 %D 1984 %I IEEE Comput. Soc. Press. ISBN 0 8186 0538 3 %C Silver Spring, MD, USA %G 0194-7111/84/0000-0290$01.00 %X The author considers a data-driven model for interpreting logic programs and investigates the architectural requirements necessary to support its implementation. It is shown that the model is capable of exploiting the capabilities of highly parallel dataflow architectures %K computer architecture; parallel processing %T A Framework for Deductive Logic Program Synthesis %A T. Sato; H. Tamaki %J TRANS. INST. ELECTRON. AND COMMUN. ENG. JPN. SECT. E (JAPAN) ISSN: 0387-236X %V E67 %N 10 %P 549-54 %D Oct. 1984 %X Proposes a framework from the first order specification in conjunction with the definition of total correctness for a synthesized program. The necessity of such definition comes from the fact that logic program synthesis is aimed at a nondeterministic program that computes a relation so that conventional definition of total correctness for the synthesised program, i.e. partial correctness+termination, seems inappropriate. The point of the approach is the derivation of comp(s), completed definition of a target program s, from the given specification. It enables verification of the total correctness of a synthesized program. The verification method is based on the recent result about 'negation as failure rule'. Two derivation examples are given %K logic programming; programming theory %T Enumeration of Success Patterns in Logic Programs (PROLOG) %A T. Sato; H. Tamaki %J THEOR. COMPUT. SCI. (NETHERLANDS) ISSN: 0304-3975 %V 34 %N 1-2 %P 227-40 %D Nov. 1984 %X PROLOG programs are basically nondeterministic, and the interpreter/compiler lacks the ability to detect determinacy in a program. Hence, it always prepares for backtrackings, even if careful inspection would demonstrate the determinacy of the program. Such preparations are time- and memory-consuming tasks. The detection of determinacies in a program and the elimination of preparations for backtracking save time and memory. This paper describes a method of analysing prolog programs on the basis of an abstract item set construction. This method gives run-time instantiation patterns of the clauses in a program. It reveals possible clause-calling patterns and necessary conditions for successful clause computation. The analysis consists of the combination of term abstraction and item set construction for a prolog program and a top goal %K programming theory; logic programming; program compilers; program interpreters; PROLOG %T On The Programming of The DSM Method of Automatic Generation of Hypotheses with Multiple-element Sets of Features %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 18-22 %D 1984 %X Describes experiments in simultaneous prediction of several biological activities in chemical compounds, carried out with the aid of the DSM (named after D.S. Mill) method for automatic formulation of hypotheses. Data are given for comparing the results from chemical and computer experiments. The results are assessed %K artificial intelligence; logic programming; expert systems; chemistry computing; biology computing %T Nonheritability of An Empirical Contradiction in The DSM Method and Nonmonotic Discourses %A M.I. Zabezhailo %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 14-17 %D 1984 %X Reports the results of a study of nonstandard logical means of data processing, with incomplete information in the intellectual information systems, employing formalisations of reasonings of an expert investigator. The potentialities of the DSM (named after D.S. Mill) method for automatic advancement of hypotheses in the analysis of contradicting information are assessed, and the ensuing effects of nonmonotonic discourses are examined. The concept of an empirical contradiction is introduced an an example given of its nonheritability, with increasing number of laws of a plausible deduction used successively in the advancement of hypotheses. The causes for the generation of empirical contradictions are discussed, and logical possibilities of employing the DSH technique for their analysis and elimination are examined %K artificial intelligence; logic programming; expert systems %T Certain Semantic and Syntactical Cases of The DSM Method for Automatic Generation of Hypotheses %A O.M. Anshakov; D.P. Skvortsov; V.K. Finn %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 5-12 %D 1984 %X Discusses the semantic basis of procedures for probabilistic (in particular inductive) conclusions, extendible to the case of an infinite universe as well as an approach to developing a deductive theory, simulating inductive procedures of the DSM (named after D.S. Mill) method for the automatic generation of hypothesis. A description is given of the infinitely-valued logic, into which enters finite-valued logic generated by the DSM technique, as well as a calculation, whose axioms comply with laws of a plausible deduction. Possible variants and modifications of the proposed scheme are outlined %K artificial intelligence; logic programming %T On The Value of Development of Expert Data Systems in Informatics %A R.S. Gilyarevskii %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 1-4 %D 1984 %X Examines problems arising in informatics, in connection with the emergence of expert data systems. It is observed that the emergence of these systems has brought about the need for studying the internal structure of data and the development of appropriate theories. The characteristics of intellectual data systems with means for automatic generation of hypotheses is given %K expert systems; artificial intelligence; data structures; information science; logic programming %T Artificial Intelligence Languages: LISP, PROLOG, SMALLTALK and The REST %A J. Ferber %J MICRO SYST. (FRANCE) ISSN: 0183-5084 %N 34 %P 314-19 %D Sept. 1983 %X The development of languages is traced from the pioneer information processing language for list processing, via LISP, to the later declarative languages (PLANNER and PROLOG) and actor languages (SIMULA, SMALLTALK and PLASMA). Their future is said to turn on whether they should be 'object-oriented' with a procedural characteristic, or take the form of lists of logical clauses and approach programming in a relational and declarative form. A brief appendix is devoted to logo which, while not strictly an artificial intelligence language, is of interest as an ideal medium for learning its basic concepts %K artificial intelligence; high level languages %T On Generation of PROLOG Programs Derived from A Syntactic Tree of CONTEXT-FREE Languages %A N. Abe, K. Mima, S. Tsuji, %J TRANS. INF. PROCESS. SOC. JPN. (JAPAN) ISSN: 0387-5806 %V 24 %N 4 %P 552-4 %D 1983 %X Recently, DEFINITE CLAUSE GRAMMAR (DCG) using PROLOG to execute parsing has become impressive. Unlike conventional parsing programs, a syntactic tree can be generated according to the specification of the user. Information about the required syntactic tree construction, however, is hard to set up. This paper describes a LISP program for preparing DCG rules for generating information from a CONTEXT-FREE language tree. %K high level languages; automatic programming; grammars; programming theory %T Fair, Biased, and Self-Balancing Merge Operators: Their Specification and Implementation in Concurrent PROLOG %A E. Shapiro, C. Mierowsky %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 2 %N 3 %P 221-40 %D 1984 %X The problem of allowing a dynamically changing set of processes fair access to a shared resource is considered in the context of COMMUNICATION-STREAM based systems. It is argued that fair BINARY MERGE operators alone cannot solve this problem satisfactorily. Two solutions are proposed. One employs BINARY MERGE operators with a programmable bias; the other BINARY and TERNARY FAIR MERGE operators capable of self-balancing, using the concept of 2-3 TREE. A concurrent PROLOG implementation of these operators is described. The implementation of the SELF-BALANCING MERGE OPERATORS illustrates the expressive power of incomplete messages, a programming technique that supports messages that contain communication channels as arguments. In the course of implementing the SELF-BALANCING MERGE OPERATOR, it was necessary to develop a distributed variant of the 2-3 TREE deletion algorithm. %K programming theory; high level languages; parallel processing; programming %T PROLOG in Practice %A B. Domolki, P. Szeredi %E R. E. A. Mason, %R INFORMATION PROCESSING 83. PROCEEDINGS OF THE IFIP 9TH WORLD COMPUTER CONGRESS 19-23 SEPT. 1983 PARIS, FRANCE %P 627-36 %D 1983 %I North-Holland, Xvi+976 ISBN: 04444 86729 5 %C Amsterdam, Netherland %O QA76. I575 %X PROLOG is gaining much popularity nowadays as a promising tool for problem solving systems. It can also be viewed as a practical programming language for some classes of application problems. For this purpose industrial implementations are needed that meet requirements regarding effectiveness of program execution, extensibility of language facilities, introduction of tools for disciplined programming (e.g. modularity) and availability of a program development environment. The MPROLOG SYSTEM is described as an attempt to implement most of these requirements. %K high level languages %T On The Compilation of A Domain-Based PROLOG %A J. F. Nilsson %E R. E. A. Mason %R INFORMATION PROCESSING 83. PROCEEDINGS OF THE IFIP 9TH WORLD COMPUTER CONGRESS 19-23 SEPT. 1983 PARIS, FRANCE %P 293-8 %d 1983 %I North-Holland, Xvi+976 ISBN: 0 444 86729 5 %C Amsterdam, Netherland %O QA76. I575 %X The compilation of the logic programming language PROLOG into target programs of procedural high level languages is considered. In particular the author advocates compilation of the unification operation into assignments, conditions, and case statements based on a global analysis of the source program aiming at predicting the direction of the 'DATA FLOW' at compile time. %K high level languages %T A PROLOG System for Microcomputers %A H. Gust %J SPRACHE AND DATENVERARB. (GERMANY) ISBN: 0343-5202 %V 7 %N 1-2 %P 16-20 %D 1983 %X The author outlines the history and virtues of PROLOG. In this article he demonstrates how it, in an analogous manner like DCGS (DIRECT CLAUSE GRAMMARS), permits other grammatical concepts to be attained. A number of examples are given and illustrated. These are written in MLOG using the system CP/M with a Z80 processor. He points out that because of the limited resources of microcomputers some compromises have to be made. Background storage is between 100 to 1000k bits. %K high level languages; program compilers %T PROLOG. II %A M. Sobczyk, A. Szalas %J INFORMATYKA (POLAND) ISSN: 0542-9951 %V 19 %N 4 %P 10-12 %D April 1984 %X For PT.I SEE IBID., Vol.19, No.3, P.1 (1984). This part of the article on the PROLOG computer language deals with practical examples illustrating the language implementation. Sorting procedures are illustrated highlighting parasitic word concepts. Inclusion rules into a block structure are elaborated showing basic selection routing. General remarks on coroutines are included. %K high level languages; sorting %T PROLOG in Practice %A B. Domolki, P. Szeredi %J MINI-MICRO SYST. (CHINA) ISSN: 0364-9342 %N 4 %P 56-66 %D 1984 %K high level languages %T The PROLOG Language %A B. Legeard %J MICRO SYST. (FRANCE) ISSN: 0183-5084 %N 44 %P 100-11 %D July-Aug. 1984 %X This declarative language is likened to a THEOREM-PROVER which can be used for conventional arithmetic and logic operations notwithstanding its strong orientation towards logical programming. It is commended as a development tool for FIFTH-GENERATION software prototypes with applications to natural language comprehension, database management and software engineering. Its basic mechanisms and commercialised versions are summarised, and list-averaging and component programs are presented. Current developments are discussed including portability, nonsequential resolution and parallelism in activation of rules, a dynamic resolution strategy, and compiled versions. %K high level languages %T A Polymorphic Type System for PROLOG %A A. Mycroft, R. A. o'keefe %J ARTIF. INTELL. (NETHERLANDS) ISSN: 0004-3702 %V 23 %N 3 %P 295-307 %D Aug. 1984 %X Describes a polymorphic type scheme for PROLOG which makes static type checking possible. Polymorphism gives a good degree of flexibility to the type system, and makes it intrude very little on a user's programming style. The only additions to the language are type declarations, which an interpreter can ignore if it so desires, with the guarantee that a well-typed program will behave identically with or without type checking. The author's implementation is discussed. %K artificial intelligence %T Evaluation of The Effectiveness of PROLOG for A CAD Application %A J. C. Gonzalez, M. H. Williams, I. E. Aitchison %J IEEE COMPUT. GRAPHICS AND APPL. (USA) ISSN: 0272-1716 %V 4 %N 3 %P 67-75 %D March 1984 %O T385. I15 %X A typical CAD application has been implemented in two competing programming languages, PASCAL and PROLOG. The application chosen was a two-dimensional drafting system which is part of a project to develop a three-dimensional geometric modelling facility on a microcomputer. The results show the greater suitability of PROLOG for such an application. %K cad; computer graphics %T PIL (PROLOG IN LISP)-A Language for Automation %A R. S. Wallace %R IEEE WORKSHOP ON LANGUAGES FOR AUTOMATION 7-9 Nov. 1983 Chicago, IL, USA %P 17-21 %I IEEE Comput. Soc. Press, Vi+311 ISBN: 0 8186 0506 5 %C Silver Spring, MD, USA %D 1983 %X An implementation of PROLOG in LISP (PIL) is described. A brief background on PROLOG and LISP is provided. Advantages of combining the resources of LISP and PROLOG are cited, and PIL is compared with other versions of PROLOG implemented in LISP. Programming experience with PIL is noted. A tutorial introduction to the language is provided, and its implementation is discussed. %K high level languages %T MICRO-PROLOG: Programming in Logic %A K. L. Clark, F. G. Mccabe, %D 1984 %I PRENTICE-HALL, ISBN: 0 13 581264 X %C Englewood Cliffs, NJ, USA %P XI+401 %O QA.76. 73M5C55 %X This book is an introductory text on MICROPROLOG, the microcomputer version of PROLOG, which is the language used by the Japanese FIFTH-GENERATION computer project as the core language for designing expert systems. The text introduces the features of MICROPROLOG through a series of related examples and numerous exercises, which guide the reader to the final section of chapters on the applications of LOGIC PROGRAMMING and PROLOG. %K high level languages; programming %T Improving the Structure of Logic programs %A P. Stepanek, O. Stepankova %E I. Plander %B Artificial Intelligence and Information-control Systems of Robots. %D 1984 %C Amsterdam, Netherlands %I North-Holland ISBN: 0 444 87533 6 %X Transformations of logic programs motivated by structured programming are described and their impact on the methodology of logic programming is discussed. Theoretical results are compared with the attempts to develop a practical methodology for the construction of logic programs. %K Structured programming; Logic programming %T Knowledge Representation and Deduction in Extended PRIZ %A P. V. Eomois %E I. Plander %B Artificial Intelligence and Information-control Systems of Robots. %D 1984 %C Amsterdam, Netherlands %I North-Holland ISBN: 0 444 87533 6 %X An extension of the PRIZ system is proposed. Logical background of the solution is discussed and some examples of knowledge representation are given. %K Logic programming; Automatic programming %T A Synchronization Logic: Axiomatics and Formal Semantics of Generalized Horn Clauses. %A M. Falaschi, G. Levi, C. Palamidessi %J Inf. and Control (USA) %V 60 %N 1-3 %P 36-69 %D Jan.-March 1984 %O Q 350 I5 (periodicals) %I ISSN: 0019-9958 %X An extension of Horn clause logic is defined, based on the introduction of a synchronization operator. Generalized Horn clauses (GHC) are introduced through an informal description of their operational semantics, which allows discussion of some typical synchronization problems. GHC are first considered formally as a programming language by defining the syntax, the operational semantics, the model-theoretic semantics and the fixed-point semantics. The above mentioned semantics are given in the Van Emden-Kowalski style (see M.H. Van Emden and R. Kowalski, J. Assoc. Comput. Mach. 23, 733-742, 1976) and are proven equivalent. GHC are then characterized as axiomatic theories. a set of axiom schemata concerned with the newly introduced synchronization operator is defined and it is proven that the operational semantics inference rule is both sound and complete. Finally, the relationship between GHC and Horn clauses is analyzed, and it is proven that Horn clause logic is strictly included in the generalized Horn clause logic. %K Logic programming; Programming theory; Synchronisation; Formal logic %T The Application of Logic Programming to the Generation of Paths for Robots %A R. H. Davis, M. Camacho %J Robotica (GB) %V 2 %N 2 %P 93-103 %D April 1984 %I ISSN: 0263-5747 %X The paper outlines a heuristic approach for the development of a control strategy for finding a safe path for a polyhedral object moving amongst known polyhedral objects. This is achieved by the algorithm given in "The Applications of Logic Programming to the Generation of Plans for Robots" 1984, for finding a minimum cost path in a graph; the algorithm is implemented on a computer under the UNIX operating system, using the NU7 version of PROLOG. %K Robots; Heuristic Programming; Position Control %T Computer Aided Design (CAD) Using Logic Programming (for VLSI) %A P. W. Horstmann, E. P. Stabler %B ACM IEEE 21st Design Automation Conference Proceedings 84 %G 0738-100X/84/0000-0144$01.00 %D 1984 %C New York, USA %I IEEE ISBN: 0 8186 0542 1 %X Gives an overview of expert systems and logic programming as applied to computer-aided design (CAD) systems. the objective is to show the relevance of these two approaches, developed from research in Artificial Intelligence, to the solution of problems in VLSI design. Some examples of the use of logic programming for familiar CAD tasks are provided. The expert systems discussed function as experts in a very narrowly defined area of expertise, and can be called designer's assistants. The use of logic programming (PROLOG) in providing algorithmic solutions to VLSI design problems is considered. %K Circuit CAD; Artificial Intelligence; VLSI; Logic CAD %T A Knowledge Assimilation Method for Logic Databases %A T. Miyachi, S. Kunifuji, H. Kitakami, K. Furukawa, A. Takeuchi, H. Yokota %B 1984 International Symposium on Logic Programming %G CH2007-3/84/0000-0118$01.00 %D 1984 %C New York, USA %I IEEE ISBN: 0 8186 0522 7 %X The authors consider a deductive question-answering system for relational databases as a logic database system and propose a knowledge assimilation method suitable for such a system. The concept of knowledge assimilation for deductive logic is constructed in an implementable form based on the notion of amalgamating object languages and meta languages. This concept calls for checks to be conducted on subconcepts called provability, contradiction, redundancy, independency, and their corresponding internal database updates. The authors have implemented a logic database-oriented knowledge assimilation program in PROLOG, a logic programming language, and have found it suitable for knowledge assimilation implementation. %K Database Management Systems; Programming; Software Engineering %T A Bottom-up Parser Base on Predicate Logic: a Survey of the Formalism and its Implementation Techniques %A K. Uehara, R. Ochitani, O. Kakusho, J. Toyoda %B 1984 International Symposium on Logic Programming %G CH2007-3/84/0000-0220$01.00 %D 1984 %C New York, USA %I IEEE ISBN: 0 8186 0522 7 %X The authors present a grammar formalism for natural language analysis based on the subset of predictive logic, called PAMPS, and its implementation technique. PAMPS has a bottom-up, left-to-right, parallel parser, augmented by topdown filtering and a look-ahead facility. Rules of a PAMPS grammar can have procedures included in their right-hand sides, defined as Horn clauses. These procedures are executed in a to-down, depth-first manner. PAMPS can thus be seen to be an elaborate mixture of an efficient bottom-up parser and the programming language PROLOG. The authors have developed two versions of PAMPS implementation. One is an interpreter, and the other is a virtual machine and its compiler. The technique for the virtual machine is based on that of the DEC-10 PROLOG. Some modifications are added so that the technique for the virtual machine does not depend on any particular searching strategy. It runs faster than the interpreter by a factor of 20 to 76. The technique is also useful in implementing pseudo or-parallelism of PROLOG on a sequential machine. %K Program Compilers; Programming Theory; Software Engineering %T Logic Programming on an FFP Machine %A B. Smith %B 1984 International Symposium on Logic Programming %G CH2007-3/84/0000-0177$01.00 %C New York, USA %D 1984 %I IEEE ISBN: 0 8186 0522 7 %X The author describes a style of logic programming interpreter for a parallel computer being developed at the University of North Carolina. User programs are written in an FP language, which can be straightforwardly translated into the machine's FFP language. These interpreters are defined as production systems with a hierarchical working memory, the goal tree. This model provides a better fit for the sequence data-types and the innermost-expression, string-reduction style of the FFP machine. Or-parallelism is provided by expanding different branches of the search tree in parallel. And-parallelism is provided by reducing several subgoals in a goal tree node in parallel. A unification algorithm prevents shared-variable conflicts during and-parallelism, as well as performing matching unifications. %K Program Interpreters; Programming; Software Engineering; Parallel Processing %T Editing First-order Proofs: Programmed Rules vs. Derived Rules %A M. V. Aponte, J. A. Fernandez, P. Roussel %B 1984 International Symposium on Logic Programming %G CH2007-3/84/000-0092$01.00 %D 1984 %C New York, USA %I IEEE ISBN: 0 8186 0522 7 %X The authors report on a proof editor, EDILOG, which is based on two formal systems: R.H. Thomason's natural deduction formalism (1980), including block structures, and the PROLOG relational programming style, sometimes called reverse programming. The facilities offered by EDILOG include: top-down and bottom-up proof construction; inference rules used as verifiers as well as sentence generators; user-defined inference rules (recursively programmed rules); and permanent correctness of both proofs and programmed rule execution %K Programming; Software Engineering; Program Processors %T Parallel Prolog Using Stack Segments on Shared-memory Multiprocessors %A P. Borgwardt %B 1984 International Symposium on Logic Programming %G CH2007-3/84/0002$01.00 %D 1984 %C New York, USA %I IEEE ISBN: 0 8186 0522 7 %X A method of parallel evaluation for standard PROLOG for shared-memory multiprocessors is presented that is a natural extension of the current methods of compiling PROLOG for sequential execution. In particular, the method exploits stack-based evaluation with stack segments spread across several processors to reduce the amount of runtime storage needed and hence to reduce the occurrence of garbage collection in the distributed computation. And parallelism and stream parallelism are the most important sources of concurrent execution in this method; these are implemented using local process lists; idle processors may scan these and execute any process which is ready to execute. Or parallelism is less important, but the method does not implement it with hash table windows into a binary tree of or contexts when it is requested in the source program. %K Program Compilers; High Level Languages; Parallel Processing; Programming; Software Engineering %T Control of Activities in the Or-parallel Token Machine %A A. Ciepielewski,S. Haridi %R 1984 International Symposium on Logic Programming. (6-9 Feb. 1984) %P 49-57 %D 1984 %I IEEE ISBN : 0 8186 0522 7 %C New York, USA. %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0049$01.00 %X A machine model consisting of a limited number of processors, a token pool, and a storage is described. A token represents the state of a process, which executes a branch in the search tree of a logic program. Tokens in the token pool correspond to processes which are ready for execution but not allocated a processor. The problem of controlling the number of activities can be divided into two subproblems: (1) controlling the traversal of the search tree and (2) pruning some branches of the search tree. To solve (2) the authors devise a mechanism for pruning the search tree when only one solution to a problem or a subproblem is required and show how the or-parallel token machine can be extended to support this mechanism. They also propose an implementation of the mechanism on a class of distributed architectures. Finally they discuss how the mechanism can be generalized to pruning of trees when at most n solutions are required, and also for guarded clauses. %k parallel processing; programming theory; software engineering %T Definite Clause Translation Grammars %A H. Abramson %R 1984 International Symposium on Logic Programming (6-9 Feb. 1984) %P 233-40 %D 1984 %I IEEE ISBN: 0 8186 0522 7 %C New York, USA. %G U. S. Copyright Clearance Center Code: CH2007-3/84/000-0233$01.00 %X The author introduces definite clause translation grammars, a new class of logic grammars which generalizes definite clause grammars and which may be thought of as a logical implementation of attribute grammars. Definite clause translation grammars permit the specification of the syntax and semantic rules in the form of Horn clauses attached to each node of the parse tree (automatically created during syntactic analysis), and which control traversal(s) of the parse tree and computation of attributes of each node. The semantic rules attached to a node constitute, therefore, a local database for the node. the separation of syntactic and sematic rules is intended to promote modularity, simplicity, clarity of definition, and ease of modification. %K grammars %T Natural Language Semantics: a Logic Programming Approach %A A. Porto, M. Filgueiras %R 1984 International Symposium on Logic Programming (6-9 Feb. 1984) %P 228-32 %D 1984 %I IEEE ISBN: 0 8186 0522 7 %C New York, USA. %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0228$01.00 %X The authors present a Logic programming approach to natural language semantics, showing how it can be done in a simple, modular and concise way. The proposal is simpler and more uniform than previous efforts by logic programmers. The focus is on describing a general methodology rather than presenting a specific system. %K grammars %T Applicative Input-output and String Manipulation Facilities in Logic Programming Languages %A H. Nakashima, K. Ueda, S. Tomura %J Trans. Inf. Process. Soc. Jpn. ISSN: 0387-5806 %C Japan %D 1983 %V 24 %N 6 %P 745-53 Such a predicate logic language as PROLOG has a distinct feature in being able to predicate programs in a form closest to their specifications. Input and output, however, is often performed through side effects, as in instruction languages. This paper discusses PROLOG input/output with parameters, not with side effects. The input/output is predicated using character manipulation functions-input-output is simply defined as a transfer of a character string. %K high level languages %T APL 84 Conference -- Logic Programming in APL %A R. Jernigan %S APL Quote Quad. Quarterly ISSN: 0163-6006 %I ACM, Special interest group on programming language %C New York, USA %V 14 %N 4 %P 225-30 %D June 1984 %O QA 76.73 A27 A8a V.14 %G U. S. Copyright Clearance Center Code: 0-89791-137-7/84/006/0225$00.75 %X The programming of an expert system requires a language for specifying the rules that an expert uses, a database for storing his knowledge, and a suitable interactive system. Logic programming has been described as a way of implementing Expert systems. With Logic programming, rules are expressed as assertions of what is true when certain conditions are true. To be true, the assertion has to be based upon fact or upon an interference derived from facts. This paper describes an implementation of a PROLOG-like language in APL. The intent is to achieve logic programming capability while retaining the full facility of APL. PROLOG is both an extension of LISP, thereby satisfying the needs of the Artificial Intelligence Community, and a language for relational databases. This implementation leans towards the relational database approach. %K database management systems; programming; APL; artificial intelligence %T A KWIC (key word in context) Bibliography on PROLOG and Logic Programming %A M.D. Poe, R. Nasr, J. Potter, J. Slinn %J J. Logic Program. ISSN: 0743-1066 %C USA %V 1 %N 1 %P 81-142 %D June 1984 %G U. S. Copyright Clearance Center Code: 0743-1066/84/$03.00 The bibliography is in the form of a list of authors and their work, sorted by author, followed by a KWIC index. The bibliography covers work published up to and including 1984. %K programming; programming theory; high level languages %T Alternation and the Computational Complexity of Logic Programs %A E.Y. Shapiro %J J. Logic Program. ISSN: 0743-1066 %C USA %V 1 %N 1 %P 19-33 %D June 1984 %G U. S. Copyright Clearance Center Code: 0743-1066/84/$03.00 %X The author investigates the complexity of derivations from Logic programs, and finds it closely related to the complexity of computations of alternating Turing machines. In particular, he defines three complexity measures over logic programs-goal-size, length, and depth-and shows that goal-size is linearly related to alternating space, the product of length and goal-size is linearly related to alternating tree-size, and the product of depth and goal-size is linearly related to alternating time. The bounds obtained are simultaneous. as an application, he obtains a syntactic characterization of nondeterministic linear space and alternating linear space via logic programs. %K Turing machines; computational complexity; programming %T Synthesis of a Unification Algorithm in a Logic Programming Calculus %A L. H. ERIKSSON %J J. Logic Program. ISSN: 0743-1066 %C USA %V 1 %N 1 %P 3-18 %D June 1984 %G U. S. Copyright Clearance Center Code: 0743-1066/84/$03.00 %X A formal specification of unification is presented and a unification algorithm is synthesized from it. The synthesis is done by logical deduction within the logic programming calculus developed by Hansson and Tarnlund (1979). First-order logic with identity is used as the specification language and extended Horn clause logic as the target language. %K programming; programming theory %T Developing Expert Systems Builders in Logic Programming %A E. Oliveira %J New Generation Comput. (Quarterly) ISSN: 0288-3635 %I Ohmsha Ltd. %C Tokyo, Japan %V 2 %N 2 %P 187-94 %D 1984 %O QA 76 N48 V.2 (Steacie lib.) (Not yet in library!!) %X The author develops a set of kits to build expert systems using PROLOG. Two principal modules, a knowledge base acquisition and consultation subsystems are presented. Several knowledge representation structures and mixed inference mechanisms are proposed for the sake of system efficiency. Finally some explanation capabilities derived accordingly with used inference methods are also implemented and presented. %K artificial intelligence; software engineering %T Logical Levels of Problem Solving %A L. Sterling %J J. Logic Program. (USA) ISSN: 0743-1066 %V 1 %N 2 %P 151-63 %D Aug. 1984 %G 0743-1066/84/$03.00 %X This paper demonstrates how clear, efficient problem solving programs can be written within logic programming. The key point is the consideration of levels involved, both in the problem solving itself and in the underlying logic. Three levels of knowledge necessary for intelligent problem solving are identified-a level of domain knowledge, a level of methods and strategies, and a planning level. The approach introduced here relates these levels to the distinction between object and meta languages. Two classes of programs are presented. First, single level problem solvers are introduced. These are at the methods level and constitute a meta language of the problem domain. Second, flexible multilevel problem solvers are outlined which can be built as extensions of the single level programs %K logic programming %T Logic Programming for Beginners: An Introduction to The Tools of Artificial Intelligence %A H. Gust %J ELEKTRONIK (GERMANY) ISSN: 0013-5658 %V 33 %N 24 %P 64-9 %D 30 Nov. 1984 %X Artificial intelligence is currently going through a veritable boom period. Software for AI is not generally formulated in programming languages like FORTRAN, PASCAL or BASIC; LISP and PROLOG are much more suitable, and, these are based on what is, in principle, a quite simple logical calculation. The article introduces the reader to logic programming with the aid of examples that are closely related to actual practice, making use, in this case, of the PROLOG language %K logic programming; artificial intelligence %T A Knowledge-based System using Design for Testability Rules %A P.W. Horstmann %J Fourteenth International Conference on Fault-tolerant Computing. Digest of Papers %P 278-84 %D 1984 %I IEEE Comput. Soc. Press. ISBN 0 8186 0540 5 %C Silver Spring, MD, USA %G 0731-3071/84/0000-0278$01.00 %X A description is given of a prototype system for automating design for testability using artificial intelligence techniques. The system's objective is to use logic programming for the creation of a design for testability (DFT) expert system. For a limited set of test cases, this expert system functions as a testability expert, or as a designer's assistant, in that it will check for DFT rule violations and, should these exist, transform the design to remove them. The results of preliminary experiments are given, and the future development of this system is discussed %K fault tolerant computing; expert systems; artificial intelligence; logic programming %T Execution of Logic Programs on a Dataflow Architecture %A L. Bic %J 11th Annual International Symposium on Computer Architecture. Conference Proceedings %P 290-6 %D 1984 %I IEEE Comput. Soc. Press. ISBN 0 8186 0538 3 %C Silver Spring, MD, USA %G 0194-7111/84/0000-0290$01.00 %X The author considers a data-driven model for interpreting logic programs and investigates the architectural requirements necessary to support its implementation. It is shown that the model is capable of exploiting the capabilities of highly parallel dataflow architectures %K computer architecture; parallel processing %T A Framework for Deductive Logic Program Synthesis %A T. Sato; H. Tamaki %J TRANS. INST. ELECTRON. AND COMMUN. ENG. JPN. SECT. E (JAPAN) ISSN: 0387-236X %V E67 %N 10 %P 549-54 %D Oct. 1984 %X Proposes a framework from the first order specification in conjunction with the definition of total correctness for a synthesized program. The necessity of such definition comes from the fact that logic program synthesis is aimed at a nondeterministic program that computes a relation so that conventional definition of total correctness for the synthesised program, i.e. partial correctness+termination, seems inappropriate. The point of the approach is the derivation of comp(s), completed definition of a target program s, from the given specification. It enables verification of the total correctness of a synthesized program. The verification method is based on the recent result about 'negation as failure rule'. Two derivation examples are given %K logic programming; programming theory %T Enumeration of Success Patterns in Logic Programs (PROLOG) %A T. Sato; H. Tamaki %J THEOR. COMPUT. SCI. (NETHERLANDS) ISSN: 0304-3975 %V 34 %N 1-2 %P 227-40 %D Nov. 1984 %X PROLOG programs are basically nondeterministic, and the interpreter/compiler lacks the ability to detect determinacy in a program. Hence, it always prepares for backtrackings, even if careful inspection would demonstrate the determinacy of the program. Such preparations are time- and memory-consuming tasks. The detection of determinacies in a program and the elimination of preparations for backtracking save time and memory. This paper describes a method of analysing prolog programs on the basis of an abstract item set construction. This method gives run-time instantiation patterns of the clauses in a program. It reveals possible clause-calling patterns and necessary conditions for successful clause computation. The analysis consists of the combination of term abstraction and item set construction for a prolog program and a top goal %K programming theory; logic programming; program compilers; program interpreters; PROLOG %T On The Programming of The DSM Method of Automatic Generation of Hypotheses with Multiple-element Sets of Features %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 18-22 %D 1984 %X Describes experiments in simultaneous prediction of several biological activities in chemical compounds, carried out with the aid of the DSM (named after D.S. Mill) method for automatic formulation of hypotheses. Data are given for comparing the results from chemical and computer experiments. The results are assessed %K artificial intelligence; logic programming; expert systems; chemistry computing; biology computing %T Nonheritability of An Empirical Contradiction in The DSM Method and Nonmonotic Discourses %A M.I. Zabezhailo %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 14-17 %D 1984 %X Reports the results of a study of nonstandard logical means of data processing, with incomplete information in the intellectual information systems, employing formalisations of reasonings of an expert investigator. The potentialities of the DSH (named after D.S. Mill) method for automatic advancement of hypotheses in the analysis of contradicting information are assessed, and the ensuing effects of nonmonotonic discourses are examined. The concept of an empirical contradiction is introduced an an example given of its nonheritability, with increasing number of laws of a plausible deduction used successively in the advancement of hypotheses. The causes for the generation of empirical contradictions are discussed, and logical possibilities of employing the DSH technique for their analysis and elimination are examined %K artificial intelligence; logic programming; expert systems %T Certain Semantic and Syntactical Cases of The DSM Method for Automatic Generation of Hypotheses %A O.M. Anshakov; D.P. Skvortsov; V.K. Finn %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 5-12 %D 1984 %X Discusses the semantic basis of procedures for probabilistic (in particular inductive) conclusions, extendible to the case of an infinite universe as well as an approach to developing a deductive theory, simulating inductive procedures of the DSM (named after D.S. Mill) method for the automatic generation of hypothesis. A description is given of the infinitely-valued logic, into which enters finite-valued logic generated by the DSM technique, as well as a calculation, whose axioms comply with laws of a plausible deduction. Possible variants and modifications of the proposed scheme are outlined %K artificial intelligence; logic programming %T On The Value of Development of Expert Data Systems in Informatics %A R.S. Gilyarevskii %J NAUCHNO-TEKH. INF. SER. 2 (USSR) ISSN: 0548-0027 %N 11 %P 1-4 %D 1984 %X Examines problems arising in informatics, in connection with the emergence of expert data systems. It is observed that the emergence of these systems has brought about the need for studying the internal structure of data and the development of appropriate theories. The characteristics of intellectual data systems with means for automatic generation of hypotheses is given %K expert systems; artificial intelligence; data structures; information science; logic programming %T Artificial Intelligence Languages: LISP, PROLOG, SMALLTALK and The REST %A J. Ferber %J MICRO SYST. (FRANCE) ISSN: 0183-5084 %N 34 %P 314-19 %D Sept. 1983 %X The development of languages is traced from the pioneer information processing language for list processing, via LISP, to the later declarative languages (PLANNER and PROLOG) and actor languages (SIMULA, SMALLTALK and PLASMA). Their future is said to turn on whether they should be 'object-oriented' with a procedural characteristic, or take the form of lists of logical clauses and approach programming in a relational and declarative form. A brief appendix is devoted to logo which, while not strictly an artificial intelligence language, is of interest as an ideal medium for learning its basic concepts %K artificial intelligence; high level languages %T Simulation of office Procedures based on PRT-NETS and PROLOG %A Wisskirchen, P.; Niehuis, S.; Victor, F. %J ANGEW. INF. (GERMANY) ISSN: 0013-5704 %V 26 %N 5 %P 181-8 %D May 1984 %G U. S. Copyright Clearance Center Code: 0013-5704/84/50181-08$03.00/0 %X Predicate-Transitions Nets (PRT-NETS), a class of high-level Petri Nets, provide a useful conceptual framework for modeling office procedures. The programming language PROLOG is well-suited for representing both the static and dynamic aspects of PRT-NETS as well as providing a flexible query mechanism for interactive analysis. the office procedure simulator the authors have implemented in PROLOG is a useful tool for investigating reachability conditions. That means that the dynamic aspects of the execution of office procedures may be evaluated. %K office automation; systems analysis %T Automatic Program Synthesis System for N.C. Machine Tools based on PC-PROLOG %A Szuba, T. %J ANGEW. INF. (GERMANY) ISSN: 0013-5704 %V 26 %N 6 %P 234-43 %D June 1984 %G U. S. Copyright Clearance Center Code: 0013-5704/84/6/0234-10/$03.00/0 %X The manufacturing process of N.C. machine tools is very interesting from the point of view of artificial intelligence applications. The strategy for the cutting process and state space is obvious and easy to formalize. A system for full automatic program synthesis for N.C. machine tools is demonstrated, based on the interface PROLOG-pascal idea. The systems was built for 5-dimensional machine tools with section control. Such a system allows one to solve the unit production problem for N.C. machine tools. %K machine tools; numerical control; automatic programming %T Odradek-A PROLOG-based LISP Translator %A Jellinek, H. %R PROCEEDINGS OF THE SEVENTH ANNUAL MICRO-DELCON '84. THE DELAWARE BAY COMPUTER CONFERENCE %P 18-21 %D 1984 %I IEEE COMPUT. SOC. PRESS ISBN 0 8186 0554 5 %C SILVER SPRING, MD, USA %G U. S. Copyright Clearance Center Code: CH2004-0/84/0000/0018$01.00 %X ODRADEK is a PROLOG program that implements a LISP-to-LISP source code translator. It is based on a set of rules stating equivalences between forms in the two LISP dialects. The translation is bidirectional. ODRADEK has been used to translate a number of large and small LISP programs from one dialect to another. %K program interpreters %T PROLOG. I %A Sobczyk, M.; Szalas, A. %J INFORMATYKA (POLAND) ISSN: 0542-9951 %V 19 %N 3 %P 1-5 %D March 1984 %X Presents PROLOG characteristics, including a concise history of its creation and development, as well as discussion of the improved version, PROLOG II illustrated with an example of programming methods and program structures. %K high level languages %T MOD-PROLOG, A Modular, Microcomputer Oriented PROLOG %A Battani, G.; Guzman, J.C.; Marquez, A.; Peyer, M.J. %J SIGPC NOT. (USA) %V 6 %N 2 %P 67-75 %D 1983 %O QA76 S53 %G U. S. Copyright Clearance Center Code: 0 89791 123 7/83/012/0067$00.75 %X Widespread acceptance of PROLOG has in the past been hindered by the following difficulties: one impossibility of using libraries of PROLOG programs, the impracticality of constructing very large programs, and the lack of facilities for the separate compilation of parts of programs in order to speed up systems development. The authors propose a new implementation of PROLOG which is designed to solve the above problems; It has new facilities, based on a new data structure that permits the definition of independent modules communicating through the exchange of PROLOG terms. %K high level languages %T PC-PROLOG for Process Control Applications %S Szuba, T. %J ANGEW. INF. (GERMANY) ISSN: 0013-5704 %V 26 %N 4 %P 164-71 %D April 1984 %G U. S. Copyright Clearance Center Code: 0013-5704/84/40164-08$03.00/0 %X PROLOG is one of the most famous languages in artificial intelligence, but offers rather little possibilities for process control applications. It is possible to build a specially designated interface based on an interrupt method, which makes it possible to compute some problems for PROLOG in other languages. PROLOG then starts its activity with received solutions of its problem. This allows very interesting and promising approaches to many process control applications as well as other areas. %K process computer control; artificial intelligence; high level languages %T A Comparison of PROLOG Systems %A Noelke, U.; Savory, S. %J ANGEW. INF. (GERMANY) ISSN: 0013-5704 %V 26 %N 3 %P 108-12 %D March 1984 %X This paper gives a survey of some commercially available PROLOG systems. Crucial point of this comparison are the built-in-predicates (language facilities) and debugging aids. Finally a set of common predicates (so called Noelke/Savory-PROLOG) is introduced which is the common set arrived at by this comparison. Issues of cost and a recommendation are deliberately omitted in order not to influence the market competition. %K high level languages %T Implementation of Some Classes of Interactive Dialog Systems with the Aid of First-order Predicate Logic (PROLOG) %A Branovitskii, V.I.; Kudryavtseva, S.P. %J AVTOM. AND TELEMEKH. (USSR) ISSN: 0005-2310 %V 44 %N 8 %P 156-62 %D Aug. 1983 %B translated in AUTOM. AND REMOTE CONTROL (USA) Vol. 44 ISSN: 0005-1179 %G U. S. Copyright Clearance Center Code: 0005-1179/83/4408-1096$07.50 %X Use of first-order predicate logic is reported in describing interactive dialog algorithms. The PROLOG language is briefly outlined and examples of PROLOG-based interactive systems are presented. %K high level languages; interactive systems; man-machine systems; artificial intelligence %T Temporal Logic Based Hardware Description and its Verification with PROLOG %A Fujita, M.; Tanaka, H.; Moto-Oka, T. %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 1 %N 2 %P 195-203 %D 1983 %O QA76 N48 %X Techniques of hierarchical specification and verification of hardware with temporal logic and PROLOG are presented by example. Both hardware designs in gates and state-diagrams are translated into a relation between The present and the next state, which is represented in PROLOG. Specifications are constructed by temporal logic that can express state sequences (e.g. timing diagrams) easily and also are translated into a relation between the present and the next state in PROLOG. The verification method is based upon a temporal logic decision procedure and, referring to the relation tables between the present state and the next state, the verifier can reason in both directions-forward and backward in temporal sequences. PROLOG has very powerful pattern matching, and its automatic backtracking capabilities facilitate easy-to-write verifier programs. It is concluded that a total verification system handling various design levels can be constructed with temporal logic and PROLOG. %K logic cad %T Logic Circuit Synthesis using PROLOG %A Uehara, T.; Kawato, N. %J NEW GENERATION COMPUT. (JAPAN) ISSN: 0288-3635 %V 1 %N 2 %P 187-93 %D 1983 %O QA 76 N48 %X This paper briefly reviews the current use of cad in logic design and then describes an expert system used to synthesize logic circuits. Specialized knowledge dealing with standard TTL ICS is written in PROLOG and age, and the results are compared. %K logic cad %T Move over Basic (Micro-PROLOG on ZX Spectrum) %A Denning, A. %J ELECTRON. AND COMPUT. MON. (GB) ISSN: 0264-5513 %V 4 %N 2 %P 39-40 %D Feb. 1984 %X With the introduction of micro-PROLOG, a fifth generation language is now available on the spectrum. The author explains the principles behind logical programming and assesses this new implementation. %K high level languages %T A Description of PROLOG Interpreter and its Parallel Extension %A Nitta, K.; Matsumoto, Y.; Furukawa, K. %J TRANS. INST. ELECTRON. AND COMMUN. ENG. JPN. PART D (JAPAN) ISSN: 0374-468X %V J66D %N 11 %P 1310-17 %D Nov. 1983 %X Presents a model to describe the behavior of a PROLOG interpreter. Since the execution of PROLOG programs can be seen as the top-down depth-first traversal of an and-or tree, the model consists of two types of processes, which correspond to and nodes and or nodes. The control flow of a PROLOG interpreter is easily understood in this model as the interaction of these two types of processes. Moreover, this makes it easy to extend the PROLOG interpreter to a coroutine or a parallel execution model. 'Back-up parallelism' is introduced as one of such extensions. %K program interpreters %T Process specification of logic programs %A R. Ramanujam, R.K. Shyamasundar %I Springer-Verlag. ISBN 3 540 13883 8 %C Berlin, Germany. %P 31-41 %D 1984 %B Foundations of Software Technology and Theoretical Computer Science. Fourth Conference Proceedings %X The authors show that logic program serve as a specification language for distributed processes. This is achieved by defining refutations with a view to using AND-parallelism, and proving them sound and complete with respect to the standard semantics of logic programs given by Van Emden and Kowalski (J. Assoc. Comput. Mach. (USA), vol.23, no.4, p.733-42, Oct. 1976). %K Distributed processing; logic programming; processing %T Japan: a difference of emphasis (artificial intelligence) %A N. Ostler %J Syst. Int. (GB) ISSN: 0309-1171 %V 13 %N 4 %P 69-70 %D April 1985 %X Expert systems development has taken a different direction in Japan to that in Europe and the US. Expert systems have not been cast as a key area for Japan's efforts in the Fifth Generation, despite their dominant place in the USA and Europe. Their lack of a coherent theoretical base, on which to find a development strategy, seems to be the main reason for this. There may also be problems in the lack of a solid and credible market. All the same, there are lessons to be learnt from the moderate activity to be seen going on there. Object-oriented programming and the use of meta-predicates can enhance the modularity and explanation-facility of systems in PROLOG; and the Japanese are beginning to carve out a niche for themselves in design systems. %K Artificial intelligence; expert systems; fifth generation systems; %T Computer recognition and extraction of form features: a CAD/CAM link %A M.R. Henderson, D.C. Anderson %J Comput. Ind. (Netherlands) ISSN: 0166-3615 %V 5 %N 4 %P 329-339 %D Dec. 1984 %X The automatic linking of CAD and CAM involves a computer interpretation of the part database to extract manufacturing-specific semantic knowledge about the part. This knowledge can enable process planning and other CAM operations to proceed automatically without human guidance or intervention. A method has been developed to automatically extract manufacturing information in the form of part features. The procedure consists of searching the part description, recognizing cavity features, extracting those features as solid volumes of material to be removed and arranging them in a feature graph, a high level data structure appropriate for manufacturing process planning. The feature recognition step uses logic programming implemented in PROLOG. Using roles of logic, definitions have been formulated to describe some common features of a part, such as holes and slots. The part is represented as a set of facts in a boundary representation format and these facts are searched to satisfy the feature rules. Multiple feature cavities can be separated into their component feature parts. %K CAD/CAM; computerised pattern recognition; database management system; expert systems; logic programming %T ADL: a designer's language based on logic programming %A I. Nagasakia, Y. Furukawa, S. Arakmaki %C Japan %J Trans. Inf. Process. Soc. Jpn. (Japan) ISSN: 0387-5806 %V 25 %N 4 %P 606-13 %D 1984 %X This paper presents the ADL designer's system description language and describes its basic concept and a design system using ADL. The system is useful for programming design calculation and has advantages in being able to (1) allow the designer to perform design verification and design change conveniently, and (2) represent various design calculations systematically. %K Logic programming; specification languages; systems analysis %T PROLOG: programming in logic? %A C.A. Middelburg %J Informatie (Netherlands) ISSN: 0019-9907 %V 26 %N 11 %P 866-70 %D Nov. 1984 %X Describing logic programming, the article defines Horn clauses and evaluation algorithms. A short example is quoted of a typical module in EQLOG. In an Appendix, a larger programme is listed comprising about five modules. Each includes the module name and the codings enrich, sorts, subsorts (functions, variables and axioms, where applicable) and, finally, endmod. %K Logic programming; PROLOG %T Predicate Logic In CAD. I %A S. Ohsuga %J J. Jpn. Soc. Precis. Eng. (JAPAN) ISSN: 0374-3543 %V 50 %N 6 %P 1011-16 %D June 1984 %X Predicate logic can be recognized as a description language or means from the standpoint of knowledge representation. This paper discusses the application of predicate logic to computer-aided design (CAD), examines the relationship between knowledge engineering and CAD, and reviews knowledge representation in knowledge engineering. %K CAD; Expert systems; Logic programming; Artificial Intelligence %T Parallelism And Nondeterminism In Logic Programs %A J.S. Conery, D.F. Kibler %J New Generation Comput. (JAPAN) ISSN: 0288-3635 %V 3 %N 1 %P 43-70 %D 1985 %X This paper defines an abstract interpreter for logic programs based on a system of asynchronous, independent processors which communicate only by passing messages. Each logic program is automatically partitioned and its pieces distributed to available processors. This approach permits two distinct forms of parallelism. Or - parallelism arises from evaluating nondeterministic choices simultaneously. And parallelism arises when a computation involves independent, but necessary, subcomputations. Algorithms like quicksort, which follow a divide and conquer approach, usually exhibit this form of parallelism. These two forms of parallelism are conjointly achieved by the parallel interpreter. %K parallel processing; program interpreters %T Dialog.I: An Iconic Programming System based on logic programming %A T. Kurita, K. Tamura %J Bull. Electrotech. Lab. (Japan) ISSN: 0366-9092 %V 48 %N 12 %P 966-75 %D 1984 %X Presents an iconic (pictorial) programming language based on logic programming, and its programming environment. In the system, DIALOG.I, the programmer 'draws' a program as a picture which represents a set of horn clauses. The system compiles the picture into string expressions and evaluates them. Pictorial presentation of a program is easy to understand, and the time and space its drawing takes are saved by the nature of high modularity of logic programming languages and the help of several support tools built into the system. %K logic programming; computer graphics; high level languages %T Eliminating unwanted loops in PROLOG %A M.A. Covington %J Sigplan Not. (USA) ISSN: 0363-1340 %V 20 %N 1 %P 20-6 %D Jan. 1985 %X Modifications to PROLOG are proposed that make it possible to express transitive and symmetrical relations and biconditionals. This is done by blocking recursion under circumstances that would lead to infinite loops. %K PROLOG; Logic programming %T An Easy Implementation of Pil (PROLOG in LISP) %A Richard S. Wallace %C USA %J Association For Computing Machinery Special Interest Group on Artificial Intelligence. SIGART NEWSL. (USA) ISSN: 0163-5719 %O BF311 A75A %N 85 %P 29-32 %D July 1983 %X A simple procedure for implementing PROLOG in LISP demonstrates that it is easy to extend LISP to do what PROLOG does. %K LISP, PROLOG %T LISP and PROLOG Machines are Proliferating %A Tom Manuel %J Electronics (USA) ISSN: 0013-5070 %O TK7800 E5 %V 56 pt.3 %N 22 %P 132-7 %D Nov 3, 1983 %X Discusses the commercial status of artificial intellegence, and delves into AI hardware systems now available, as well as reporting on several product-development projects close to fruition around the world. Prominent among the latter are projects under way in Japan, reported in detail. These projects stem both from the fifth-generation computer project and from investigations into artificial intelligence. New us LISP machines have been announced, as Japan investigates PROLOG and LISP. %K Artificial Intelligence; LISP; High level languages; Digital computers %T Parallel Implementations of Logic Programming %A Futo, I. %J INF. ELEKTRON. (HUNGARY) ISSN: 0019-9753 %V 18 %N 6 %P 338-48 %D 1983 %X The paper briefly introduces parallel problem solving and surveys different PROLOG based (horn clause based) systems performing parallel problem solving %K parallel processing; programming %T Logic Programming In PROLOG %A Goodall, A. %J Data Processing (GB) %V 26 %N 2 %P 37-9, 48 %D March, 1984 %X The language PROLOG has been in existence since 1971/1972, but commercial interest has been apparent for only two or three years. this interest has arisen for two reasons. first, from PROLOG's use as a central feature of the Japanese (and other) proposed fifth generation computer systems and second as an ideal language in which to develop expert systems %K high level languages; programming %T Design For Testability Using Logic Programming %A Horstmann, P.W. %Q Dept. of Electrical Engng., Syracuse Univ., Syracuse, NY, USA %I IEEE Comput. Soc. Press, %B International Test Conference Proceedings %P 706-13 %D October, 1983 %C Silver Spring, MD, USA %X Describes current work in the area of automating design for testability by using techniques developed for artificial intelligence applications. The objective is to create a design for testability (DFT) expert system using logic programming. This expert system functions as a testability expert, or a designer's assistant, in that it will check for DFT rule violations and, should these exist, transform the design to remove them. This approach is compared to current algorithmic DFT programs %K logic CAD; logic testing %T Logic Programming Language PROLOG and Its Application To AI %A Furukawa, K.; Tanaka, H.; Mizoguchi, F. %J Syst. and Control (Japan) ISSN: 0374-4507 %V 27 %N 7 %P 455-62 %D July, 1983 %X The logic programming language PROLOG has been chosen as the key language for the Japanese fifth generation computer project. PROLOG is a list processing language and its uses are in natural language processing with context free grammar and phoneme element dictionary and notation and in knowledge engineering. The reasons for its selection over LISP are explained. The use of PROLOG in expert systems is compared with that of other languages. %K high level languages; artificial intelligence; context-free grammars %T Logic Programming-The Base of The Japanese Fifth Generation Project %A Santane-Toth, E.; Szeredi, P. %J INF. Elektron. (Hungary) ISSN: 0019-9753 %V 18 %N 5 %P 284-91 %D 1983 %X The basic ideas of logic programming and their practical implementation-The PROLOG Programming Language-are discussed. The role of PROLOG and logic programming in the Japanese fifth generation computer systems project is described. The choice of a logic programming language as the kernel language of the knowledge processing systems of 1990's is justified: Logic programming is the 'missing link' between the highly parallel VLSI-based computer architectures and the rule based, very high level languages needed for knowledge processors %k high level languages %T Rational Set of Trees and The Algebraic Semantics of Logic Programming %A Marque-Pucheu, G. %J ACTA INF. (Germany) ISSN: 0001-5903 %V 20 %N 3 %P 249-60 %D 1983 %X This paper presents a new semantics for logic programming (algebraic semantics), which defines the computation of a logic program as the solution of a system of tree equations. These equations are solved for a particular class of logic programs and the solutions of these equations are shown to be rational sets of trees. %K programming theory %T Expert Systems and Logic Programming For CAD %A Horstmann, P.W. %Q Dept. of Electrical Engng., Syracuse Univ. %C East Fishkill, NY, USA %J VLSI DES. (USA) ISSN: 0279-2834 %V 4 %N 7 %P 37-40, 43, 46 %D November, 1983 %X Work at Syracuse has been oriented toward using logic programming to solve some basic VLSI design problems, in the areas of design for testability (DFT), functional simulation, fault diagnosis, and automatic test generation. To this end, the author has developed logic programs for the latter three areas, and a rudimentary expert system for DFT. The article describes the elements of the expert system and explains the approach used by the PROLOG programming language, as implemented in the research at Syracuse University (Horstmann, October 1983) %K logic CAD; large scale integration %T The Use of Logic Programming In Information Retrieval Experimentation %A Eastman, C.M. %Q Dept. of Computer Sci. and Engng., Southern Methodist Univ. %J Productivity In The Information Age. Proceedings of The 46th ASIS Annual Meeting 1983 %P 58-9 %D 1983 %C White Plains, NY, USA %I Knowledge Industry Publications ISBN 0 86729 072 2 %X The use of some form of logic both to describe data and to write programs is the foundation of several of the very high level languages (VHLLS) developed in recent years, including PROLOG and LOGLISP. Like other VHLLS, such languages offer potential for dramatic increases in software development productivity. They have been used to develop experimental systems in many different areas, including natural language processing and database management. Despite problems, they show potential for the development of information retrieval systems for experimental work and prototypes, where rapid development and flexibility are very important %K information retrieval; high level languages; LISP %T Logic Programming As A Representation of Knowledge %A Dahl, V. %Q Dept. of Computing Sci., Simon Fraser Univ. %C Burnaby, British Columbia, Canada %I Computer (USA) ISSN: 0018-9162 %O TK 7885 A1 C6 %V 16 %N 10 %P 106-11 %D October, 1983 %X The idea that logic can serve as a programming language was put to practical use around 1972 in the form of PROLOG. The concepts involved are illustrated and explored with respect to two central representational issues: problem-solving knowledge and database knowledge %K high level languages; formal logic; data structures %T A Query-The-User Facility For Logic Programming %A Sergot, M. %Q Dept. of Computing, Imperial Coll. of Sci. and Technol., Univ. of London, %J Integrated Interactive Computing Systems. Proceedings of The European Conference, ECICS 82 %P 27-41 %D 1983 %C North-Holland, Amsterdam, Netherlands %I ISBN 0 444 86595 0 %X With the aim of providing declarative input-output for logic programs, a facility is presented which allows a computer system to extract information from the user in the same way the user extracts information from the system. All man-machine communication is conducted in a single language. Sample dialogues illustrate the potential of this facility in a number of application areas, particularly for education and for the construction of expert systems. The approach is criticized to identify directions for future work %K interactive programming; high level languages %T BUP Translator-Automatic Generator of A Parser From A Grammar (For PROLOG) %A Tanaka, H.; Matsumoto, Y.; Kiyono, M. %Q Electrotech. Lab., Ibaraki, Japan %I Bull. Electrotech. Lab. (Japan) ISSN: 0366-9092 %V 47 %N 8 %P 679-97 %D 1983 %X After BUP is introduced in comparison with DCG, a BUP translator is presented. BUP is a parsing system embedded in PROLOG, which employs a bottom-up parsing mechanism. Although there is a parsing system called DCG in DEC SYSTEM-10 PROLOG, it has some drawbacks compared with BUP because of its top-down parsing behaviour. BUP comprises PROLOG clauses (BUP clauses), which basically correspond to context-free grammar rules on a one-to-one basis, and some other clauses. The BUP translator translates a set of context-free grammar rules written in a DCG format into a set of BUP clauses together with additional clauses. The output of BUP translator is PROLOG programs ready to run on both the PROLOG interpreter and the compiler as a bottom-up parsing system. It is usable as a natural language analyzing system %K context-free grammars; program interpreters %T FORTH, APL, LISP, MODULA-2, SMALLTALK, PROLOG: Computer Languages of The Future %A Amsterdam, J. %J Pop. Comput. (USA) ISSN: 0194-8075 %V 2 %N 11 %P 136-51 %D September, 1983 %X Literally thousands of uncommon computer language exist today, but the author considers six of the most significant ones: FORTH, APL, LISP, MODULA-2, SMALLTALK, AND PROLOG. He explains why the usage of these six is likely to increase in the future %K high level languages %T INFORMATION SYSTEM SEMANTICS ( A Logic-based Approach ) %A R.M. Lee %J J. MANAGE. INF. SYST. ( USA ) ISSN: 0742-1222 %V 1 %N 2 %P 18 - 44 %D Fall 1984 %X Efficiency considerations aside, an information system may be regarded as a set of logical axioms about the organization and its environment. To what extent are these axioms shared between application? Between organizations? Within an industry? A knowledge engineering approach to systems analysis is suggested whereby ( prototype ) systems are built by adding refinements to a set of background axioms representing knowledge about business, administrative functions, etc. New applications may thus build on the knowledge from previous applications, rather than starting from scratch. The emerging technology of logic programming provides a suitable implementation language for this approach. However, logic programming by itself is not enough; extendibility and probability of axioms require a consistent semantic basis across applications. Semantic issues are discussed, and a specific ontology is proposed. %K management information systems; logic programming; knowledge engineering; expert systems; systems analysis %T AN INTRODUCTION TO DEDUCTIVE DATABASE SYSTEMS %A J. W. Lloyd %J AUST. COMPUT. J. ( AUSTRALIA ) ISSN: 0004-8917 %V 15 %N 2 %P 52 - 7 %D May 1983 %X This paper gives a tutorial introduction to deduction database systems. Such systems have developed largely from the combined application of the ideas of logic programming and relational databases. The elegant theoretical framework for deductive database systems is provided by first-order logic. Logic is used as a uniform language for data, programs, queries, views and integrity constraints. It is stressed that it is possible to build practical and efficient database systems using these ideas. %K logic programming; relational databases; expert systems %T EQUALITY, TYPES, MODULES, AND (WHY NOT?) GENERICS FOR LOGIC PROGRAMMING %A J. A. Goguen, J. Meseguer %J J. LOGIC PROGRAM. ( USA ) ISSN: 0743-1066 %V 1 %N 2 %P 179-210 %D Aug. 1984 %G 0743-1066/84/$03.00 %X The original vision of logic programming called for using predicate logic as a programming language. PROLOG only partially realizes this vision, since it has many features with no corresponding feature in FIRST-ORDER predicate logic, and also fails to realize some features of predicate logic. Perhaps the main benefit of the system suggested, called EQLOG, is the way it combines the technology of PROLOG with functional programming to yield more than just their sum: logical variables can be included in equations, giving the ability to find general solutions to equations over user defined abstract data types ( ADTS ). In addition, GENERIC (i. e. parameterized) modules become available with a rigorous logical foundation; EQLOG also has a SUBSORT facility that greatly increases its expressive power. %K logic programming; PROLOG; high level languages; data structures %T ORIENTED EQUATIONAL CLAUSES AS A PROGRAMMING LANGUAGE %A L. Fribourg %J J. LOGIC PROGRAM. (USA) ISSN: 0743-1066 %V 1 %N 2 %P 165-77 %D Aug. 1984 %G 0743-1066/84/$03.00 %X In the PROLOG language, Horn clauses of first-order logic are regarded as programs, and the resolution procedure is used as an interpreter. The author presents the formalism of Horn oriented equational clauses (Horn clauses with a rewrite rule as the head part, and a list of equations as the body part). He shows that such a formalism can be interpreted as a logic language with built-in equality, and that a procedure based on clausal superposition can be used as an interpreter. He defines the operational, model-theoretic and fixpoint semantics of the language, and proves their equivalence. Then he points out the advantages of such a programming language: embodying PROLOG, mixing functional and relational features and, handling the equality relation. Lastly, he presents experiments performed with an implemented interpreter. %K program interpreters; PROLOG; logic programming; formal logic %T A LOGICAL RECONSTRUCTION OF PROLOG II %A M. H. Van Emden; J. W. Lloyd %J J. LOGIC PROGRAM. ( USA ) ISSN: 0743-1066 %V 1 %N 2 %P 143 - 9 %D Aug. 1984 %G 0743-1066/84/$03.00 %X Colmerauer ( 1982 ) proposed a theoretical model for PROLOG II based on tree rewriting rather than logic. The authers show that PROLOG II can be regarded as a logic programming language. %K PROLOG; logic programming %T PREDICATE LOGIC AS A PROGRAMMING LANGUAGE IN ORDER TO REPRESENT ARTIFICIAL KNOWLEDGE OR PROBLEM SOLVING %A V. Dahl %J SIST. AND AUTOM. ( ITALY ) ISSN: 0037-5896 %V 30 %N 252 %P 933 - 8 %D Oct. 1984 %X The idea that logic can be used as a tool started in 1972 with the introduction of PROLOG. Representation of knowledge or facts starts with stating the facts and laying down rules. Once the set of rules and facts are established one can then make queries or verify statements. Any additional information is recorded and re-memorized and taken into account when the queries are made. An example of problem solving is that of transporting a farmer, wolf, goat and cabbage from one side of a river to the other. The boat can only take one passenger at a time and the wolf cannot be left with the goat, or the cabbage with the goat. A set of rules will solve this problem by utilizing PROLOG. Databases are particularly attractive areas for the application of logic programmes. %K logic programming; artificial intelligence %T PROLOG TO THE FIFTH GENERATION %A P. Walton %J INFOMATICS ( GB ) ISSN: 0260-7247 %V 5 %N 12 %P 53 - 5 %D Dec. 1984 %X There is great economic pressure on computer manufacturers to take up the FIFTH GENERATION challenge. The groundwork which may lead to this has its roots in a fundamental change in the way language compilers are written. A number of approaches are being taken around the world, but the one which has been greeted with most optimism is the work being done on the PROLOG language by Robert Kowalski and his term at Imperial College, London. Kowalski is a long-standing advocate of the use of logic as a language in computing, who reckons that PROLOG synthesises current trends in otherwise disparate fields of computing. This work on PROLOG is discussed. %K PROLOG; fifth generation systems; logic programming; artificial intelligence %T PROLOG, Theoretical Bases And Current Developments %A A. Colmerauer; H. Kanoui; M. Van Caneghem %J TECH. AND SCI. INF. ( FRANCE ) ISSN: 0752-4072 %V 2 %N 4 %P 271 - 311 %D July - Aug. 1983 %X Gives a general description of the language. The many examples should give a good idea of the programming style to which PROLOG leads, and of the nature of its possible applications. The authers then describe the theoretical foundations they believe necessary for a deeper understanding of the PROLOG universe. The fundamental concept is that of a tree (or more precisely, of a 'RATIONAL' tree). They reveal very clearly the fundamental reasoning on which the designers of the language based their work. Detailed appendices are given: predefined rules, languages syntax, demonstrations, etc. %K high level languages %T PROLOG COMES INTO ITS OWN (Comparsion With LISP) %A J. Samson %J COMPUTING ( GB ) ISSN: 0144-3097 %P 24 %D 22 Sept., 1983 %X LISP is, at the moment, the most widely used language for artificial intelligence. PROLOG, however, is now making its presence felt and both are also available for personal computers. This article briefly compares the two and assesses their suitability for personal computing applications. %K high level languages; personal computing; LISP %T Verification of state-transition based hardware description with PROLOG %A M, Fujita %A H, Tanaka %A T, Molo-Oka %C Japan %J Trans. Inf. Process. Soc. Jpn. %V 25, %N 4 %P 647-54 %D 1984 %I Coden: JSGRD5 ISSN: 0387-5806 %X A design/verification support system is required for system design ranging from hardware specification description to gate description. This paper proposes an organization method for a PROLOG-programmed logic-design system for supporting hierarchical design, reports its application to gate-circuit verification, and provides a method of translation from digital design language to PROLOG %K logic CAD; specification languages %T The silicon converter: a case study in uses for PROLOG %A D,D Hill %Q Bell Labs., Murray Hill, NJ, IEEE; IFIP %B Proceedings of the IEEE International Conference on Computer Design: VLSI in Computers ICCD '84 (Cat. No. 84CH2080-0) %P 403-4 %D 8-11 Oct. 1984 %I IEEE Comput. Soc. Press, Silver Spring, MD, USA %X The use of the silicon converter, a CAD program which assists in the development of CMOS VLSI designs, is discussed. It accepts logic equations and connectivity information and produces layout. PROLOG was chosen as the implementation language primarily to learn whether or not it would be useful on jobs such as this, and in particular to learn which aspects of PROLOG matched particular parts of a real CAD problem, how much the problem has to be recast to fit PROLOG, and whether the language would stimulate the invention of new algorithms %K circuit layout CAD; logic CAD; PROLOG %T Interfacing PROLOG and relational database management systems %A G, Marque-Pucheu %A J, Martin-Gallausiaux %A G,Jomier %C Ecole Normale Superieure, Paris, France %E Gardarin, G.; Gelenbe, E. %B New Applications of Data Bases. Based on Proceedings of a Workshop %P 225-44 %D 2-3 Sept. 1983 %I Academic Press, London, England xii+273 pp. ISBN 0 12 275550 2 %X The authors propose a high-level interface where queries are not given individually but rather as a tree of recursively defined queries. The interface primitive, which generalise the transitive closure, can then be optimised globally by the DBMS %K PROLOG; relational databases %T AI: breeding the language of tomorrow (technology report) %A M, Schindler %J Electron. Des. (USA) %V 33 %N 7 %P 94-122 %D 21 March 1985 %I ELODAW ISSN: 0013-4872 %X The first section explores the basic AI languages such as LISP, PROLOG and SMALLTALK. These serve as intermediate languages for specific expert-system languages. Expert system languages range from general purpose ones like OPS5 to specialized ones like V, for software design. Some of these are explored in the second section. The languages seek to combine simplicity and efficiency %K artificial intelligence; expert systems; high level languages; LISP; PROLOG %T Introduction to PROLOG. I. The commands %A D,A, Schlobohm. %J Robotics Age (USA) %V 6 %N 11 %P 13-19 %D Nov. 1984 %O TJ 211 R63 %I ISSN: 0197-1905 %X PROLOG is gaining popularity throughout the world as an alternative to LISP for symbolic computation and artificial intelligence programming. Since its development around 1970, PROLOG has been used to write programs in such areas as natural language understanding, expert systems, and symbolic mathematics. The language is a first step toward a goal of programming directly using logical constructions. A PROLOG programmer describes known facts about a given problem and the rules between these facts. Then, using a database of such facts and rules, the programmer can ask questions about the facts and rules. Moreover, PROLOG can infer facts that are not expressly in the database from the rules and facts which are present. In the paper the author gives the commands used in PROLOG %K PROLOG %T LFG system in Prolog %A H, Yasukawa %J Inst. for New Generation Computer Technol., Tokyo, Japan %B 10th International Conference on Computational Linguistics. 22nd Annual Meeting of the Association for Computational Linguistics. Proceedings of Coling 84 %P 358-6 %D 2-6 July 1984 %C Stanford, CA, USA %I Publ: Assoc. Comput. Linguistics, Morristown, NJ, USA xv+561 pp. %X In order to design and maintain a large scale grammar, the formal system for representing syntactic knowledge should be provided. Lexical Functional Grammar (LFG) is a powerful formalism for that purpose. In this paper, the Prolog implementation of LFG system is described. Prolog provides a good tool for the implementation of LFG. LFG can be translated into DCG and functional structures (f-structures) are generated during the parsing process %K grammars; natural languages; program compilers; PROLOG; %T ALTERNATIVES (PROLOG PROGRAMMING LANGUAGE) %A E, STENSON %J ELECTRON. AND MUSIC MAKER %C (GB) %V 4 %N 11 %P 98-9 %D JAN. 1985 %X Presents and discusses a version of the PROLOG programming language that could be extremely useful to the computer musician. %K electronic music; PROLOG %T Otl.PLG - A knowledge-oriented game program based on kpv-method %A M, Tajima %J Bull. Electrotech lab. %C Japan %V 48 %N 12 %P 951-65 %D 1984 %I DESIA7 ISSN: 0366 - 9092 %X A knowledge-oriented othello game program OTL.PLG is presented. A knowledge oriented approach is adopted, in which searches are made only if necessary. A basic concept, 'knowledge on variation' is introduced, and a method called kpv-method is developed to evaluate a candidate move by estimating variation caused by the move. The variation includes changes of values of possible moves. Knowledge to control the search is also provided. These kinds of knowledge are described in prolog. Very efficient evaluation of a move is possible by this method. The program otl. PLG proves to have high-level strength despite few searches. Contents of computation are analyzed, characteristics of otl. PLG's play are observed, and the method is compared with mini-max search. Consequently advantages of this knowledge oriented approach have been made clear %K computer games; prolog %T Verification of concurrent systems with temporal logics in Prolog %A P,G, Bosco %A G, Giandonato %A E, Giovanetti %J CSELT tech. rep. %C Italy %V 12 %N 6 %P 557-63 %D Dec. 1984 %O QA 76 N48 %X A system, implemented in prolog, for the verification of dynamic properties of concurrent processes is presented. Descriptions of concurrent processes with asynchronous communication can be checked against dynamic behaviour specifications expressed by temporal logic formulas, under the hypothesis that the whole concurrent system can be modeled by a nondeterministic finite automaton. The authors show the prolog implementation for the basic components of the verifier; the model checkers for the chosen temporal logics, the symbolic simplifier, the dynamic semantics of the description language %K PROLOG; program verification; nondeterministic systems; finite automata %T Design and simulation of a sequential PROLOG machine %A W.F. Clocksin %J New Generation Comput. %C Japan %V 3 %N 1 %P 101-20 %D 1985 %X PROLOG-X is an implemented portable interactive sequential prolog system in which clauses are incrementally compiled for a virtual machine called the ZIP machine. At present, the ZIP machine is emulated by software, but it has been designed to permit easy implementation in microcode or hardware. PROLOG-X running on the software-based emulator provides performance comparable with existing prolog interpreters. To demonstrate its efficiency, compatibility, and comprehensiveness of implementation, PROLOG-X has been used to compile and run several large applications programs. Several novel techniques are used in the implementation, particularly in the areas of the representation of the recordx database, the selection of clauses, and the compilation of arithmetic expressions. %K program compilers; PROLOG; program interpreters; virtual machines %T Efficient PROLOG memory management for flexible control strategies %A D.S Warren %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 198-202 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0198$01.00 %X A memory management technique for representing and manipulating terms in a PROLOG system is described that allows for control strategies other than just depth-first. The algorithm itself is not very complex, being a generalization of the standard algorithm. It is interesting because it is essentially as efficient as the standard algorithms for those parts of the search that are depth-first. This makes it particularly applicable to control strategies in which the search is locally depth-first, yet globally not. Techniques for handling deterministic nodes, separating the memory allocation of global and local variables, and handling tail recursion can all be generalized to apply with this algorithm. %K Storage management and garbage collection %T Transformation of logic programs into functional programs %A U.S. Reddy %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 187-196 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0187$01.00 %X A framework for transforming logic programs into functional programs, based on the concept of a model, is presented. A mode of a predicate designates some of its parameters to be input and the others to be output. Each mode of a logic predicate can then be transformed into a functional program. This is not possible, however, for a class of modes called indefinite modes, those modes in which a resolution interpreter yields answers with free variables. A formal basis for mode assignment to horn clause programs is given, and techniques for inferring which modes are definite and which are determinate are presented. Using these techniques, an inference-transformation can be built which, given the desired modes of the top-level predicate(s), infers the required modes of the other predicates and generates functional programs for all the required modes. %K programming theory; programming; software engineering %T Object-oriented programming in PROLOG %A C. Zanilo %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 265-709 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0265$01.00 %X A simple approach is proposed for providing this programming paradigm in prolog. Primitives are introduced to support the notions of (1) an object with its associated set of methods, (2) an inheritance network whereby an object inherits the methods of its ancestors, and (3) message passing between objects. Objects and methods are specified by a declaration object with method-list; here, object is a PROLOG predicate, each method in method list is an arbitrary PROLOG clause, and 'with' is a new infix operator that takes as left operand an object and as right operand a list of methods. Then, a message o:m can be specified as a goal, to request the application of method to object o. The inheritance network, specified by the operator so that the sub-object is the object, is most useful in handling default information. Thus it is possible to specify a method that holds by default for a general class, and then specify special subcases for which the general rule is overridden. This new functionality is added on top of existing PROLOG systems, with no modification to its interpreter or compiler. %K Programming %T Dataflow, Flowcharts and Lucid-style programming in logic %A D.R. Brough , M.H. Van Emden %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 252-258 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0252$01.00 %X Examples are given showing how to mimic lucid programs as a means of achieving optimal efficiency for prolog programs on machine architectures oriented toward assignment and iteration. The execution of such programs in PROLOG is also considered. A connection between Dataflow diagrams and Flowcharts is presented based on the similarity between lucid programs and dataflow diagrams. %K Programming; Software engineering %T Indexing PROLOG clauses via superimposed code words and field encoded words %A M.J. Wise , D.M.W. Powers %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 203-210 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0203$01.00 %X A major difficulty in PROLOG is the large amount of time required to find a matching clause-head for a given query literal, or to find that none exists. A large portion of this is due to the fact that nonmatches are distinguished from matches solely using unification. In order to speed the process, a scheme is proposed for indexing clauses based on a search of a subsidiary codeword file, in which each codeword contains both a digest of the terms in the clause-head and a pointer back to the original clause. Various experiments have been constructed comparing the execution time required to obtain all possible matches when the search is done primarily on the codeword file. These are described and the results discussed, together with possibilities for extensions. Furthermore, it is shown that the use of codeword tests is more efficient even if only a small number of unifications are avoided. %K Programming; High level languages %T On implementing PROLOG in functional programming %A M. Carlsson %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 154-159 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0154$01.00 %X Techniques for implementing the programming language PROLOG are surveyed. The focus is on explaining the procedural semantics of the language in terms of functional programming constructs. The techniques 'success continuations' and 'proof streams' are introduced, and it is shown how horn clause interpreters can be built on them. Continuations are well known from denotational semantics theory and it is shown that they are viable constructs in actual programs. %K High level languages; Programming; Software engineering %T Conceptual basis and evaluation strategies for integrating functional and logic programming %A P.A. Subrahmanyam , J.H. You %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 144-153 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0144$01.00 %X A conceptual basis for integrating functional programming and logic programming is described, along with sequential and parallel evaluation strategies. A lazy reduction mechanism, pattern-driven reduction, for the underlying functional model is developed which cleanly and naturally achieves reduction-by-need. The notion of semantic unification is discussed and its implementation sketched. Semantic unification serves as a basis for achieving the desired integration of functions and logic and is used to replace the conventional unification procedure in logic programming systems. The resulting model supports computations with infinite data structures while avoiding the introduction of complicated control issues at the user-level. In addition, it provides the programmer the flexibility of choosing between a backtracking free computational framework and a conventional logic computation framework. %K Programming; Software engineering; Data structures; Programming theory %T A methodology for implementation of a knowledge acquisition system %A H. Kitakami , S. Kunifuji , T. Miyachi , K. Furukawa %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 131-142 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0131$01.00 %X The authors describe an investigation conducted on a knowledge acquisition system for a knowledge base system and discuss a conceptual configuration and implementation method for some of the mechanisms in this system. These include a meta inference mechanism, an induction mechanism, a knowledge assimilation mechanism, and a knowledge accommodation mechanism. In discussing the implementation method for the induction mechanism, the authors attempt to explain the speeding-up strategy, a strategy designed mainly to prevent recomputation by retaining refuted hypotheses. Finally, certain execution traces of this system are presented. %K Programming; Software engineering %T Implementing parallel algorithms in concurrent PROLOG: The maxflow experience %A L. Hellerstein , E. Shapiro %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 99-115 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0099$01.00 %X The experience of implementing V. Shiloach and U. Vishkin's parallel maxflow algorithm (1982) in concurrent PROLOG is reported. The major difficulties in this endeavor were understanding the algorithm, which is intricate, and adapting it to the computational model of concurrent PROLOG. A concurrent PROLOG program that implements the algorithm and achieves the expected complexity bounds was obtained. The lack of destructive assignment in the logic programs computation model prevents PROLOG from being an efficient implementation language for many sequential algorithms. However, it is shown here that in concurrent algorithms, message passing is a powerful substitute for destructive assignment. It is therefore possible to write efficient concurrent PROLOG implementations of concurrent algorithms. %K Programming; Software engineering; High level languages; Parallel processing %T Fair, biased, and self-balancing Merge operators: Their specification and implementation in concurrent PROLOG %A E. Shapiro , C. Mierowsky %D 1984 %C NEW YORK %I IEEE, ISBN: 0 8186 0522 7 %B 1984 International symposium on logic programming %P 83-90 %G U. S. Copyright Clearance Center Code: CH2007-3/84/0000-0083$01.00 %X The problem of allowing a dynamically changing set of processes fair access to a shared resource is considered in the context of communication-stream based systems. It is argued that fairly binary merge operators alone cannot solve this problem satisfactorily. Two solutions are proposed: One uses binary merge operators with a programmable bias; The other uses binary and ternary fair merge operators capable of self-balancing, using the concept of 2-3 trees. A concurrent PROLOG implementation of these operators is described. The implementation of the self-balancing Merge operators illustrates the expressive power of incomplete messages, a programming technique that supports messages that contain communication channels as arguments. %K Programming; Software engineering; High level languages; Parallel processing %T The Implementation of UNSW-PROLOG %A C.A Sammut, R.A Sammut %J AUST. COMPUT. J. (AUSTRALIA) ISSN: 0004-8917 %V 15 %N 2 %P 58-64 %D MAY 1983 %X Early PROLOG interpreters were based on techniques derived from the field of automatic theorem proving. These systems developed ways of implementing some of the more important features of the language, i.e. pattern directed invocation of procedures and automatic backtracking. Since the first PROLOG system, a considerable amount of research has been devoted to creating more efficient interpreters and compilers. This paper discusses some of the more important aspects in the implementation of the PROLOG interpreter, written and now used at the university of new south wales. %K program interpreters; PROLOG %T An Introduction to PROLOG %A R. Bharath, A. Deb %J Proceedings of the 16th Annual Meeting of the American Institute for Decision Sciences %P 152-4 %D 1984 %I American Inst. Decision Sci. %C ATLANTA, GA, USA %X Presents a brief introduction to the fundamental principles on which PROLOG is based, with some illustrations of what a PROlOG program looks like and how it operates. %K PROLOG %T PROLOG on Microcomputers %A D. Pountain %J BYTE (USA) ISSN:0360-5280 %V 9 %N 13 %P 355-62 %D DEC. 1984 %O QA 76 .5 B98 %X Discusses micro-PROLOG, a dialect of PROLOG originally written for the z80 microprocessor, which was the first microcomputer implementation of the language. The micro-PROLOG language is an interpreted language. A program consists of a database of facts and rules that you can query to solve problems. Logical propositions replace computer-oriented instructions. Micro-PROLOG has floating point arithmetic. %K PROLOG %T PROLOG: A Tutorial Introduction %A R.A Sammut, C.A Sammut %J AUST. COMPUT. J. (AUSTRALIA) ISSN: 0004-8917 %V 15 %N 2 %P 42-51 %D MAY 1983 %X PROLOG is a programming language based on predicate logic. Since its first implementation approximately ten years ago, it has found applications in a variety of 'symbol processing' areas such as natural language processing, deductive information retrieval, compiler writing, symbolic algebra, computer-aided design and robot problem-solving. This paper introduces the fundamental concepts which are unique to programming in PROLOG by developing and analyzing a series of small programs for deductive information retrieval, the solution of the 'n-queens' problem and a simple exercise in computer-aided design. %K PROLOG %T Rapid Software Development In A Database Framework-A Case Study %A H.J. Komorowski %B International Conference On Data Engineering %P 394-8 %D 1984 %I Ieee Comput. Soc. Press ISBN 0 8186 0533 2 %C Silver Spring, Md, USA %X An example of a software system prototyped in PROLOG indicates that its usefulness can go beyond the existing software engineering environments. Unlike other programming languages, PROLOG naturally expresses database notions (e.g. nondeterministic search and query processing) and can store recursive structures and express recursive queries. However, the existing PROLOG systems are not database management systems. It is concluded that once PROLOG is extended toward services such as transaction control, error recovery, and integrity constraint, it will further enhance software production. %K database management systems; PROLOG; programming environments; software engineering %T Development Tool for Artificial Intelligence in Vision %A D. Mott %J SENSOR REV. (GB) ISSN: 0260-2288 %V 5 %N 1 %P 29-32 %D JAN. 1985 %X The Viking Autoview Xa is an extended vision processing system incorporating an interface to the linear array processor, which allows faster image processing, and a PROLOG interpreter. The existing Viking image processing language operates directly on images, identifying edges, regions, cracks and so on, and is able to work on numerical data concerning the image like the area of a blob, number of holes, pitch of a screw, or the degree of correlation between images. Added to this is the PROLOG interpreter which operates on symbolic facts. These might concern the image itself-whether or not an object is present, or information about parts of the picture which can be described as entities. It can deal with attributes of objects, and their relationships. It can also work with externally supplied information about the objects seen in an image and their relationships, so that one could supply information about a 3d shape seen by the image system. %K computer vision; computerised picture processing; artificial intelligence; PROLOG; parallel processing; heuristic programming %T PROLOG, Language of Artificial Intelligence %A A. Colmerauer %J RECHERCHE (FRANCE) ISSN: 0029-5671 %V 15 %N 158 %P 1104-14 %D SEPT. 1984 %X The drawbacks of conventional imperative programming, giving step-by-step instructions for machine processing of data, are outlined in favour of its abandonment for declarative programming whereby knowledge is represented in a suitable formalism from which the user's questions can be answered. The representation of knowledge in the form of labelled trees is explained, and the logical basis of the origin of the PROLOG language is pointed out. simulation of a PROLOG machine (object of the Japanese 'FIFTH-GENERATION' computer development effort) is presented by way of explanation of the execution of a program, showing how the application of each rule (logical inference) imposes constraints on the values of the variables in exploration of a tree-shaped search space. %K PROLOG; artificial intelligence %T PROLOG %A C.J. Hinde %J INF. TECHNOL. TRAIN. (GB) ISSN: 0263-6735 %V 2 %N 3 %P 101-4 %D AUG. 1984 %X Features and capabilities of the PROLOG language are explained with reference to lists, control-free problems and differentiation and integration. comparison with pascal is supported by an example of the quicksort process. %k PROLOG; sorting %T Mases-a PROLOG Expert System %A P. Duffin, S.F. Lello %J INF. AGE (GB) ISSN:0261-4103 %V 6 %N 4 %P 210-19 %D OCT. 1984 %X The development of an expert system using the PROLOG language, by the central computer and telecommunications agency (CCTA) future concepts branch, is described. The system, microcomputer advice and selection expert system (MASES), was intended to provide advice on the selection of microcomputers from the ccta's standard range. however, unforeseen limitations of the microcomputer environment in which MASES was developed prevented achievement of the initial aim of a live, usable system, but a small system, capable of exhibiting some typical features of expert systems, was devised for use in demonstrations. The construction demonstrates how additions to, or deletions from, the knowledge base can be made without consequent amendment to the set of operating rules. The working model is limited to three microcomputers (Rainbow, Torch and Videcom) and contains 29 rules and 65 facts about printers, interfaces, software and protocols on four linked knowledge bases. it enables users' requirements to be matched against the facilities available on the three microcomputers. %K expert systems; computer selection; microcomputer applications %T Trends Abroad In Development Of Fifth Generation Computing Systems %A G.YA Glazov %J PRIB. AND SIST. UPR. (USSR) ISSN:0032-8154 %V 1 %N 9 %P 15-16 %D 1984 %B translated in SOV. J. INSTRUM. AND CONTROL (GB) %X A short evaluation of technical publications in the usa, japan and the uk on the present status and the future development of 5th generation computers is presented. The following aspects are particularly stressed: the long duration of projects, the development of new VLSi devices and the likelihood of general use of the PROLOG and ADA languages. %K research initiatives; fifth generation systems; VLSI; PROLOG ; ADA