The Analysis Design Matrix creates a solid basis for Model Compiler Design by simply organising the xUML analysis formalism, software architecture and program structure components in a rigorous and formal framework.
It builds upon the ideas found in the ShlaerMellor method that form its foundation and is fundamentally based on the translational approach (similar but different to the transformational approach of MDA).
Using translation, the Matrix preserves one of the most import principles in Executable UML:
"One Fact in One Place"
The Matrix preserves this principle by describing subject matter areas as domains (as in ShlaerMellor). It also upholds the principle among domains and realms (see below) by forbidding any replication of information by copying or mathematical derivation.
The word “fact” is used here in the both the formal sense (a verifiable truth which occurs at the intersection of an attribute and instance) and common usage (an item of knowledge about something).
The standard Analysis Design Matrix model is explained as a formal diagram, in the same way a xUML Class Diagram is a formal diagram. The Matrix can vary depending on the process and technology used, but it will still be in the form of a matrix with the meta levels shown across in the Analysis direction and the levels of technology employed in the Design direction.
On the Matrix; at each intersection between Analysis (Process) rows and Design (Implementation) columns there exists a node which is known as a realm. A realm is a set of closely related domains that implement that level of technology at which they exist.
Although, the "standard" Matrix is shown here with the most familiar known realms, the Matrix is not limited in any direction and can be extended as new analysis and design concepts become apparent.
