  The paper tackles the issue of mapping logic axioms formalised in the
Ontology Web Language (OWL) within the Object-Oriented Programming (OOP)
paradigm. The issues of mapping OWL axioms hierarchies and OOP objects
hierarchies are due to OWL-based reasoning algorithms, which might change an
OWL hierarchy at runtime; instead, OOP hierarchies are usually defined as
static structures. Although programming paradigms based on reflection allow
changing the OOP hierarchies at runtime and mapping OWL axioms dynamically,
there are no currently available mechanisms that do not limit the reasoning
algorithms. Thus, the factory-based paradigm is typically used since it
decouples the OWL and OOP hierarchies. However, the factory inhibits OOP
polymorphism and introduces a paradigm shift with respect to widely accepted
OOP paradigms. We present the OWLOOP API, which exploits the factory to not
limit reasoning algorithms, and it provides novel OOP interfaces concerning the
axioms in an ontology. OWLOOP is designed to limit the paradigm shift required
for using ontologies while improving, through OOP-like polymorphism, the
modularity of software architectures that exploit logic reasoning. The paper
details our OWL to OOP mapping mechanism, and it shows the benefits and
limitations of OWLOOP through examples concerning a robot in a smart
environment.
