There exists a well-known trade off between imperative and declarative languages. Imperative languages such as Java are suitable to describe processes and how these processes should be done. Declarative languages such as OWL are used to describe systems and what is available in them. Each one has advantages and disadvantages and each one is more convenient in some circumstances than in others. For example, graphical interfaces might be easily implemented using the Java language whereas the description of the state of a system might be easily described in the OWL language. Hence, this proposal describes a binding process between Java and OWL to provide an architecture enabling the usage of both languages during software development and at run-time. The architecture allows getting the advantages of both programming paradigms, declarative and imperative, together. As a result, the reasoning capabilities provided by OWL could be used in Java applications whereas the flow control of applications and the I/O functions available in Java could be used seamlessly for OWL ontologies. The aim is to speed up software developments using the facilities provided by both types of languages. As a proof of concept, the proposed architecture has been implemented as an open source framework, and some technical details of this implementation together with statistical results of performance and scalability are discussed in this paper.
|Number of pages||25|
|Journal||Journal of Research and Practice in Information Technology|
|Publication status||Published - 29 Feb 2012|