Free Objects in Constraint-logic Object-oriented Programming

被引:2
|
作者
Dagefoerde, Jan C. [1 ]
Winkelmann, Hendrik [1 ]
Kuchen, Herbert [1 ]
机构
[1] Univ Munster, ERCIS, Munster, Germany
来源
PROCEEDINGS OF THE 23RD INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PPDP 2021 | 2021年
关键词
Constraint-logic object-oriented programming; reference-type logic variables; programming language implementation; runtime systems;
D O I
10.1145/3479394.3479409
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Constraint-logic object-oriented programming facilitates the integrated development of business software that occasionally solves constraint-logic problems or makes other use of structured search. So far, work in constraint-logic object-oriented programming has been limited to considering constraints that only involve logic variables of primitive types; in particular, boolean, integer, and floating-point numbers. However, the availability of object-oriented features calls for the option to use logic variables in lieu of objects as well. Therefore, support for reference-type logic variables (or free objects) is required. With the work at hand, we add support for free objects to a Java-based constraint-logic object-oriented language, Muli. Allowing free objects in statements and expressions results in novel interactions with objects at run time, for instance, non-deterministic execution of polymorphic method invocations (taking arbitrary class hierarchies into account) and non-deterministic type operations. At run time, this is supported by a dynamic type constraint that restricts the possible types of a free object at non-deterministic choices.
引用
收藏
页数:13
相关论文
共 50 条
  • [21] 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):
  • [22] An Operational Semantics for Constraint-Logic Imperative Programming
    Dagefoerde, Jan C.
    Kuchen, Herbert
    DECLARATIVE PROGRAMMING AND KNOWLEDGE MANAGEMENT, DECLARE 2017, 2018, 10997 : 64 - 80
  • [23] Channels as Objects in Concurrent Object-Oriented Programming
    Campos, Joana
    Vasconcelos, Vasco T.
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2011, (69): : 12 - 28
  • [24] 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
  • [25] 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
  • [26] STRATEGY FOR INTEGRATING OBJECT-ORIENTED AND LOGIC PROGRAMMING
    BOSE, R
    KNOWLEDGE-BASED SYSTEMS, 1994, 7 (02) : 66 - 74
  • [27] A proof outline logic for object-oriented programming
    Pierik, C
    de Boer, FS
    THEORETICAL COMPUTER SCIENCE, 2005, 343 (03) : 413 - 442
  • [28] 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
  • [29] Logic Java']Java: Combining Object-Oriented and Logic Programming
    Majchrzak, Tim A.
    Kuchen, Herbert
    FUNCTIONAL AND CONSTRAINT LOGIC PROGRAMMING, 2011, 6816 : 122 - 137
  • [30] Object-oriented and constraint programming for time critical applications
    de Boer, FS
    OBJECT-ORIENTED TECHNOLOGY, 1999, 1743 : 255 - 266