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