OBJVPROLOG-D - DISTRIBUTED OBJECT-ORIENTED PROGRAMMING IN LOGIC

Citation
J. Malenfant et al., OBJVPROLOG-D - DISTRIBUTED OBJECT-ORIENTED PROGRAMMING IN LOGIC, Object oriented systems, 3(2), 1996, pp. 61-86
Citations number
43
Journal title
ISSN journal
09699767
Volume
3
Issue
2
Year of publication
1996
Pages
61 - 86
Database
ISI
SICI code
0969-9767(1996)3:2<61:O-DOPI>2.0.ZU;2-1
Abstract
ObjVProlog-D is an experimental programming language which proposes ne w ways to integrate object-oriented and distributed programming concep ts with Prolog to obtain the benefits of logic programming while overc oming its traditional limitations in areas such as high-level abstract ion, structuring, modification of knowledge during execution and distr ibuted computing. The basic entity in ObjVProlog-D is the concurrent l ogic object which combines a Horn clauses database with a process. The design of the language involves three main themes: the object-oriente d model, the state change model and the distributed computing model. T he object-oriented model includes not only classes and objects but als o metaclasses as first-class entities; this allows metaprogramming as well as reflexive definition of the language. To model state changes, a concurrent logic object relies on dynamic clauses that can be added or deleted during the computation using a version mechanism. Finally, the distributed computing model implements large-grain AND-parallelism whereby concurrent objects delegate sub-problems to other objects (re mote logic queries) which can work on them in parallel. To ensure synt actic and semantic compatibility with the usual Prolog predicate calls , synchronization of remote queries is based on the concept of a futur e logic variable. In contrast to most concurrent logic object proposal s, ObjVProlog-D preserves Prolog's don't know non-determinism, the abi lity to backtrack to find all possible solutions to a query. This is a chieved through a distributed backtracking protocol using asynchronous messages. Thus, ObjVProlog-D offers an original set of design choices , allowing programmers to structure a complex application as a distrib uted set of cooperating Prolog experts. ObjVProlog-D is implemented in Quintus Prolog and applications have been run on a network of worksta tions.