The Architecture Repository is a software tool that stores the important architectural input and output, including Architectures themselves and the elements of which they are comprised, standards, references, principles and the Governance Register. Regardless of the Architecture Framework that has been selected, Enterprise Architect is a fully featured Architecture Repository that can store and manage all architectural content. The tool has a powerful set of features that allows a program to be set up efficiently, content to be imported from other sources, views and viewpoints to be defined and created, high quality publications to be generated, and much more. The repository contains a number of key parts, as represented on this diagram.
The metamodel is a model of a model that describes the elements and relationships that can be used to construct the architectures. The metamodel functions as a grammar that defines the types and how they can be related to each other. It is critical to have defined the metamodel before any architectural models are created, as it will inform architects what elements they should use and how they can be used together. The metamodel in this format is a passive model and only acts as a guide and communication tool; if a more formal model is required a UML Profile could be created.
Enterprise Architect has a facility to create a Profile, which is a UML extension mechanism for creating domain and platform specific extensions of the UML. A Profile contains a collection of stereotypes, Tagged Values and constraints that refine the basic UML grammar but remain compliant with the fundamental aspects of the language. The Profile can be created in Enterprise Architect using a toolbox of stereotyped elements, and then imported into the repository. The Profile defines stereotypes that extend primitive UML elements and relationships, which can contain Tagged Values that define platform or domain specific properties. The Profile allows any number of Toolbox pages to be defined, which can contain the stereotyped elements and relationships which in turn can be dragged and dropped onto diagrams.
Profiles can also be included in an MDG Technology, which is a more elaborate extension mechanism that can bundle a range of reusable assets such as Element, Toolbox and Diagram Profiles, Patterns, Document Templates, Searches, Scripts, Images, Workspace Layouts and more.
Stereotypes extend the deep grammar of the Unified Modeling Language (UML) so some thought should be given to whether a new Profile is really needed or if an existing Profile could be used.
Principles are a fundamental set of architecture axioms that help ensure that the strategy is embodied in the architectural designs and concomitantly in the implementation solutions. They form a set of guidelines that are prescriptive rules intended to guide and constrain the way a solution is architected and implemented. Critical to the success of the principles is the way they are applied and made applicable in a particular context.
Enterprise Architect allows Principles to be modeled using a stereotyped UML Class where the properties of the principles can be defined using Tagged Values. Instances of these Classes can then be created describing how the principle can be applied in the context of a Strategic, Tactical or Solution architecture. This is a critical step as the principles are typically abstract and defined in theoretical terms and often the principles are included in an appendix or another type of list with little or no explanation of their applicability to an architecture or solution.
The Architectures are the center piece of the Architecture Repository and contain the designs and solutions to the problems and opportunities defined by the business in the strategic modeling and guided and constrained by the architecture principles.