CD2Alloy: Class Diagrams Analysis Using Alloy Revisited

  • Shahar Maoz
  • Jan Oliver Ringert
  • Bernhard Rumpe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)


We present CD2Alloy, a novel, powerful translation of UML class diagrams (CDs) to Alloy. Unlike existing translations, which are based on a shallow embedding strategy, and are thus limited to checking consistency and generating conforming object models of a single CD, and support a limited set of CD language features, CD2Alloy uses a deeper embedding strategy. Rather than mapping each CD construct to a semantically equivalent Alloy construct, CD2Alloy defines (some) CD constructs as new concepts within Alloy. This enables solving several analysis problems that involve more than one CD and could not be solved by earlier works, and supporting an extended list of CD language features. The ideas are implemented in a prototype Eclipse plug-in. The work advances the state-of-the-art in CD analysis, and can also be viewed as an interesting case study for the different possible translations of one modeling language to another, their strengths and weaknesses.


Class Diagram Alloy Analyzer Alloy Module Multiple Inheritance 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.
    Alloy Analyzer website, (accessed July 2011)
  2. 2.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A challenging model transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Software and Systems Modeling 9(1), 69–86 (2010)CrossRefGoogle Scholar
  4. 4.
    Broy, M., Cengarle, M.V., Grönniger, H., Rumpe, B.: Definition of the System Model. In: Lano, K. (ed.) UML 2 Semantics and Applications. Wiley, Chichester (2009)Google Scholar
  5. 5.
    Brucker, A.D., Wolff, B.: HOL-OCL: A Formal Proof Environment for uml/ocl. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 97–100. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    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
  7. 7.
  8. 8.
    Cengarle, M.V., Grönniger, H., Rumpe, B.: System Model Semantics of Class Diagrams. Informatik-Bericht 2008-05, Technische Universität Braunschweig (2008)Google Scholar
  9. 9.
    Dingel, J., Diskin, Z., Zito, A.: Understanding and improving UML package merge. Software and Systems Modeling 7(4), 443–467 (2008)CrossRefGoogle Scholar
  10. 10.
    Evans, A., France, R.B., Lano, K., Rumpe, B.: The UML as a Formal Modeling Notation. In: Bézivin, J., Muller, P.-A. (eds.) UML 1998. LNCS, vol. 1618, pp. 336–348. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  11. 11.
    FreeMarker, (accessed July 2011)
  12. 12.
    Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69(1-3), 27–34 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  13. 13.
    Grönniger, H., Ringert, J.O., Rumpe, B.: System model-based definition of modeling language semantics. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds.) FMOODS 2009. LNCS, vol. 5522, pp. 152–166. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
  15. 15.
    Krahn, H., Rumpe, B., Völkel, S.: MontiCore: a framework for compositional development of domain specific languages. Int. J. on Software Tools for Technology Transfer (STTT) 12(5), 353–372 (2010)CrossRefGoogle Scholar
  16. 16.
    Maoz, S., Ringert, J.O., Rumpe, B.: CDDiff: Semantic differencing for class diagrams. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 230–254. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Maoz, S., Ringert, J.O., Rumpe, B.: Semantically configurable consistency analysis for class and object diagrams. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 153–167. Springer, Heidelberg (2011)Google Scholar
  18. 18.
    Massoni, T., Gheyi, R., Borba, P.: A UML Class Diagram Analyzer. In: 3rd Int. Work. on Critical Systems Development with UML (CSDUML), Affiliated with UML Conf., pp. 143–153 (2004)Google Scholar
  19. 19.
    Object Management Group. MOF Query View Transformation (QVT) (2008), (accessed, July 2011)
  20. 20.
    Rumpe, B.: Modellierung mit UML. Springer, Heidelberg (2004)CrossRefzbMATHGoogle Scholar
  21. 21.
    Sen, S.: Automatic Effective Model Discovery. PhD thesis, Univ. of Rennes (2010)Google Scholar
  22. 22.
    Shah, S.M.A., Anastasakis, K., Bordbar, B.: From UML to alloy and back again. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 158–171. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  23. 23.
    Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL models using Boolean satisfiability. In: DATE, pp. 1341–1344. IEEE, Los Alamitos (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Shahar Maoz
    • 1
  • Jan Oliver Ringert
    • 1
  • Bernhard Rumpe
    • 1
  1. 1.Software EngineeringRWTH Aachen UniversityGermany

Personalised recommendations