cardinalities, Use of a class inheritance structure in-
stead of enumeration features and The need of some
OCL constraints to complete the meta-model.
8 CONCLUSION
Model generation is an important tool to test model
transformations as well as to design meta-models. In
this paper, we proposed a model generation mecha-
nism, based on CSP. This paper develops three main
contributions to automated model generation. The
first contribution is to improve and refine our previous
modelling, by notably reducing the amount of vari-
ables in the CSP. As shown by our experiments, it in-
duces a very affordable computation time, allowing
the perspective of a large-scale generation. The sec-
ond contribution addresses the treatment of OCL con-
straints. We do not handle the whole OCL, however
we selected a subset of the OCL language and pro-
posed efficient ways to transform them into additional
constraints for the CSP modelling of the meta-model.
The experiments show that adding those constraints
do not significantly increase the resolution time, while
it improves the relevance of the produced models.
This is a particularly encouraging result, which illus-
trates the power of the CSP modeling in such a situ-
ation. Finally, we implemented a complete, easy-to-
use and available tool, which can be used to generate
models, and visualize them, from a meta-model pro-
vided in Ecore format. This tool allowed hidden con-
straints to be detected on the PetriNets meta-model,
and helped to design a new meta-model for Features.
It therefore proves its immediate usefulness and us-
ability. A web demonstrator of our tool is available
at: http://info-demo.lirmm.fr/grimm/.
As perspectives, we are intending to continue the
optimization of the solving time, especially in the
generation of consecutive instances. During this se-
quence of generations we would like to introduce
some additional constraints to separate the produced
model by a given distance, in order to improve the di-
versity aspect of our tool. We may also cover a wider
range of OCL constraints, and design an expert-driven
add-on, to facilitate the adjustment of additional con-
straints leading to more realistic models.
ACKNOWLEDGEMENT
The authors would like to thank Félix Vonthron and
Olivier Perrier for the work during their internship.
REFERENCES
AL-Msie’Deen, R. (2014). Reverse Engineering Fea-
ture Models from Software Variants to Build Software
Product Lines. PhD thesis, University of Montpellier.
Baudry, B., Ghosh, S., Fleurey, F., France, R., Le Traon,
Y., and Mottu, J.-M. (2010). Barriers to Systematic
Model Transformation Testing. Communications of
the ACM Journal, 53(6):139–143.
Cabot, J., Clarisó, R., and Riera, D. (2008). Verification
of UML/OCL Class Diagrams using Constraint Pro-
gramming. In ICSTW, IEEE International Conference
on Software Testing Verification and Validation Work-
shop, pages 73–80.
Ehrig, K., Küster, J., and Taentzer, G. (2009). Generat-
ing Instance Models from Meta models. Software and
Systems Modeling, pages 479–500.
Ferdjoukh, A., Baert, A.-E., Chateau, A., Coletta, R., and
Nebut, C. (2013). A CSP Approach for Metamodel In-
stantiation. In ICTAI, IEEE International Conference
on Tools with Artificial Intelligence, pages 1044,1051.
González Pérez, C. A., Buettner, F., Clarisó, R., and Cabot,
J. (2012). EMFtoCSP: A Tool for the Lightweight
Verification of EMF Models. In FormSERA, Formal
Methods in Software Engineering, pages 44–50.
Lecoutre, C. and Roussel, O. (2009). XML Representa-
tion of Constraint Networks: Format XCSP 2.1. Com-
puting Research Repository ACM Journal, 9(2):2362–
2370.
Mackworth, A. (1977). Consistency in Networks of Rela-
tions. Artificial Intelligence Journal, 8(1):99–118.
Merchez, S., Lecoutre, C., and Boussemart, F. (2001). Ab-
sCon: A prototype to solve CSPs with abstraction. In
CP, International Conference on Principles and Prac-
tice of Constraint Programming, pages 730–744.
Mougenot, A., Darrasse, A., Blanc, X., and Soria, M.
(2009). Uniform Random Generation of Huge Meta-
model Instances. In ECMDA, European Conference
on Model-Driven Architecture Foundations and Appli-
cations, pages 130–145.
OMG, O. M. G. (2014). Object Constraint Language
Specification, Version 2.4. Official Specification.
http://www.omg.org/spec/OCL/2.4/.
Rossi, F., Van Beek, P., and Walsh, T., editors (2006).
Handbook of Constraint Programming. Foundations
of Artificial Intelligence. Elsevier Science Publishers,
Amsterdam, The Netherlands.
Sen, S., Baudry, B., and Mottu, J.-M. (2009). Automatic
Model Generation Strategies for Model Transforma-
tion Testing. In ICMT, Conference on Model Trans-
formation, pages 148–164.
Wu, H., Monahan, R., and Power, J. F. (2013). Exploit-
ing Attributed Type Graphs to Generate Metamodel
Instances Using an SMT Solver. In TASE, Interna-
tional Symposium on Theoretical Aspects of Software
Engineering.
MODELSWARD2015-3rdInternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
222