EA Toolsets project : OsMmCategories

HomePage :: PageIndex :: Guest Logon
[ ^ ^ OsEATools | ^ MetaModel | Overview | Base-principles and requirements | Model-objects | Entities | Relations | Models | Categories ] ( see also: examples, ArchiMate, TOGAF )


Metamodel: Categories


A category represents an arbitrary, abstract grouping of entity-types / entities, relation-types / relations and/or model-types / models.

A category-type is a template (‘class’) for a specific type of category.

Within the metamodel, ‘category’ and category-type’ are essentially the same, since all categories are defined as subclasses which may themselves be subclassed into sub-categories.

Category subclasses may be incorporated into the subclass ‘stack’ for any entity-type, relation-type or model-type.

Categories do not in themselves have any active semantic role: they exist solely as a convenience, to support any appropriate classification schema.

The two key features of a category are its label, which can be used as a filter to select subsets of entities, relations or models and/or the respective types; and an optional ‘linkable’ interface for connection of relation-types, which allows a relation-type to connect to an entire category of object-types rather than solely at the level of individual atomic object-type (as is usually the case in existing enterprise-architecture toolsets).

One key categorization schema for architecture entity-types would be the following variant on the Zachman frame:


In Zachman terms, an architectural ‘primitive’ is an entity-type that has membership of only one sub-category within each of the above classification schemas (i.e. one cell in the set of intersecting row/column/type-segment categories); an architectural ‘composite’ has membership of more than one sub-category in the ‘column’ and/or ‘segment’ categories, but only one sub-category in the ‘row’ category (e.g. a service is a composite of ‘function’ and ‘capability’); whilst an architectural ‘pattern’ may also be a member of more than one ‘row’.

Note that not all architecture entities are covered directly by that schema: for example, real people are intentionally not included (though ‘relational asset’ links to real people are included), and ‘process’ is technically a complex dynamic composite of services (each itself a composite of ‘function’ and ‘capability’, linked in turn to ‘asset’ etc) which itself forms a service.

(Use of a Zachman-like frame should not constrain modeling only to such items as will fit easily into the frame. Nor should model-types necessarily be restricted to single cells within the frame, or categorization of cells determined by the available model-types – both of which arbitrary constraints still occur in many current architecture-toolsets.)

Category-classes may also be included in the ‘stacks’ for relation-types and model-types. For example:


It will be useful if the community can build a range of standard categorizations, to optimize the potential for model-interchange between practitioners. But the first requirement is to agree on the structure of the core-metamodel – i.e. the fundamental definitions of the ‘common base-type’ and thence base entity-type, relation-type, model-type and category-type, the implementation of the subclass ‘stack’ for each, and the overall representation in an appropriate file-exchange format – to guarantee at least some level of interchange and interoperability between toolset-users and toolsets.


[ OsEATools | MetaModel | Overview | Base-principles and requirements | Model-objects | Entities | Relations | Models | Categories ] ( see also: examples, ArchiMate, TOGAF )
There is no comment on this page. [Display comments/form]