Task: Create Transformation to Observation Model
Define a model-to-model transformation, creating classes and model elements that extend the observation model based on the constraint specification.
Disciplines: Development
Relationships
Main Description

In this task, a transformation is defined that uses the constraint specification to extend the existing, generic observation model with specialisations of the infrastructure required to map the different types of constraints.

Specialised observers are created and specialised classes for different constraint types can be introduced. The transformation uses the generic observation model defined earlier and the constraints that need to be monitored at runtime as specified during requirements analysis.

Steps
Create rules for specialisations of observers and controllers

All concepts that are part of the domain model and are represented as agents in the requirement models need to be considered for transformation. If requirements annotated with constraints are assigned to them, a specialised observer and controller for this agent type has to be created. Therefore, create transformation rules that check for these conditions and create new classes that are specialisations of the generic concepts in the observation model.


Create rules for different types of constraints
The different types of constraint should be identifiable from their specification. Each type needs to be transformed into a specialisation of the appropriate generic class specified in the observation model. Therefore, transformation rules need to be create that can detect the constraint type and derive from the correct generic class.
Create rules for the specialisation of the dynamic behaviour

The functionality of some classes, specified as activity diagrams in the definition of the observation model, has to be specialised for the sub-classes of observers, controllers, and constraints that will be created during the transformation. The method that checks whether a constraint holds, e.g., has to check for the actual constraints. If placeholders were used in the specification of the generic observation models, rules have to be created that replace the placeholders with the actual information required, e.g., the constraint to be checked.