In this section, we give a brief introduction of the change impact analysis framework. The overall change impact analysis framework contains three major phases. The first phase receives change requests and represents them using change operations. This phase uses evolution strategies and dependency analysis to generate complete change operations. The second phase takes the represented changes and analyses the impacts of the change opera- tions. This phase merges integrity analysis and change impact analysis together for efficient processing. Finally, we have the change implementation phase which allows the user to im- plement the changes based on the results of the impact analysis. Figure5.1 outlines the phases of the change impact analysis framework and their interactions.
Change Capturing and Representation Change Impact Analysis Integrity Analysis Change Optimization and Implementation Dependency Analysis Evolution Strategy
5.2.1 Change Request Capturing and Representation
The objective of this phase is to represent detected changes using suitable change operations (Section4.5) that ensures the efficient implementation of the required change. The execu- tion depends on how the change is represented and relies on two factors. The first factor is the selection of the appropriate change operator [Stojanovic, 2004]. The second factor is the order of execution of the operations focusing on efficient ordering of atomic change op- erations into composite and higher-level granularity to minimize impacts [Lee et al., 2000] [Arnold, 1996]. Change representation uses different evolution strategies and the output of the dependency analysis. The detailed discussion of the change request capturing and representation including dependency analysis and evolution strategy is presented in Section
5.3and Section5.4respectively.
5.2.2 Change Impact Analysis
This step mainly focuses on determining the impacts of the captured change operations on the entities of the ontology. The impact determination process focuses on analysing the nature of the operations and the target ontology entities using different parameters. Based on these parameters, this phase categorizes change operations into different categories of impacts. The impact determination process is done using two phases. The first phase is individual change impact analysis. When a composite change operation is implemented, the impacts of the composite change may not be the same as the aggregation of the impacts of its constituent individual atomic change operations. Thus, the second phase is composite change impact analysis.
It further deals with the integrity of the overall system. The integrity of the OCMS focuses on the satisfiability of the ontology and the consistency of the annotation. In gen- eral satisfiability, checks whether a class expression does not necessarily denote the empty class and consistency refers to verifying whether every class in the ontology corresponds to at least one individual [Baader et al., 2003]. Consistency checks any contradiction of the facts in the annotation and shows the absence of contradiction focusing on individuals
[Stojanovic, 2004]. Using the change impact analysis results, we analyse the satisfiability of the ontology entities and the consistency of the annotation. Consistency is analysed based on consistency rules that are defined for the ontology.
Thus, we deal with the following widely used rules related to satisfiability of classes [Stojanovic, 2004].
• Identity invariant: no two entities should have the same id (URI).
• Rootedness invariant: there should be a single root in the ontology.
• Concept hierarchy invariant: no entity should have a cyclic graph.
• Closure invariant: every class should have at least one parent class except the root class.
• Cardinality invariant: the cardinality of a constraint should be a non-negative inte- ger greater than or equal to the minimum cardinality and less than or equal to the maximum cardinality.
• User-defined constraints: these constraints are user-defined and need to be stated in the way they can be implemented like the other invariants.
Instances in OCMS are linked to the ontology using semantic annotation. Thus, deter- mining the impact of change operations in relation to the instances is crucial. The deter- mination of theABox validity is based on consistency rules. These rules determine how instances/ instance properties should exist in the ontology structurally and how they should be interpreted:
• Invalid instance: given a consistent ontology, if there is an instance that does not correspond to any of the classes, then that instance is invalid.
• Invalid interpretation: given a consistent ontology, if there is an instance whose in- terpretation contradicts any interpretation denoted by the consistent ontology, that instance has an invalid interpretation.
For example, if the ontology specifies a student can not be both MScStudent and
PhDStudent at the same time, but if we have John as an instance of MScStudent and PhDStudent, the instance is considered as invalid instance and it introduces invalid
interpretation.
The change impact analysis process follows ex ante evaluation which begins during the change request stage of the evolution by collecting and analysing the change operations, the impacts and the causes of the impacts before the change is permanently implemented in the system. This reduces the effort required to roll back the changes if unwanted impacts are observed after a permanent implementation of the changes.
5.2.3 Change Optimization and Implementation
The change implementation phase takes the final change operations and executes them in the OCMS. This is done based on the user’s preference after the impacts of the change operations are reviewed and approved by the user. This phase searches for optimal imple- mentation using different optimization criteria such as severity of impacts, performance and type of statements changed. Change implementation is discussed in Chapter7