Using Slicing to Improve the Performance of Model Invariant Checking

By: Wuliang Sun, Benoit Combemale, Robert B. France, Arnaud Blouin, Benoit Baudry, Indrakshi Ray

Abstract

In Model Driven Development (MDD), it is important to ensure that a model conforms to the invariants defined in the metamodel. Such invariant checking can improve developers' understanding of modelled aspects of complex systems and uncover structural errors in design models. General-purpose rigorous analysis tools that check invariants are likely to perform the analysis over the entire metamodel and model. Since modern day software is exceedingly complex, the size of the model together with the metamodel can be very large. Consequently, invariant checking can take a very long time. For example, checking a model consisting of 5,000 elements can take up to several hours if the analysis completes. Moreover, sometimes the analysis process cannot be completed as the system resources get exhausted. To this end, we introduce model slicing within the invariant checking process, and use a slicing technique to reduce the size of the inputs in order to make invariant checking of large models feasible with existing tools. The evaluation we performed provides evidence that model slicing can significantly reduce the time to perform the invariant checking. In the experiments that we conducted, we achieved speedups ranging from 1.5 to 36.0 and we also demonstrate the correctness of the checking results.

Keywords

UML, Metamodel, Model, OCL, Invariant Checking, Model Slicing

Cite as:

Wuliang Sun, Benoit Combemale, Robert B. France, Arnaud Blouin, Benoit Baudry, Indrakshi Ray, “Using Slicing to Improve the Performance of Model Invariant Checking”, Journal of Object Technology, Volume 14, no. 4 (September 2015), pp. 1:1-28, doi:10.5381/jot.2015.14.4.a1.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact