6.4 MODELLING ASPECTS – PRODUCT CLASSES

The most abstract product-related class in SEMDM is WorkProduct/*Kind, which has five subtypes (Figure 6.11):

  • SoftwareItem/*Kind: a piece of software that is of interest to the endeavour
  • HardwareItem/*Kind: a piece of hardware that is of interest to the endeavour
  • Model/*Kind: abstract subjects that act as the subject's surrogate for some well-defined purpose
  • Document/*Kind: durable depictions of a fragment of reality
  • CompositeWorkProduct/*Kind: aggregates of other work products or work product kinds.

Although documents usually depict models, they can also represent other entities of interest to the endeavour, including other documents. This fact is captured by an association from Document/*Kind to WorkProduct/*Kind. Also, Document/*Kind has a recursive whole–part relationship with itself to capture the fact that a given work product or work product kind can be defined as a collection of other work products or work product kinds, respectively.

Model/*Kind, in turn, has a whole–part relationship to ModelUnitUsage/*Kind, which itself is associated with ModelUnit/*Kind. These relationships permit the description of the specific model units that are to be used and in which models. In addition, every ModelUnitKind is always defined in the context of at least one Language (a Resource item in ISO/IEC 24744). The existence of multiple languages sharing the same model unit kinds allows for a single and interconnected network of model units (and models) ...

Get Metamodelling for Software Engineering now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.