We're all aware that the creation of specific metamodel is very valuable. But, if you had to explain metamodel to someone, how would you do it?
First, let's define the term "metamodel". According to the IEEE Online Software Engineering Vocabulary (SEVOCAB), there are twelve definitions for the term "metamodel". According to surveyed Enterprise Architects, the most applicable definition to Enterprise Architecture is this one: CDIF semantic metamodel (1) the description of the set of notations and concepts used to define a model (ISO/IEC 15474-1:2002 Information technology - CDIF framework - Part 1: Overview, 4.2)
Note: The CDIF semantic metamodel defines an Entity-Relationship-Attribute model that is used to construct and define models used in systems development.
When we peel away the jargon, it all comes to this: a metamodel defines the things that you can put in your actual models.
For example, let's say we have created this model of a fictitious company. They have made some plans, created some strategies, and the Enterprise Architect has connected those strategies to business initiatives. Those business initiatives are then connected to the business units that are affected by the initiatives. Simple trace-ability model.
If the picture above represents a model, then what is in the metamodel? That's shown in the picture below:
The content metamodel describes the set of rules that enable architectural concepts to be captured, filtered, stored and represented in a complete, consistent and traceable way. It involves the following:
- Architecture Vision, Principles, and Requirements used to capture the context of formal architecture models.
- Information System Architecture used to capture models of IT systems, applications, and data in line with the ADM phases of TOGAF.
- Business Architecture, used to capture models of business operations, enterprise structure and capabilities.
- Technology Architecture used to capture procured technology that is utilized for realization of information system solutions.
- Architecture Realization used to capture the changes of roadmaps and show transitions between architectural stages.
In the metamodel, we provide definitions for three relevant EA terms:
3. Business unit
They are important in the context of the model and ought to have a single definition. Also, the metamodel is used to define every relationship that is permitted between these elements. We can state that the initiative will involve a business unit, but our model cannot present the relationship between a business unit and a strategy unless there is the initiative which is aligned with that strategy and also includes the business unit.
A metamodel regulates what you are allowed to draw. It restricts you from drawing stuff that is not making much sense. Furthermore, it clearly defines the rules so that anyone can read your model and know exactly why you described certain things as initiatives and other things as strategies (per example).
An EA metamodel is the definition and the grammar of words. It provides the dictionary. The model is actually a story you tell with those words.
We close our article with some comment on Metamodel and EA tools. Within EA tools there is usually a section where you can define & manage your metamodel. A key feature to look for inside EA tools is how easy it is to make changes to the metamodel. Some EA modeling tools
can be quite strict on changing the metamodel which will affect your EA agility. Look out for that!
That’s it for the topic of Metamodel.
keywords: enterprise architecture metamodel, ea tools, ea modeling tools, metamodel