7.2 THE ENDEAVOUR DOMAIN

The Endeavour domain refers to the execution or enactment of a methodology on a particular endeavour, typically a (software development) project. In this domain, we find entities that have been created by software developers by instantiating concepts from the Method domain (i.e. resource classes or the class facet of templates) in applying a specific methodology. Of course, different methodologies may use different, methodology-specific, concepts. For example, in one methodology, it may be stated that software developers must always perform tasks in order to obtain work products, perhaps with the usage of some tools. Consequently, we would expect to find in the Metamodel domain specifications for the Task and Work Product concepts.

More generally, and following ISO/IEC 24744, we can state that, from a high-level point of view, only five major types of entity exist in the Endeavour domain (Figure 7.18):

  • Work Units describe jobs to be performed within the endeavour.
  • Stages provide and manage time frames within the endeavour.
  • Work Products are artefacts of interest for the endeavour.
  • Model Units are atomic components of models that represent a cohesive fragment of information in the subject being modelled.
  • Producers are agents that have the responsibility for executing the work units.

These five basic concepts can be generalized into a common, abstract concept named EndeavourElement, which represents anything in the Endeavour domain. They are all abstract ...

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.