Consistency Checking and Coevolution (WP4)

Involved Partners

UCL

  • Prof. Kim Mens [WP leader]
  • Dr. Johan Brichau
  • Sergio Castro

FUNDP

  • Prof. Pierre-Yves Schobbens
  • Prof. Patrick Heymans
  • Anthony Cleve
  • Arnaud Hubaux
  • Germain Saval

VUB

  • Dr. Ragnhild Van Der Straeten
  • Dr. Dirk Deridder
  • Andy Kellens
  • Coen De Roover

UA

  • Prof. Serge Demeyer
  • Olaf Mulliawan
  • Anne Keller

UMH (associated partner)

  • Prof. Tom Mens
  • Sylvain Degrandsart

Partners' research interests

In this section we list the research interests, related to the topic of this work package, of the different researchers participanting in this work package.

Kim Mens studies how the intensional views approach can support various kinds of co-evolution: co-evolution of structural source-code regularities and implementation and co-evolution of aspects and base program code. Other possible application areas may be explored are netwerk configurations, databases, analysis, requirements, ...

Johan Brichau also studies the co-evolution of structural code regularities and implementation by means of intensional views. More precisely, he currently validates the technique on a large industrial (Java) case study.

Sergio Castro‘s topic will be defined in concertation with Kim Mens. Sergio is payed on the project.

Anthony Cleve studies how to preserve consistency between databases and associated programs. More precisely, he studies support for propagation of different kinds of database evolution (migration, restructuring, etc..) to the program level.

Pierre-Yves Schobbens ...

Patrick Heymans ...

Germain Saval is a PhD student of Patrick Heymans. His work consists in devising, and experimenting with, a COTS (off-the-shelf software) selection method. It relies on domain-specific reference models that are customized each time they are used for a specific COTS evaluation. He is currently experimenting with a case study dealing with conference management systems.

Andy Kellens works, in collaboration with Kim Mens, on co-design and co-evolution of structural regularities and program source code. He is currently finalizing his PhD thesis on this topic.

Coen De Roover ...

Ragnhild Van Der Straeten works in the area of inconsistency management in Model-driven Engineering (MDE). Currently, she investigates inconsistency resolution in Model-driven engineering.

Dirk Deridder studies the co-evolution of domain knowledge and implementation.

Serge Demeyer ...

Anne Keller investigates a good meta-model for expressing inconsistencies in UML.

Olaf Mulliawan is comparing existing meta-models for traceability, to see how well they can express the effect of refactorings.

Finally, Tom Mens is interested in co-evolution and consistency checking

Context

The goal of this work package is to study and address the problem of inconsistencies arising between models expressed in different modelling languages. In the research literature, two main approaches can be distinguished:

  1. Consistency maintenance (sometimes referred to as model synchronization in an MDE context) tries to keep models consistent at all times. This requires formalisms and techniques for checking and ensuring consistency.
  2. Inconsistency management is a less conservative approach, in the sense that it allows models to be in a temporarily inconsistent state. In that case, we need formalisms and techniques to detect and resolve model inconsistencies.

A different more practical approach to deal with consistency of models is coevolution. More specifically coevolution deals with the consistency of the model and its implementation.

This work package will focus on researching how the expertise of inconsistency management of models can be applied in the field of coevolution and vice-versa. The added benefits of this collaboration are twofold. On the one hand, for the field of coevolution this collaboration can result in richer models for expressing model consistencies. On the other hand, the field of consistency checking can benefit from the field of coevolution to bridge the gap between theory and practice.

Topics

1. A general framework for model inconsistency management.

The goal of this research topic is to integrate the variety of formal approaches used by the partners of this WP into a general framework for inconsistency management. In the research literature, a number of general frameworks have been proposed for supporting the inconsistency process. Some of them are more focussed on the managerial or process aspects, whereas others are more targeted to the technical aspects. It remains an open question whether the aforementioned goal can be achieved by relying on any of the already existing frameworks, possibly after adapting them. If not, we will come up with a new formal inconsistency management framework. As an essential part of this research topic, we will use each of the above frameworks as an objective way to classify, compare and combine the different techniques and formalisms for inconsistency management used by the partners of this WP. This will allow us to uncover the strengths and weaknesses of the various approaches.

2. Using declarative meta-programming techniques to support coevolution.

In recent years, a variety of declarative meta-programming techniques have been used to support coevolution of programs and design models. For example, both the SOUL logic meta-programming language and the formalism of intensional views have been used intensively to address this problem. Declarative techniques have also been studied to tackle the problem of traceability and consistency maintenance between models in different phases of the software life cycle. The expertise gained with these techniques will be extended in several ways in this topic:

  • expressing constraints over the dynamic behaviour of a program, and verifying that those constraints remain satisfied when the program evolves;
  • coevolution of unit tests and the program entities they test;
  • coevolution of base programs and the aspects defined on that program;
  • extensions of the model and associated tool suite of intensional views to incorporate each of the above

3. Using coevolution tools to bridge the gap between practice and theory in inconsistency management.

Having discovered in topic 1 the strengths and weaknesses of the various approaches to inconsistency management used by the partners, in this research topic we will exploit this information to improve and the existing approaches. For the more formal techniques, we will try to extend them in order to make them applicable to a wider variety of practical models. For the more pragmatic techniques, we will try to increase their level of formalisation so that they can benefit from the mathematical properties observed in the formal approaches. We will investigate if the declarative meta-programming techniques and OCL transformations can serve to bridge the gap between the more theoretical and pragmatic models.

Interactions

The partners in this WP have used a variety of different techniques, in order to manage inconsistencies between a variety of different models:

  • Inconsistency between behavioural models is a very important line of research [EKHG01]. It has been investigated by FUNDP, VUB and UMH [BHS05a, VJM04], and the differences and possibly synergies between these approaches will be explored in more detail in this work package.
  • Consistency of feature models expressed in different feature modelling languages has been investigated by FUNDP in [CRS01, GRS03, US04, BHST05, SHTB06]. This is necessary when, e.g., the work of two product line engineers needs to be merged. In this work package, we will investigate consistency between feature models and UML(-like) models, and see how this compares to the description logics formalism that has been explored by the VUB - UMH collaboration.
  • UCL and VUB will build upon their joint expertise to use declarative meta-programming techniques for supporting coevolution of programs and design models — and the SOUL language [MMW02b] and intensional views model [MMW02a, KMBG06] in particular — to extend it along the lines previously indicated.
  • Independently of the above partners, UA has used declarative model transformations specified in OCL to study the problem of traceability and consistency maintenance between models in different phases of the software life cycle. In this project they will also take the problem of evolution into account. In addition, they will extend their declarative model transformation technique so that violations of model invariants can be detected dynamically and repaired automatically.

A thorough comparison of the declarative techniques used by UA on the one hand and those used by UCL and VUB on the other will be undertaken, in order to allow all partners to enhance and combine their complementary techniques.

  • Since 1995, FUNDP has developed a strong expertise in model evolution, through reverse engineering and transformational techniques in the context of large data-centered applications. Since 2002, they have defined a framework and technique to support coevolution of platform independent (PIM) and platform specific models (PSM) of data [HH06] and coevolution of data and behaviour models [CH06]. Except for the FUNDP team, the problem of coevolution of program and data models has received little attention by the scientific community.
wp4/index.txt · Last modified: 2008/03/26 21:53 by moves