The Systems Metamodel
What is the system metamodel? It is the framework on which the system model is constructed. A system model must create a depiction of the system being studied or designed that will allow the design team to see its elements, relationships and attributes in a way that allows them to make predictions about the system behaviors and evaluate those predictions against the requirements driving the design. Inconsistencies within the model will damage or destroy the validity of such predictions. The system metamodel framework drives the required consistency. Without it, the system model loses much of its value.
The consistency and completeness derived from the use of the systems metamodel are critical to systems design. But beyond the internal consistency of a particular model, the systems metamodel framework creates the ability to communicate the model meaningfully to stakeholders and others. This is done through “views” of the model which can range from reports to simulations to diagrams. The ability to communicate and compare aspects of models is essential.
In essence, the views used to examine the model are answers to queries of the model asking for a specific set of information to be returned according to the rules that define the view. If the underlying data is not consistently captured and structured, the query will return with incomplete or inconsistent results. No matter how well-defined the rules for producing the view are, the product of a view production process reflecting inconsistency or incoherence in the data will produce a view that is unhelpful or even misleading. It takes the normative discipline of the systems metamodel to capture and arrange the data to provide the foundation for the production of a communicative view. The systems metamodel provides the map that guides the systems engineer and her queries against the model to the desired information.
This can be complicated. Sometimes different views return different sets of information. For example, a block definition diagram contains a different subset of the model information than the subset that populates the requirements diagram. In other instances, information that is fundamentally the same may be represented in different ways. An activity diagram shows the functional flow of the system in a different way than that flow is portrayed in a sequence diagram. A well-arranged systems metamodel is needed to assure that whatever way the data is to be viewed, it will be consistent.
By understanding both the structure of the model and the rules that are used to format a particular view, the audience can know the nature and substance of what it depicts. The systems metamodel assures that the structure of the data model is what is expected. This guarantees that the view shows what it purports to show.
When used across models, the systems metamodel provides consistency in the same way that it does internally to a given model. In order to communicate aspects of one model to another or to compare multiple designs, the models must be consistent. Without consistency, there can be no shared understanding and no evaluation.
Where two models are constructed using the same systems metamodel, the same view taken from each model will allow the viewer to compare the system aspects depicted in the views. Again, it is the use of the common systems metamodel framework that assures that consistency. (NOTE: The systems metamodel must be “declared”—understood and agreed across the system modeling community—so that it is understood in the same way by all users and observers. This makes the systems metamodel itself visible so that the organization of the system model data can be understood.)
The ability to access and format the model information consistently rests on the consistent organization of the information in the model. That consistent organization is provided by the systems metamodel. Data from the real world system design is captured in the model in ways defined by the systems metamodel. When this discipline is adhered to, models can become useful in communicating and leveraging the work of design that has created them. The discipline of the systems metamodel creates the opportunity to capitalize on the models rather than treat them as a one-off venture.
The ability to communicate the aspects of system models is quite valuable in a number of ways. Without the systems metamodel, communication becomes a risky proposition. Inconsistency and incompleteness in the database where the model resides can easily distort and disrupt communication. The discipline of a defined and declared systems metamodel provides the best chance for communication that will result in a shared understanding of the model or models under consideration.