Automatic Integration of Hybrid Java-Prolog Entities with LogicObjects

Sergio Castro, Kim Mens Université catholique de Louvain, ICTEAM, INGI
Paulo Moura, Center for Research in Advanced Computing Systems, INESC-TEC.


Logic languages excel for problems that can be defined declaratively, e.g. applications that require symbolic computation such as expert and planning systems. However, it is often difficult to develop complete applications that require e.g. GUIs, heavy numerical computations, or low-level operating
system and network access.
On the other hand, object-oriented languages have demonstrated their usefulness for modelling a wide range of concepts (e.g., GUIs) found in many business scenarios.
The availability of continuously growing software ecosystems around widely used modern object-oriented languages, including advanced IDEs and rich sets of libraries, has significantly contributed to their success.

Non-trivial applications can profit from implementing their components, or even distinct routines of the same entity, in the language that is most appropriate for expressing them.

However, the integration of programs or routines written in different languages is not trivial when such languages belong to different paradigms.

Although numerous approaches allow to integrate Java and Prolog programs, few of them put an emphasis on the transparency and automation of the integration concern at the entity level.
In this article, we describe an approach based on the notion of automatic inter-language conversions that does tackle this problem.