Free Objects in Constraint-logic Object-oriented Programming
Jan C. Dageförde,Hendrik Winkelmann,Herbert Kuchen +2 more
- 06 Sep 2021
TL;DR: This work adds support for reference-type logic variables to a Java-based constraint-logic object-oriented language and proposes a dynamic type constraint that restricts the types of free objects at runtime.
read more
Abstract: 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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures
![Figure 2: Conceptual structure of the MLVM. Adapted from [DK19] and updated in order to reflect recent developments.](/figures/figure-2-conceptual-structure-of-the-mlvm-adapted-from-dk19-2w2pdhe7.png)
Figure 2: Conceptual structure of the MLVM. Adapted from [DK19] and updated in order to reflect recent developments. 
Figure 7: Object-oriented representation of board and queens. 
Figure 8: Representation of graph modification operations in a class structure for the purpose of non-deterministic choice. 
Figure 4: Example for an object structure that forms a ring. 
Figure 3: Class definitions. With a recursive definition, e. g., for Rec, exhaustive generation of concrete objects does not terminate. 
Figure 1: Class structure assumed for the running example.
Citations
•Posted Content
Network e-Volution
Alexander Kirchner,Nils Labusch,Adriana Lopez Cordoba,Sebastian Sartor,Sanja Tumbas,Enrique Villalon,Sebastian Wiethoff +6 more
TL;DR: The aim of this working paper is to investigate the aspects of evolving networks and uncertainty in networks at the cutting edges of different types of networks and from the perspective of different layers defining these networks.
5
Constraint-Logic Object-Oriented Programming with Free Arrays
Hendrik Winkelmann,Jan C. Dageförde,Herbert Kuchen +2 more
- 07 Sep 2020
TL;DR: In this article, the authors add array-typed logic variables (free arrays) to the set of types that logic variables can assume in constraint-logic object-oriented programming, and they show that free arrays exhibit interesting properties, such as indeterminate lengths and non-deterministic accesses to arrays.
4
•Posted Content
Constraint-Logic Object-Oriented Programming with Free Arrays
Jan C. Dageförde,Herbert Kuchen +1 more
TL;DR: This work conceptualize array-typed logic variables ("free arrays"), thus completing the set of types that logic variables can assume in constraint-logic object-oriented programming.
3
References
Web Service Discovery - Reality Check 2.0
Stephan Hagemann,Carolin Letz,Gottfried Vossen +2 more
- 01 Jan 2008
TL;DR: In this paper, the authors evaluate existing public portals for Web service discovery with respect to their characteristics and their acceptance by developers, and distinguish different possible settings and use cases, and evaluate how these are supported in practice.
57
Web Service Discovery - Reality Check 2.0
S. Hagemann,Carolin Letz,Gottfried Vossen +2 more
- 29 Oct 2007
TL;DR: It turns out that only few of the publicly available Web service registries are growing in size and importance, with the use case best supported lying in the pre-programming phase.
44
BLISS: Improved Symbolic Execution by Bounded Lazy Initialization with SAT Support
TL;DR: In this article, the authors present bounded lazy initialization with SAT support (BLISS), a novel technique that refines the search for valid structures during the symbolic execution process, using field bound refinement and satisfiability checks.
33
BLISS: Improved Symbolic Execution by Bounded Lazy Initialization with SAT Support
Nicolás Rosner,Jaco Geldenhuys,Nazareno Aguirre,Willem Visser +3 more
- 05 Dec 2016
TL;DR: Bounded lazy initialization with SAT support (BLISS), a novel technique that refines the search for valid structures during the symbolic execution process, and uses less memory than LI and BLI, which enables the exploration of states unreachable by previous techniques.
Bounded Lazy Initialization
Jaco Geldenhuys,Nazareno Aguirre,Nazareno Aguirre,Marcelo F. Frias,Marcelo F. Frias,Willem Visser +5 more
- 14 May 2013
TL;DR: This article proposes to change Symbolic Pathfinder’s lazy initialization mechanism to take advantage of tight field bounds and introduces a new technique that generates only non-isomorphic structures and consequently is able to consider fewer structures and to execute faster than lazy initialization.
29