IBM CAS Research Project

 

“Requirements Driven Model Refactoring and

Evolution for Service Oriented Systems”

 

Kostas Kontogiannis, UWaterloo/NTUA

Ali Razavi, U. Waterloo

 

 

Today’s corporate software systems are usually built as a collection of interoperable components and services. The sheer complexity and volume of such systems makes their design, implementation, testing and above all, maintenance a difficult and time consuming task. Over the past few years, the software engineering community is focusing on Model-Driven Software Engineering (MDSE), a methodology that aims to increase the productivity on developing, testing, and maintaining such complex systems. More specifically, in MDSE software artifacts such as architecture related artifacts, low level design artifacts, source code and, test suites are all represented by well defined and structured models. Model transformation techniques are then used to progressively transform higher level artifacts (i.e. requirements and architecture models) to low level ones (i.e. detailed design) and even to source code. However,  a challenge in these environments is to guarantee that these transformations are applied in a consistent manner and the different models pertaining to a system are all kept synchronized with each other, according to some predefined relations, properties and constraints. This problem is referred to as model synchronization or model co-evolution.

 

This project aims to address the problem of model synchronization by investigating techniques that allow first for the automatic or semi-automatic extraction of dependencies between models, second the containment of the propagation of changes from one model to another only to the specific affected parts, limiting thus the complexity of the synchronization effort and third, transformations (refactorings) that can be applied to increase the overall quality of the models being used. The techniques that are developed in this project will allow for large complex Service-Oriented system to be more efficiently built and maintained.