Bx Examples Repository
Title: ProductRequirementsToSimulinkProject
Version: 0.1
Type: Sketch
Overview
One often has natural degrees of freedom in a consistency relation. In this example, a notion of consistency is explored between a requirements model and an implementation model.
Models
The diagram below depicts an implementation model (above) consisting of a Product that has a RootSystem with multiple Blocks. A Block can either be a FunctionBlock representing some functionality of the system, or a SubSystemBlock used to build up a hierarchical subsystem structure. SubSystemBlocks can only contain SubSystems, i.e., are only used to add structure and not to contain functionality directly.
Requirement models (shown below), in contrast, have a flat hierarchy consisting of a Product, a layer of Functionality, and below that a layer of possibly multiple Requirements for each Functionality.
Consistency
As depicted in the diagram, Requirements correspond to FunctionBlocks, and Functionalities correspond to SubSystems. What makes the transformation interesting is that (1) the hierarchical structure of SubSystems in the implementation model is irrelevant for the requirements model, (2) multiple Requirements can be implemented by the same FunctionBlock, and (3) the same Requirement can be implemented by multiple FunctionBlocks.
Consistency Restoration
When handling Requirements (FunctionBlocks) with the same id, a component is required to decide if the Requirements (FunctionBlocks) correspond to a single FunctionBlock (Requirement) or not.
Properties [optional section]
Variants [optional section]
The decision when two elements are "similar" can be made arbitrarily complex. In the provided TGG implementation, only Requirements (FunctionBlocks) of the same Functionality (SubSystem) and with the same id can be considered as being "similar" and thus implemented by (implementing) the same FunctionBlock (Requirement).
Discussion
References [optional section]
Author(s)
Anthony Anjorin, Martin Wieber
Reviewer(s)
Comments
Artefacts [optional section]
A virtual machine hosted on Share is available with a workspace containing both (Ecore) metamodels, the concrete example used above, and a TGG formalizing the consistency relation as a set of rules: