COMET - Requirements metamodel
Introduction
The Combine Component Centre has defined a profile supporting the user in structuring and documenting requirements. This profile is an extension of the business metamodel.
The profile is provided as help for the user in structuring requirements and bridging the business model and the system architecture for the purpose of obtaining requirement documents. It includes a set of helper tools for the user to guide the definition of, and mapping between, goals, requirements, dictionary terms, and use cases. These tools are included in the modelling tool, which supports automatic generation of requirement documents based on the profile concepts.
The main concepts defined in the profile are structuring concepts for Dictionary, Requirements, and Use Cases. The dictionary is used to identify the vocabulary for the domain. The requirements are used to capture system requirements that respond to goals from the business model. Use cases are used to formalise the requirements. Currently, the requirements metamodel is an informal tool that helps the user to structure a specification, and maintain traceability between business goals, requirements, and use cases.
Model Structure
A requirements model is structured as shown in Figure 1. The contents of these models are described in the COMBINE methodology (WP3).

Figure 1: Structuring Concepts – Structure
The System Vision contains a high-level textual description, which captures the overall ideas of the product. The System Boundary model is a high-level use case model, which captures the roles and responsibilities of the system. The BCE (Boundary, Control, Entity) Analysis Model is a technique (and an artefact) that details use cases into more detailed analysis diagrams, represented by UML classes/interfaces. The Use Case scenarios describe the scenarios of each system use case, with text and UML interaction/sequence diagrams. Other requirements are described in terms of formal/informal text, each of these requirements are associated with one or more use cases. Other requirements that apply for the complete product are associated with the System Boundary Model. Prototypes are pieces of code, GUI sniplets etc. that tests and illustrates design principles and requirements.
Examples

Figure 2: Model Structure Example
The left hand side of Figure 2 shows an example of the structure of a Requirements Model. The right hand side of Figure 2 shows the decomposition of the System Boundary Model into its subsystems with subsystem use cases and actors.
Use Case Extensions
Figure 3 shows the requirements metamodel, which is an extension to the use case concept of UML. It relates a use case with interacting roles, scenarios that detail the use case, conditions for the use case, goals for the use case, and the requirements represented by the use case.

Figure 3: Requirements metamodel




