Castro Mejia, Sergio
[UCL]
Logic languages are well suited for declaratively solving computational problems that require knowledge representation and reasoning. Object-oriented programming languages benefit from mature software ecosystems featuring rich libraries and developer tools. Several integration solutions exist that allow a software system to be decomposed into a combination of modules implemented in both a logic and an object-oriented language. Unfortunately, significative amounts of boilerplate code must still be written to accomplish the required interoperability. In addition, such approaches often are not amenable to custom context-dependent reification of objects in the logic world and custom mappings of arbitrary logic terms to objects in the object-oriented world. Furthermore, in the specific case of Prolog-Java integration, existing solutions are often compatible with only a single or a restricted set of Prolog engines and thus suffer from portability issues. To address these problems, we introduce a portable framework, relying on linguistic integration, for transparently and (semi-)automatically enabling communication between routines in these two worlds, as well as a simple mechanism for customising how native artefacts in one language should be reified in the other language. We validate our approach with case studies requiring a seamless integration of declarative programs in Prolog with libraries belonging to the Java ecosystem


Bibliographic reference |
Castro Mejia, Sergio. LogicObjects : A Portable and Extensible Approach for Linguistic Symbiosis between an Object-Oriented and a Logic Programming Language.International Conference on Logic Programming (ICLP 2013) – Doctoral Consortium (DC) (Istanbul, Turkey, du 24/08/2013 au 29/04/2014). |
Permanent URL |
http://hdl.handle.net/2078.1/142855 |