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 条