[
OsEATools |
MetaModel |
Overview |
Base-principles and requirements |
Model-objects |
Entities |
Relations |
Models |
Categories ]
Metamodel: Overview
This document summarises ideas for a core-metamodel for enterprise-architecture. It is only a summary, not a full specification: considerable further work will be needed to realize the concepts described here, and to add layers of object-type definitions that can build towards objects that can be used directly in architecture modeling. However, sufficient detail is provided here to evaluate the ideas and to act as a base for further development.
The reason for developing the metamodel is to simplify repository-based modeling for enterprise architecture, and hence move towards a more versatile architecture-toolset than most of those currently available.
The key concern here is not the entities themselves, but the interactions between entity-types, relation-types (semantic connections between entities) and model-types.
Simple non-repository based toolsets such as Visio start with model-types, which specify the entity-types and connection-types that may be used within the model. There are few or no controlled semantics, and entities and relations are confined to the scope of the model – there is no underlying repository, hence no re-use of entities or relations between models. Use of a controlled repository as an underlay for modeling resolves these problems of semantics and re-use.
Conventional repository-based tools concentrate on entity-types. Relation-types are defined from entity-type to entity-type, with fixed semantics, and with the entity-type treated as atomic. In theory there should be no limit to the number of entity-types managed, but since new relation-types must be added for every semantic nuance, and – given the point-to-point connections – the number of relation-types will increase exponentially with each new entity-type linked into the mesh, the repository will quickly reach a maximum maintainable size. Model-types are included almost as an afterthought, defining the list of includable entities, which then implies a list of permissible relations which must somehow be constrained to those which have valid meaning within the scope of the respective type of model. The result is that most toolsets are either very limited in versatility – sometimes to just one type of model – or are so complicated to use (especially in configuring metamodels and model-types) that they are aptly described as ‘user-hostile’.
To reduce these problems, the metamodel described here introduces three key themes:
- entity-types are not atomic, but consist of stacked layers of subclasses – this simplifies categorization, especially for orthogonal categorization-schemes
- relation-types may link to any of the entity subclasses, not solely to the atomic entity-type – this both simplifies relation-definition and greatly reduces the number of relation-types to be defined, and also enables modal-logic (e.g. ‘should’ and ‘could’) to be used in relation-semantics
- model-types are specified in terms of lists of relation-types, not entity-types – this automatically identifies the entity-types that may be used in the model, and constrains model-semantics to a verifiable set
The result should be a modeling toolset that is much more versatile than most existing systems, yet also much easier to configure and use.
The aim is that this metamodel would be used as part of the foundations for an Open Source toolset for the enterprise-architecture community.
[
OsEATools |
MetaModel |
Overview |
Base-principles and requirements |
Model-objects |
Entities |
Relations |
Models |
Categories ]