CAPJA- A connector architecture for PROLOG and JAVA
Ludwig Ostermayer, Frank Flederer, Dietmar A. Seipel · 2014
Abstract. Modern software often relies on the combination of several software modules that are developed independently. There are use cases where different software libraries from different programming languages are used, e.g., embed-ding DLL files in JAVA applications. Even more complex is the case when differ-ent programming paradigms are combined like within applications with database connections, for instance PHP and SQL. Such a diversification of programming languages and modules in just one soft-ware application is becoming more and more important, as this leads to a combi-nation of the strengths of different programming paradigms. But not always, the developers are experts in the different programming languages or even in differ-ent programming paradigms. So, it is desirable to provide easy to use interfaces that enable the integration of programs from different programming languages and offer access to different programming paradigms. In this paper we introduce a connector architecture for two programming lan-guages of different paradigms: JAVA as a representative of object oriented pro-gramming languages and PROLOG for logic programming. Our approach pro-vides a fast, portable and easy to use communication layer between JAVA and PROLOG. The exchange of information is done via a textual term representation which can be used independently from a deployed PROLOG engine. The proposed connector architecture allows for Object Unification on the JAVA side. We provide an exemplary connector for JAVA and SWI-PROLOG, a well-known PROLOG implementation.