2.3 Evolution Based on Management of
Changes
The proponents of this approach think that it is nec-
essary to have a follow-up of changes: the request
for change has to be interpreted, analyzed and exe-
cuted under control. In fact, the system should be
able to notify a change that might lead to an incon-
sistent ontology, better still, it should at least help
the engineer in evolution operations if it cannot
completely automate them.
The ontology must remain consistent while
evolving. Ontology is consistent in relation to a
model if and only if it respects all the constraints of
the model. These constraints are either invariables or
user-defined.
The invariables constraints are those related to
the ontology structure; for instance, removing a root
concept should not be allowed without a correct
reorganization of the ontology. User-defined con-
straints are those defined by the user such as the
maximum number of instance related to a given
concept. A change maintains consistency only when
the resulting ontology is consistent. Hence, change is
defined as a function ch(args, prec, postc) with args
representing the arguments, prec representing all the
preconditions and postc representing all the post-
conditions. Some operations could lead to several
options of possible ontologies; it is therefore neces-
sary to choose the most consistent one that responds
to user’s needs. However, several iterations should
be needed before obtaining an acceptable resultant
ontology (Stojanovic, 2004).
This approach has many disadvantages; it con-
sists of a solution which has a high algorithm com-
plexity due to multiple possible iterations without
any specific switch-off conditions. The reason being
that at each stage, choices have to be made using
relevant heuristics. Another approach in this catego-
ry is that of Delia (Delia, 2008). It consists of a semi
automatic system where the user is involved in the
ontology evolution process. It proposes versioning
of changes which then serve to resolve eventual
semantic referencing (based on the ontology) fail-
ures. The system records the changes during the
evolution phase of the ontology and provides the
user with a list of possible semantic references that
are impacted. The management of changes is hereby
concentrated on the control of the consistency of
semantic referencing (meaning the usage of the
target ontology – external integrity).
On the whole, the fore-mentioned approaches do
not solve the problem of evolution on all its dimen-
sions. Some are concentrates on structural aspects
(internal integrity) while others focus on the external
implications (external integrity). In addition, they
lack a formal framework which entirely integrates
the ontology evolution engineering.
3 THE PROPOSED APPROACH
FOR MANAGING THE
EVOLUTION OF ONTOLOGY
Despite the fact that several works have been carried
out on the evolution of ontologies, the tools which
should make it possible to ensure a guided evolution
which guarantees the consistency of final ontology
are still to come. The solution that we propose com-
prises four points: we start by taking into account
the semantics behind the various operations of
changes which can affect ontology during its life
cycle. Secondly, we set up some integrity constraints
which must be respected during any execution of an
operation or of a set of operations of change. Third-
ly, we control the execution of operations according
to some used case we proposed, and we end by giv-
ing a detailed report of the execution of the changes
with the new version of ontology.
3.1 Formal Description of Operators of
Change
These operators of change are formally defined
using Description Logic (DL). Evolution operations
are usually done on ontology elements including T-
Box axioms (concepts, roles, restrictions, attributes
etc.) as well as A-Box axioms (instances).
There are two groups of operators: Basic DL op-
erators such as negation, generalization, spe-
cialization, etc., and the other operators which we
defined using DL primitives (Stojanovic, 2004)
(Baader, 2007) (Gagnon, 2007). These operators
include adding, removing, merging or grouping
ontology elements (concept, role, restriction, etc.)
Each operator is semantically defined as illustrated
in the following for 3 instances of operators. Our
contribution here is that, actions related to each
operator are explicitly represented in the semantic.
The following examples illustrate some of these
operators and their formal semantic descriptions. Let
us consider (O, C, I, intscon,
) where O is an
ontology, C is a set of concepts, I is a set of instanc-
es, instcon is a function that relates a concept to the
set of its instances and
is a relation called con-
cept hierarchy, we have:
AddInstance (i,C):
MS-ONTO-ModelandSystemforSupportingOntologyEvolution
321