friends.praxeme

 

Ontologies and Praxeme (posted by Fabien Villard)

A proposition of research studies about ontologies
in the context of the Open Methodology

Not a strange feeling

Ontology is a philosophical concept that has taken an importance in computer science in the last few years and is actively debated inside new (or relatively new) domains such as Web 2.0, Semantic Web (aka Web 3.0) and some technological approaches like REST, Web Services and Event Processing. We will see that ontology and semantics are closely related and therefore it seems important to give hints about the links between those domains and Praxeme because Praxeme insists strongly on the importance of the semantic approach of computer science especially when we talk about conception of information systems used by people. This will lead to further studies ideas.

What is « ontology »?

The philosophical definition of the term is not very relevant in computer science but may be of interest for a high level point of view. Refer to the wikipedia entry http://en.wikipedia.org/wiki/Ontology and the external links provided, especially http://www.formalontology.it/ontology-definitions-one.htm which is a summary of different definitions.
According to some accepted ideas in CS an ontology is the set of concepts mandatory and sufficient to describe a domain of interest. The set of concepts is made of classes and relations between classes. Together they form the semantic graph of a knowledge description with a level of abstraction compliant with the level of knowledge needed to describe the domain.
See :

Models, semantic and Praxeme

According to Praxeme it is of major importance to build models for each of the 8 aspects of the topology. Those models contain material describing the domain we are interested in. They are made of classes and relations between them and are formalized with the Unified Modeling Language.
Therefore we can propose the idea that models in Praxeme are ontologies. It is not very surprising to see a convergent approach of the two lines because they both try to rationalize the conception process of systems and this goal makes a tremendous usage of knowledge and artificial intelligence related theories and best practices.
According to Praxeme topology, all models relate to each others by usage relations in a production activity. For example the pragmatic model refers to the semantic model by invoking its core business classes (objects handled by the business without the trouble of how they are handled – the « what ») to create the model of business processes and show the way the entity deals with them (the « how »). The logical aspect is derived from the semantic and pragmatic models. And so on. Therefore because the semantic model is the core business model from which others either take knowledge or are purely derived, it represents the core concepts model of the studied domain. And we could say that it represents the real business ontology.

Going further

The ontology research domain currently shows some important problems:

  • Ontologies are defined on a domain of interest to represent the knowledge of the domain. This means that different persons with different concerns focused on the same domain may built different and incompatible ontologies. This is a big issue when it’s time to take into account mixed concerns. A good example is business opportunities that need to extend the concerns of companies or when companies have to merge.
  • In the same idea, domains themselves may have to be joined to represent a bigger domain. This is the case when companies have to learn a new business to adapt to new realities of the market and create products that span multiple businesses. This case leads needs to build a larger ontology by adding ontologies side by side.

As a methodology Praxeme adds another question of importance: one goal of the methodological approach is to be able to divide a large problem into smaller parts. This is one of the preferred ways to deal with large problems when difficult to embrace in one unique vision. It is also suited to distributed work between different parties and makes possible to focus on one aspect independently from the others. But the process is possible only if the split works may be merged at the end efficiently and without introducing errors in the result. In the case of ontologies, or semantic models in Praxeme, even if the split may seem easy it is a difficult task because the separation of the large domain should occur before the model is built and therefore must use not yet formalized concepts from the pre-modeling phase, which may lead to missing lands or duplicate ones. Then when (if) the split has been made correctly we face the second issue stated above (merging).
To summarize, how can we arrange multiple ontologies to:

  • Have multiple different yet compatible ontologies on the same domain?
  • Lay down side by side different ontologies on different domains and get an ontology representing the union of the domains?
  • Have ontologies on different domains merged in a larger than the summed ones representing a new domain?

Ontologies relations, a composite approach

This is not a new problem. We have dealt with such splitting processes in the past in number of production lands including IS building. The object oriented approach is one of the theories that are widely used today and the paradigm includes a number of ways to deal with the split of concepts modeled by classes. If we consider that ontologies are a set of classes it seems smart to start by trying to apply the same ideas. D. Hofstadter would be sad if we wouldn’t. So what are for ontologies the following design patterns:

  • Abstraction: may an ontology be an abstraction for multiple ontologies?
  • Composition: what is the equivalence of a relation between classes for 2 ontologies? « Upper ontologies » try to deal with that idea. But it seems that instead of abstracting ontologies upper ones only deal with the intersection of domains, for general concepts that are used in the same way in different domains.
  • Interface: is there something like an external view of an ontology that could be materialized by different ontologies and that would be used to connect (use) different ontologies without knowing exactly which one is used?
  • Hook: is there something that we should put in an ontology to create hook points where other ones could be connected, like in the AOP approach?

Leave a Reply

*

Please leave these two fields as-is:

Protected by Invisible Defender. Showed 403 to 1,034,778 bad guys.