Extensive Validation of OCL Models by Integrating SAT Solving into USE

  • Mirco Kuhlmann
  • Lars Hamann
  • Martin Gogolla
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6705)


The Object Constraint Language (OCL) substantially enriches modeling languages like UML, MOF or EMF with respect to formulating meaningful model properties. In model-centric approaches, an accurately defined model is a requisite for further use. During development of a model, continuous validation of properties and feedback to developers is required, since many design flaws can then be directly discovered and corrected. For this purpose, lightweight validation approaches which allow developers to perform automatic model analysis are particularly helpful. We provide a new method for efficiently searching for model instances. The existence or non-existence of model instances with certain properties allows significant conclusions about model properties. Our approach is based on the translation of UML and OCL concepts into relational logic and its realization with SAT solvers. We explain various use cases of our proposal, for example, completion of partly defined model instances so that particular properties hold in the completed model instances. Our proposal is realized by integrating a model validator as a plugin into the UML and OCL tool USE.


Object Constraint Language Eclipse Modeling Framework Extensive Validation Extension Point Object Diagram 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. SoSyM 9(1), 69–86 (2010)Google Scholar
  2. 2.
    Berardi, D., Calvanese, D., Giacomo, G.D.: Reasoning on UML class diagrams. Artif. Intell. 168(1-2), 70–118 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Blanchette, J.C., Nipkow, T.: Nitpick: A counterexample generator for higher-order logic based on a relational model finder. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 131–146. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Brucker, A.D., Wolff, B.: HOL-OCL: A Formal Proof Environment for UML/OCL. In: FASE, pp. 97–100 (2008)Google Scholar
  5. 5.
    Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL Class Diagrams using Constraint Programming. In: Proc. 2008 IEEE Int. Conf. Software Testing Verification and Validation Workshop, pp. 73–80. IEEE Computer Society Press, Washington, DC, USA (2008)CrossRefGoogle Scholar
  6. 6.
    Chiorean, D., Pasca, M., Cârcu, A., Botiza, C., Moldovan, S.: Ensuring UML Models Consistency Using the OCL Environment. Electr. Notes Theor. Comput. Sci. 102, 99–110 (2004)CrossRefGoogle Scholar
  7. 7.
    Clavel, M., Egea, M.: ITP/OCL: A Rewriting-Based Validation Tool for UML+OCL Static Class Diagrams. In: AMAST, pp. 368–373 (2006)Google Scholar
  8. 8.
    Demuth, B., Wilke, C.: Model and Object Verification by Using Dresden OCL. In: Proc. Russian-German Workshop Innovation Information Technologies: Theory and Practice, p. 81. Technical University, Ufa (2009)Google Scholar
  9. 9.
    Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL Models in USE by Automatic Snapshot Generation. SoSyM 4(4), 386–398 (2005)Google Scholar
  10. 10.
    Gogolla, M., Büttner, F., Richters, M.: USE: A UML-Based Specification Environment for Validating UML and OCL. SCP 69, 27–34 (2007)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Gogolla, M., Kuhlmann, M., Hamann, L.: Consistency, independence and consequences in UML and OCL models. In: Dubois, C. (ed.) TAP 2009. LNCS, vol. 5668, pp. 90–104. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Gogolla, M., Vallecillo, A.: Tractable Model Transformation Testing. In: France, R., Küster, J.M., Bordbar, B., Paige, R.F. (eds.) Proc. 7th Int. Conf. Modelling Foundations and Applications (ECMFA 2011). LNCS, Springer, Berlin (2011)Google Scholar
  13. 13.
    Jackson, D.: Software Abstractions - Logic, Language, and Analysis. The MIT Press, Cambridge (2006)Google Scholar
  14. 14.
    Jeanneret, C., Eyer, L., Markovic, S., Baar, T.: RoclET- Refactoring OCL Expressions by Transformations. In: Software & Systems Engineering and their Applications,19th International Conference, ICSSEA 2006 (2006)Google Scholar
  15. 15.
    Kelsen, P., Ma, Q.: A lightweight approach for defining the formal semantics of a modeling language. In: Busch, C., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 690–704. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  16. 16.
    Kolovos, D., Rose, L., Paige, R.: The epsilon Book ,
  17. 17.
    Kuhlmann, M., Sohr, K., Gogolla, M.: Comprehensive Two-level Analysis of Static and Dynamic RBAC Constraints with UML and OCL. In: Baik, J., Massacci, F., Zulkernine, M. (eds.) Fifth International Conference on Secure Software Integration and Reliability Improvement, SSIRI 2011, IEEE Computer Society, Los Alamitos (2011)Google Scholar
  18. 18.
    de Lara, J., Guerra, E.: Deep meta-modelling with metaDepth. In: Vitek, J. (ed.) TOOLS 2010. LNCS, vol. 6141, pp. 1–20. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  19. 19.
    Ornaghi, M., Fiorentini, C., Momigliano, A., Pagano, F.: Applying ASP to UML model validation. In: Erdem, E., Lin, F., Schaub, T. (eds.) LPNMR 2009. LNCS, vol. 5753, pp. 457–463. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Queralt, A., Teniente, E.: Reasoning on UML class diagrams with OCL constraints. In: Embley, D.W., Olivé, A., Ram, S. (eds.) ER 2006. LNCS, vol. 4215, pp. 497–512. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Samimi, H., Aung, E.D., Millstein, T.: Falling back on executable specifications. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 552–576. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  22. 22.
    Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL Models Using Boolean Satisfiability. In: Müller, W. (ed.) Proc. Design, Automation and Test in Europe (DATE 2010 ). IEEE Computer Society Press, Los Alamitos (2010)Google Scholar
  23. 23.
    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
  24. 24.
    Torlak, E., Vaziri, M., Dolby, J.: MemSAT: checking axiomatic specifications of memory models. SIGPLAN Not. 45, 341–350 (2010), CrossRefGoogle Scholar
  25. 25.
    Treharne, H., Schneider, S., Grant, N., Evans, N., Ifill, W.: A step towards merging xUML and CSP \({\| \ }\)B. In: Abrial, J.-R., Glässer, U. (eds.) Rigorous Methods for Software Construction and Analysis. LNCS, vol. 5115, pp. 130–146. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  26. 26.
    Trong, T.D., Ghosh, S., France, R.B., Hamilton, M., Wilkins, B.: UMLAnT: An Eclipse Plugin for Animating and Testing UML Designs. In: Proc. OOPSLA workshop Eclipse technology eXchange, pp. 120–124. ACM Press, New York (2005)Google Scholar
  27. 27.
    Wegmann, A., Le, L.S., Hussami, L., Beyer, D.: A Tool for Verified Design using Alloy for Specification and CrocoPat for Verification. In: Jackson, D., Zave, P. (eds.) Proc. First Alloy Workshop (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Mirco Kuhlmann
    • 1
  • Lars Hamann
    • 1
  • Martin Gogolla
    • 1
  1. 1.Computer Science Department, Database Systems GroupUniversity of BremenBremenGermany

Personalised recommendations