CD2Alloy: Class diagrams analysis using alloy revisited

Shahar Maoz*, Jan Oliver Ringert, Bernhard Rumpe

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


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.

Original languageEnglish
Title of host publicationModel Driven Engineering Languages and Systems - 14th International Conference, MODELS 2011, Proceedings
Number of pages16
StatePublished - 2011
Externally publishedYes
Event14th International Conference on Model Driven Engineering Languages and Systems, MODELS 2011 - Wellington, New Zealand
Duration: 16 Oct 201121 Oct 2011

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6981 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference14th International Conference on Model Driven Engineering Languages and Systems, MODELS 2011
Country/TerritoryNew Zealand


Dive into the research topics of 'CD2Alloy: Class diagrams analysis using alloy revisited'. Together they form a unique fingerprint.

Cite this