Assessing the Kodkod Model Finder for Resolving Model Inconsistencies

  • Ragnhild Van Der Straeten
  • Jorge Pinna Puissant
  • Tom Mens
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6698)


In model-driven software engineering (MDE), software is built through the incremental development, composition and transformation of a variety of models. We are inevitably confronted with design models that contain a wide variety of inconsistencies. Interactive and automated support for detecting and resolving these inconsistencies is indispensable. We evaluate an approach to automate the generation of concrete models in which structural inconsistencies are resolved. We implemented this approach in the model finder Kodkod and assessed its suitability for model inconsistency resolution based on an objective set of criteria.


model-driven engineering model finder inconsistency resolution 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Almeida da Silva, M., Mougenot, A., Blanc, X., Bendraou, R.: Towards automated inconsistency handling in design models. In: Pernici, B. (ed.) CAiSE 2010. LNCS, vol. 6051, pp. 348–362. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On Challenges of Model Transformation from UML to Alloy. Software and Systems Modeling, Special Issue on MoDELS 2007 9(1), 69–86 (2008)Google Scholar
  3. 3.
    Apt, K., Wallace, M.: Constraint Logic Programming using ECL i PS e. Cambridge University Press, Cambridge (2006)Google Scholar
  4. 4.
    Blanc, X., Mounier, I., Mougenot, A., Mens, T.: Detecting model inconsistency through operation-based model construction. In: Int’l Conf. Software Engineering, pp. 511–520. ACM, New York (2008)Google Scholar
  5. 5.
    Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: ASE, pp. 547–548. ACM, New York (2007)CrossRefGoogle Scholar
  6. 6.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Egyed, A., Letier, E., Finkelstein, A.: Generating and evaluating choices for fixing inconsistencies in UML design models. In: ASE, pp. 99–108. IEEE, Los Alamitos (2008)Google Scholar
  8. 8.
    Harman, M.: Search based software engineering. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3994, pp. 740–747. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Jackson, D. (ed.): Software Abstractions. Logic, Language and Analysis. MIT Press, Cambridge (2006)Google Scholar
  10. 10.
    Kleiner, M., Didonet Del Fabro, M., Albert, P.: Model search: Formalizing and automating constraint solving in MDE platforms. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 173–188. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Kodkodi: version 1.2.11 (March 2010),
  12. 12.
    Marić, F.: Formalization and implementation of modern SAT solvers. J. Autom. Reason. 43(1), 81–119 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Mens, T., Van Der Straeten, R., D’Hondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 200–214. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Mougenot, A., Darrasse, A., Blanc, X., Soria, M.: Uniform random generation of huge metamodel instances. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 130–145. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Nentwich, C., Emmerich, W., Finkelstein, A.: Consistency management with repair actions. In: ICSE, pp. 455–464. IEEE Computer Society, Los Alamitos (May 2003)Google Scholar
  16. 16.
    Object Management Group: Unified Modeling Language 2.1.2 Superstructure Specification. formal/2007-11-02 (November 2007),
  17. 17.
    Pinna Puissant, J., Mens, T., Van Der Straeten, R.: Resolving model inconsistencies with automated planning. In: 3rd Workshop on Living with Inconsistencies in Software Development, CEUR Workshop Proceeding (September 2010)Google Scholar
  18. 18.
    Sabetzadeh, M., Nejati, S., Liaskos, S., Easterbrook, S.M., Chechik, M.: Consistency checking of conceptual models via model merging. In: ER, pp. 221–230. IEEE, Los Alamitos (2007)Google Scholar
  19. 19.
    Torlak, E.: A Constraint Solver for Software Engineering: Finding Models and Cores of Large Relational Specifications. Ph.D. thesis, MIT (February 2009)Google Scholar
  20. 20.
    Torlak, E., Dennis, G.: Kodkod for alloy users. In: First ACM Alloy Workshop (2006)Google Scholar
  21. 21.
    Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Van Der Straeten, R.: Description of UML model inconsistencies. Tech. rep., Vrije Universiteit Brussel, Belgium (2011),
  23. 23.
    Van Der Straeten, R., D’Hondt, M.: Model refactorings through rule-based inconsistency resolution. In: ACM Symposium on Applied Computing (SAC 2006), pp. 1210–1217. ACM, New York (2006)CrossRefGoogle Scholar
  24. 24.
    Van Der Straeten, R., Mens, T., Simmonds, J., Jonckers, V.: Using description logic to maintain consistency between UML models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 326–340. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  25. 25.
    Xiong, Y., Hu, Z., Zhao, H., Song, H., Takeichi, M., Mei, H.: Supporting automatic model inconsistency fixing. In: ESEC/FSE, pp. 315–324. ACM, New York (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ragnhild Van Der Straeten
    • 1
    • 2
  • Jorge Pinna Puissant
    • 2
  • Tom Mens
    • 2
  1. 1.Vrije Universiteit Brussel & Université Libre de BruxellesBelgium
  2. 2.Université de MonsBelgium

Personalised recommendations