ObjVProlog-D: Distributed object-oriented programming in logic

被引:0
|
作者
Malenfant, J
Lapalme, G
Vaucher, J
机构
来源
OBJECT ORIENTED SYSTEMS | 1996年 / 3卷 / 02期
关键词
concurrent logic objects; client-server model; remote logic method calls; distributed backtracking; future logic variables;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
ObjVProlog-D is an experimental programming language which proposes new ways to integrate object-oriented and distributed programming concepts with Prolog to obtain the benefits of logic programming while overcoming its traditional limitations in areas such as high-level abstraction, structuring, modification of knowledge during execution and distributed computing. The basic entity in ObjVProlog-D is the concurrent logic object which combines a Horn clauses database with a process. The design of the language involves three main themes: the object-oriented model, the state change model and the distributed computing model. The object-oriented model includes not only classes and objects but also 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 (remote logic queries) which can work on them in parallel. To ensure syntactic and semantic compatibility with the usual Prolog predicate calls, synchronization of remote queries is based on the concept of a future logic variable. In contrast to most concurrent logic object proposals, ObjVProlog-D preserves Prolog's don't know non-determinism, the ability to backtrack to find all possible solutions to a query. This is achieved 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 distributed set of cooperating Prolog experts. ObjVProlog-D is implemented in Quintus Prolog and applications have been run on a network of workstations.
引用
收藏
页码:61 / 86
页数:26
相关论文
共 50 条
  • [1] AN INTEGRATION OF LOGIC AND OBJECT-ORIENTED PROGRAMMING
    MELLENDER, F
    SIGPLAN NOTICES, 1988, 23 (10): : 181 - 185
  • [2] Separation logic for object-oriented programming
    Parkinson, M. (mattpark@microsoft.com), 1600, Springer Verlag (7850):
  • [3] Logic Java: Combining object-oriented and logic programming
    Department of Information Systems, University of Münster, Münster, Germany
    Lect. Notes Comput. Sci., (122-137):
  • [4] Fuzzy classes in object-oriented logic programming
    Baldwin, JF
    Martin, TP
    FUZZ-IEEE '96 - PROCEEDINGS OF THE FIFTH IEEE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS, VOLS 1-3, 1996, : 1358 - 1364
  • [5] COMPLEX - AN OBJECT-ORIENTED LOGIC PROGRAMMING SYSTEM
    GRECO, S
    LEONE, N
    RULLO, P
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 1992, 4 (04) : 344 - 359
  • [6] STRATEGY FOR INTEGRATING OBJECT-ORIENTED AND LOGIC PROGRAMMING
    BOSE, R
    KNOWLEDGE-BASED SYSTEMS, 1994, 7 (02) : 66 - 74
  • [7] A proof outline logic for object-oriented programming
    Pierik, C
    de Boer, FS
    THEORETICAL COMPUTER SCIENCE, 2005, 343 (03) : 413 - 442
  • [8] Pluto: An object-oriented logic programming language
    Liu, MC
    TOOLS 39: TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS: SOFTWARE TECHNOLOGY FOR THE AGE OF THE INTERNET, 2001, 39 : 153 - 162
  • [9] Distributed Object-Oriented Programming with RFID Technology
    Carreton, Andoni Lombide
    Pinte, Kevin
    De Meuter, Wolfgang
    DISTRIBUTED APPLICATIONS AND INTEROPERABLE SYSTEMS, PROCEEDINGS, 2010, 6115 : 56 - 69
  • [10] Logic Java']Java: Combining Object-Oriented and Logic Programming
    Majchrzak, Tim A.
    Kuchen, Herbert
    FUNCTIONAL AND CONSTRAINT LOGIC PROGRAMMING, 2011, 6816 : 122 - 137