Faculté des sciences économiques et sociales

Towards the democratization of ontological modeling through a new pervasive means of representation

Baset, Selena ; Stoffel, Kilian (Dir.)

Thèse de doctorat : Université de Neuchâtel, 2019 ; 2787.

Despite their proven utility in various areas of knowledge engineering, ontologies are falling short of reaching an equal position as formal domain models in the landscape of enterprise software development. With the ultimate goal of making ontologies more accessible to a wider audience of software development stakeholders, this thesis investigates the reasons that are still standing between... More

Add to personal list
    Résumé
    Malgré leur utilité prouvée dans de nombreux domaines de l’ingénierie des connaissances, les ontologies ne parviennent pas à égaler cette position comme des modèles de domaine dans le secteur de développement de logiciels d’entreprise. Tout en ayant pour but de rendre les ontologies accessibles à un plus grand nombre d’intervenants dans le cadre du développement de logiciels, cette thèse cherche à étudier les facteurs qui se dressent entre les efforts de recherche sur l’intégration des ontologies comme elle est, d’une part, décrite par la littérature, et, d’autre part, une démocratisation menée à terme. Tout comme notre analyse préliminaire le suggère, la réticence qui caractérise l’adoption des ontologies au sein de la communauté des ingénieurs est en partie due à une sémantique opposée, ainsi qu’aux différentes hypothèses sous-jacentes utilisées dans les ontologies, par rapport à d’autres normes de modélisation d’entreprise plus conventionnels. Les piles techniques derrière l’application des ontologies et les logiciels d’entreprise conventionnels varient considérablement; des langues aux éditeurs en passant par l’appui aux infrastructures.
    Les raisons mentionnées ci-dessus prennent une nouvelle tournure syntactique, sémantique et paradigmatique que le développeur doit prendre en compte à chaque fois qu’il utilise les ontologies. Afin de minimaliser ces diverses tournures, la première étape vers la réalisation de cette thèse a été la proposition d’une fonction de traduction sans perte qui pourrait faciliter la tâche d’intégration des ontologies vers les référentiels de code plus conventionnels en les exprimant directement dans le même langage de programmation en usage.
    La deuxième étape franchie fut l’implémentation, de manière concrète, de la fonction de traduction en considérant C\# comme langage cible. Cette implémentation prend également en compte de potentielles optimisations du processus de conversion. Le choix de C\# est motivé par un certain nombre de facteurs discutés dans le chapitre correspondant. Cette implémentation prend également en compte de potentielles optimisations du processus de conversion. On obtient une réduction significative de la taille de l'exécutable en exploitant la notation du langage de programmation qui permet d’éviter la redondance inhérent à la source de la sérialisation XML. De plus, une technique de compression qui détecte les modèles anonymes redondants récurrents dans l’ontologie source est proposée afin de réduire la taille de l’exécutable qui en résulte en générant une classe correspondante unique pour chaque ensemble de concepts récurrents. Ceci peut être particulièrement utile dans le domaine biomédical, où l’étendue des ontologies constitue en elle-même un problème. Par ailleurs, la technique proposée n’est pas restreinte aux ontologies exécutables, mais peut aussi être généralisée à d’autres formats syntactiques d’ontologies OWL.
    Cette thèse illustre également deux applications potentielles de conversions d’ontologies en représentation exécutable. Ces deux applications visent à aborder les difficultés relatives à l’exploitation efficace des ontologies dans des environnements de développement conventionnels. Dans un premier temps, nous proposons un procédé de pontage de l’interstice de commande impératif généralement présent dans les formes d’ontologie passives en fournissant des ontologies exécutables avec des extensions procédurales dans la forme de procédés orientés objets. Dans un deuxième temps, nous nous axons sur la présentation d’un prototype plus élaboré de pile simplifiée pour un système de base de connaissances pouvant fournir des services de raisonnement légers en exploitant le support de l’environnement de programmation. Nous conduisons une expérience afin d’évaluer l’utilité du prototype en répondant à certains types de requêtes sémantiques sans avoir recours à un raisonneur de Description Logique (DL). Enfin, les résultats empiriques obtenus fournissent des éléments de preuve démontrant la faisabilité du prototype proposé.
    Summary
    Despite their proven utility in various areas of knowledge engineering, ontologies are falling short of reaching an equal position as formal domain models in the landscape of enterprise software development. With the ultimate goal of making ontologies more accessible to a wider audience of software development stakeholders, this thesis investigates the reasons that are still standing between ontology integration research efforts as depicted in literature and a successful democratization of ontologies. As our preliminary analysis results suggest, the shy adoption of ontologies in software engineering communities is partially due to the opposing semantics and the different underlying assumptions used in ontologies compared to the other more conventional software modeling paradigms. The technical stacks behind ontological applications and conventional enterprise software also vary greatly; from languages and editors to infrastructure support.
    The above reasons constitute a syntactic, semantic and paradigmatic twist the developer has to go through each time trying to use ontologies. In order to minimize this manifold twist, this thesis proposes a loss-less translation function that would facilitate the task of integrating ontologies into conventional code repositories by expressing them directly in the same general-purpose programming language already in use. Such a translation of ontologies from their passive external form into an active executable form does not only enhance the portability of ontologies but also contributes to a substantial reduction in both the steep learning curve and the overhead of the technical stacks usually associated with ontologies. This proposition is further crystallized by the implementation of the translation function using C\# as the target language of the translation. Our choice for C\# is motivated by a number of factors that we discuss in the corresponding chapter. The implementation also takes into account potential optimizations of the translation process. A substantial reduction in the executable size is achieved by exploiting the dot notation of the target programming language to avoid the redundant representation style inherent in the source XML serialization. Additionally, a compressing technique that detects redundant recurrent anonymous patterns in the source ontology is proposed to reduce the size of the resulting executable by generating a unique corresponding class for each set of recurrent patterns. This can be particularly useful in the bio-medical domain where the sheer size of ontologies is itself an issue. Furthermore, the proposed technique is not unique to executable ontologies but can also be generalized to other syntactic formats of OWL ontologies.
    The thesis further illustrate two potential applications of translating ontologies into an executable representation. Both applications are geared towards addressing the difficulties of fully exploiting ontologies in conventional development environments. We first propose bridging the imperative control gap usually present in the passive form of ontologies by providing executable ontologies with procedural extensions in the form of object-oriented methods. We then move to present a more elaborated prototype of a simplified stack for a knowledge base system that can provide light-weight reasoning services by exploiting the support of the programming environment. An experiment is conducted to assess the utility of the prototype in answering certain types of semantic queries without invoking a DL reasoner. The empirical results obtained provide a supporting evidence of the feasibility of the proposed prototype.