004 Datenverarbeitung; Informatik
Refine
Has Fulltext
- yes (1)
Is part of the Bibliography
- yes (1) (remove)
Year of publication
- 2017 (1)
Document Type
- Doctoral Thesis (1)
Language
- English (1) (remove)
Keywords
- Object-Oriented Programming (1) (remove)
Institute
Modern software is often realized as a modular combination of subsystems for, e. g.,
knowledge management, visualization, verification, or the interaction with users. As
a result, software libraries from possibly different programming languages have to
work together. Even more complex the case is if different programming paradigms
have to be combined. This type of diversification of programming languages and
paradigms in just one software application can only be mastered by mechanisms
for a seamless integration of the involved programming languages. However, the
integration of the common logic programming language Prolog and the popular
object-oriented programming language Java is complicated by various interoperability
problems which stem on the one hand from the paradigmatic gap between the
programming languages, and on the other hand, from the diversity of the available
Prolog systems.
The subject of the thesis is the investigation of novel mechanisms for the integration
of logic programming in Prolog and object–oriented programming in Java. We are
particularly interested in an object–oriented, uniform approach which is not specific
to just one Prolog system. Therefore, we have first identified several important
criteria for the seamless integration of Prolog and Java from the object–oriented
perspective. The main contribution of the thesis is a novel integration framework
called the Connector Architecture for Prolog and Java (CAPJa). The framework is
completely implemented in Java and imposes no modifications to the Java Virtual
Machine or Prolog. CAPJa provides a semi–automated mechanism for the integration
of Prolog predicates into Java. For compact, readable, and object–oriented
queries to Prolog, CAPJa exploits lambda expressions with conditional and relational
operators in Java. The communication between Java and Prolog is based
on a fully automated mapping of Java objects to Prolog terms, and vice versa. In
Java, an extensible system of gateways provides connectivity with various Prolog
system and, moreover, makes any connected Prolog system easily interchangeable,
without major adaption in Java.