CD2Alloy: Class Diagrams Analysis Using Alloy Revisited
This work addresses limitations in UML class diagram analysis for software modelers, offering an incremental improvement over prior translations.
The authors tackled the problem of analyzing UML class diagrams by introducing CD2Alloy, a translation method that uses a deep embedding strategy to support multiple diagrams and extended language features, enabling analysis tasks previously unsolvable with existing shallow approaches.
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.