1. Project Description
The size and complexity of current systems require collaboration and co-ordination of physically distributed teams of people during systems development. However, each person or group of people has their own perspectives and understanding on the system, resulting in multiple perspectives of a system. These multiple perspectives are defined based on the people skills, responsibilities, knowledge and expertise, producing multiple distributed documents related to system development. The described setting, the heterogeneity of products being developed, and the multiplicity of stakeholders and development participants may generate inconsistencies and conflicts in the distributed documents. These conflicts can be originated by (a) the different viewpoints that users and designers have about information during different phases of system development, (b) the different types of construct that exist in specifications, and (c) the fact that different specifications can result in different systems.
During different stages of systems development the multiple distributed
documents that are produced need to be compatible. Inconsistency management
is a multifaceted and complex activity that is fundamental to the success
of software development. It is composed of six sub-activities:
detection of overlaps, detection of inconsistencies, diagnosis
of inconsistencies, handling of inconsistencies, tracking
of inconsistencies, and specification and application of a management
policy for inconsistencies. The inconsistency handling activity is
concerned with: (a) the identification of actions for dealing
with inconsistencies; (b) the evaluation of cost and benefits
that would arise from the application of the actions; (c) the evaluation
of risks that would arise from not resolving the inconsistencies;
(d) the selection of actions to be executed; and (e) the identification
of the correct moment and order in which the actions should be applied.
2. Aims and Objectives
The overall aim of the project is to allow inconsistency handling of distributed software engineering documents, in particular documents related to UML models. This aim breaks down into the following objectives:
Objective 1: To analyse various types of inconsistencies that may exist in documents related to UML models of distributed software development.
Objective 2: To classify these various inconsistencies.
Objective 3: To determine the actions that should be taken to remove inconsistencies based on the various types of inconsistencies.
Objective 4: To determine a formalism to express the actions.
Objective 5: To evaluate the cost/benefit and risk of applying and not applying the actions;
Objective 6: To decide when to perform the actions to remove inconsistencies and regulate the order in which the actions should be performed.
Objective 7: To deliver a prototype for removing inconsistencies of distributed UML model documents and evaluate the prototype in at least one case study.
Objective 8: To evaluate the extension of the approach to be used in different domains.
Our approach will be built on existing Internet technologies such as eXtensible Markup Language (XML) and related technologies (e.g. XSLT, XPath, XMI). The reasons for using XML and related technologies are as follows. First, XML has become a standard for exchanging and representing data on the Web. Second, XML can be used as a canonical way to represent UML models and, therefore, facilitating comparison and inconsistency management among these documents. In addition, XML provides a simple syntax for data and is designed to bring structured information on the Web. It allows identification, exchange, processing and integration of distributed data.
3. Industrial Support
The research results of the project will be evaluated using case study
material from active projects provided by
Philips Research Laboratories.
4. Principal Investigator
Dr. Andrea Zisman