Strengthening SAT-Based Validation of UML/OCL Models by Representing Collections as Relations

  • Mirco Kuhlmann
  • Martin Gogolla
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7349)


Collections, i.,e., sets, bags, ordered sets and sequences, play a central role in UML and OCL models. Essential OCL operations like role navigation, object selection by stating properties and the first order logic universal and existential quantifiers base upon or result in collections. In this paper, we show a uniform representation of flat and nested, but typed OCL collections as well as strings in form of flat, untyped relations, i.,e., sets of tuples, respecting the OCL particularities for nesting, undefinedness and emptiness. Transforming collections and strings into relations is particularly needed in the context of automatic model validation on the basis of a UML and OCL model transformation into relational logic.


Relational Representation Relational Logic Nest Level Enterprise Architecture Model Nest Collection 
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)CrossRefGoogle Scholar
  2. 2.
    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
  3. 3.
    Braga, B.F.B., Almeida, J.P.A., Guizzardi, G., Benevides, A.B.: Transforming OntoUML into Alloy: towards conceptual model validation using a lightweight formal method. ISSE 6(1-2), 55–63 (2010)Google Scholar
  4. 4.
    Bräuer, M., Demuth, B.: Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support. ECEASST 9 (2008)Google Scholar
  5. 5.
    Büttner, F., Cabot, J.: Lightweight String Reasoning for OCL. In: Vallecillo, A., et al. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 240–254. Springer, Heidelberg (2012)Google Scholar
  6. 6.
    Büttner, F., Gogolla, M., Hamann, L., Kuhlmann, M., Lindow, A.: On Better Understanding OCL Collections or An OCL Ordered Set Is Not an OCL Set. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 276–290. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  7. 7.
    Cattell, R.G.G., Barry, D.K.: The Object Data Standard: ODMG 3.0. Morgan Kaufmann (2000)Google Scholar
  8. 8.
    Gogolla, M., Büttner, F., Richters, M.: USE: A UML-Based Specification Environment for Validating UML and OCL. Science of Computer Programming 69, 27–34 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Hartmann, S., Link, S.: Collection Type Constructors in Entity-Relationship Modeling. In: Parent, C., Schewe, K.-D., Storey, V.C., Thalheim, B. (eds.) ER 2007. LNCS, vol. 4801, pp. 307–322. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Hoogendijk, P.F., Backhouse, R.C.: Relational Programming Laws in the Tree, List, Bag, Set Hierarchy. Sci. Comput. Program. 22(1-2), 67–105 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press (2006)Google Scholar
  12. 12.
    Kelsen, P., Ma, Q.: A Lightweight Approach for Defining the Formal Semantics of a Modeling Language. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 690–704. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Kuhlmann, M., Hamann, L., Gogolla, M.: Extensive Validation of OCL Models by Integrating SAT Solving into USE. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol. 6705, pp. 290–306. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Roldan, M., Duran, F.: Dynamic Validation of OCL Constraints with mOdCL. ECEASST 44 (2011)Google Scholar
  15. 15.
    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
  16. 16.
    Schürr, A.: A New Type Checking Approach for OCL Version 2.0? In: Clark, A., Warmer, J. (eds.) Object Modeling with the OCL. LNCS, vol. 2263, pp. 21–41. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Soeken, M., Wille, R., Drechsler, R.: Encoding OCL Data Types for SAT-Based Verification of UML/OCL Models. In: Gogolla, M., Wolff, B. (eds.) TAP 2011. LNCS, vol. 6706, pp. 152–170. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Van Der Straeten, R., Pinna Puissant, J., Mens, T.: Assessing the Kodkod Model Finder for Resolving Model Inconsistencies. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds.) ECMFA 2011. LNCS, vol. 6698, pp. 69–84. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    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
  20. 20.
    Torlak, E., Vaziri, M., Dolby, J.: MemSAT: checking axiomatic specifications of memory models. SIGPLAN Not. 45, 341–350 (2010), CrossRefGoogle Scholar
  21. 21.
    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
  22. 22.
    Willink, E.D.: Modeling the OCL Standard Library. ECEASST 44 (2011)Google Scholar
  23. 23.
    Wong, L.: Polymorphic Queries Across Sets, Bags, and Lists. SIGPLAN Notices 30(4), 39–44 (1995)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

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

Personalised recommendations