Voici les éléments 1 - 6 sur 6
  • Publication
    Accès libre
    Towards the democratization of ontological modeling through a new pervasive means of representation
    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é., 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.
  • Publication
    Métadonnées seulement
    Object-Oriented Modeling with Ontologies Around: A Survey of Existing Approaches
    Despite the many integration tools proposed for mapping between OWL ontologies and the object-oriented paradigm, developers are still reluctant to incorporate ontologies into their code repositories. In this paper we survey existing approaches for OWL-to-OOP mapping trying to identify reasons for this shy adoption of ontologies among conventional software developers. We present a classification of the surveyed approaches and tools based on their technical characteristics and their resulting artifacts. We discuss further potential reasons beyond what have been addressed in the literature before finally providing our own reflection and outlook.
  • Publication
    Métadonnées seulement
    Object-oriented Software Modeling with Ontologies Around
    Despite the many integration tools proposed for mapping between OWL ontologies and the object-oriented paradigm, developers are still reluctant to incorporate ontologies into their code repositories. In this paper we survey existing approaches for OWL to OOP mapping trying to identify reasons for this shy adoption of ontologies among conventional software developers. We present a classification of the surveyed approaches and tools based on the characteristics of their resulting artifacts. We finally provide our own reflection for other potential reasons beyond those addressed in the literature.
  • Publication
    Métadonnées seulement
    OntoJIT: Exploiting CLR Compiler Support for Performing Entailment Reasoning over Executable Ontologies
    Most recent efforts on bringing ontologies into mainstream programming languages were hindered by some fundamental issues; mainly the lack of expressiveness of programming languages compared to the declarative nature of ontological languages as well as the different assumptions on which reasoning in these languages is based on. In this paper we give the idea of adopting ontological programming approaches a second thought by proposing a prototype for a C# ontological knowledgebase system where ontologies are expressed directly in an executable form. We present our experience on bridging the semantic gab in general purpose programming languages and on exploiting metaprogramming and the dynamic compilation feature of modern compilers for performing certain entailment queries without the need for the bulky ontology classification step usually required in the case of conventional ontological tools.
  • Publication
    Métadonnées seulement
    Procedural extensions for executable ontologies in conventional software development
    (Belfast, North Ireland: World Scientific, 2018) ;
    Ontologies have gone lengths in various areas of knowledge engineering, yet they are falling short of reaching an equal position as formal domain models in the landscape of enterprise software development. In this paper, we present an approach for integrating ontologies into the code space of conventional software. We argue that the limited adoption of ontologies in software development is partially due to the lack of imperative programming capabilities. We propose extending ontologies with procedural extensions by expressing them in an executable form. Finally, we discuss the advantages of this representation and the possibilities for further improvements.
  • Publication
    Métadonnées seulement
    OntoJIT: Parsing Native OWL DL into Executable Ontologies in an Object Oriented Paradigm
    (Bologna, Italy: Springer, Cham, 2016) ;
    Despite meriting the growing consensus between researchers and practitioners of ontology modeling, the Web Ontology Language OWL still has a modest presence in the communities of “traditional” web developers and software engineers. This resulted in hoarding the semantic web field in a rather small circle of people with a certain profile of expertise. In this paper we present OntoJIT, our novel approach toward a democratized semantic web where we bring OWL ontologies into the comfort-zone of end-application developers. We focus particularly on parsing OWL source files into executable ontologies in an object oriented programming paradigm. We finally demonstrate the dynamic code-base created as the result of parsing some reference OWL DL ontologies.