Database of Case Studies Achieved Using CADP

Finding Conservative Schema Evolutions by Analysing API Changes

Organisation: IRIT/INP-ENSEEIHT, ONERA/DTIS, and CNES, Toulouse (FRANCE)

Method: LTS

Tools used: CADP (Construction and Analysis of Distributed Processes)

Domain: Data Models.

Period: 2019

Size: n/a

Description: Managing the evolution of data models is an important topic in MDE (model driven engineering). Project stakeholders require an easy and safe, behaviour-preserving technique to update model-based applications. This is particularly stringent in the context of space engineering, where data models may involve thousands of concepts (each one with a number of fields or attributes) and relationships (each one with a number of properties). Data model evolution is subject to three requirements: accessibility (access to model concepts should be preserved after model refactoring), cardinalities (the cardinalities defining the extensions of the relationships between source model concepts should be preserved after model refactoring), and knowledge (the refactoring process can be supported by a knowledge base or ontology defining possible knowledge equivalences or relationships between model concepts).

The approach proposed in this work focuses on the accessibility requirement and supports the analysis of models behavior preservation after refactoring. It consists in checking that the APIs (Application Programming Interfaces) of a source data model still hold on the target data model. The approach consists of four steps:
  1. Data models refactoring, which produces LDG (labelled directed graphs) representations for the source and target models;
  2. Data models projection, which produces, for each LDG, a set of LTS (labelled transition systems) with different initial states;
  3. LTS comparison, which determines if all source LTS are simulated by their target counterparts, meaning that concept access path preservation is ensured;
  4. Data conservation, which migrates source data instances conforming to source and target data models, by either reusing them (if strong simulation was established at step 3), or refactoring them using the API corresponding to the path identified by the simulation relation (if weak simulation was established at step 3).
The approach has been successfully applied for analyzing the data model of the Microscope space mission, which aims at testing the universality of free fall, for the first time in space. The example considered was an extract of the data model used to parameterize the telemetry processing, and especially to combine two telemetries. Step 3 of the approach was carried out using the BISIMULATOR equivalence/preorder checker of CADP, which also produces diagnostics explaining the results of comparisons.

Conclusions: Addressing the problem of model evolution based on model behavior is promising. Interfaces defined on data models are used to define model evolution correctness using observational semantics. Relying on LTSs has three potential advantages: the overall system is often easier to understand due to the formal and precise nature of the representation scheme; the behavior of the system can be analyzed using LTS theory and associated verification tools; and techniques developed for the comparison of parallel programs can also be applied.

Publications: [AitOubelli-AitAmeur-Bedouet-et-al-19] Lynda Ait Oubelli, Yamine Aït Ameur, Judicaël Bedouet, Benoît Chausserie-Lapree, and Béatrice Larzul. "Finding Conservative Schema Evolutions by Analysing API Changes". Proceedings of the 31st International Conference on Software Engineering and Knowledge Engineering SEKE'2019 (Lisbon, Portugal), pp. 748-777, KSI Research Inc., July 2019.
Available on-line at:
or from our FTP site in PDF or PostScript

Yamine Aït-Ameur
Professeur des Universités
Bat. F, Bureau F306
2, Rue Charles Camichel, BP 7122
31071 Toulouse Cedex 7
Tel: +33 (0)5 34 32 22 55

Further remarks: This case-study, amongst others, is described on the CADP Web site:

Last modified: Fri Apr 17 10:28:29 2020.

Back to the CADP case studies page