Abstract

The development of enterprise software typically relies on object-oriented (OO) programming languages. However, OO languages are not particularly suited for the implementation of software which involves solving complicated search problems with dynamically appearing constraints, e. g. as found in logistics. Aiming to improve this situation, we propose the Münster Logic-imperative Language (Muli). As a constraint-logic OO language, it facilitates an integrated implementation of applications that use aspects from both constraint-logic and object-oriented programming, thus eliminating the need to resort to JNI for the integration of search applications that are written in a (constraint) logic language. Muli extends Java by logic variables and encapsulated search. Its runtime is based on a symbolic Java virtual machine and leverages constraint solvers. Outside of search regions, Muli behaves just like Java. We motivate the benefits of integrating object-oriented programming and constraint-logic programming into a single language and introduce novel concepts that are required for a seamless integration. Furthermore, we present an operational semantics and transfer concepts and semantics into implementations of a compiler and a virtual machine.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call