Using the Refinement in AF3
Warning: refinements as they are implemented now will probably be deprecated in a near future, in favour of a more user-friendly implementation.
The Refinement Model enables modeling of refinement and mapping relations between models.
Create Refinement Model
To create a refinement model, please right click on the project node and select refinement.
Creating Refinement Rule
To create a new Refinement Rule, please click the Add button in the refinement editor and select the type of the rule.
Once the rule is created, you can change its name in the Properties View.
Configure Refinement Rule
To configure a refinement rule, just select the rule in the refinement editor.
The available options will be shown on the right part of the refinement editor.
- The Direct Mapping Rule allows mapping between 2 elements with explicitly specified target type.
- The Value Rule allows mapping between 2 data values with explicitly specified data types.
- The Rule Group organizes several rules under itself to form a rule package.
Note that you can add Input and Output Ports to a Direct Mapping Rule by just rightclicking them in the Component Editor
Apply Refinement Rules on Temporal Logic Pattern
New in AF3 2.6
With well specified refinement rules, the abstract temporal logic pattern(TL) can be transformed to a target context automatically.
To transform a TL, the expressions used in the TL and only associated with an abstract context must have corresponding value rules or port mapping rules in the refinement editor.
Then right click on the TL in the Model Navigator View and select "Apply Refinement".
In the following dialog, select the target component.
After that a new TL with transformed expressions will be created automatically and attached into the selected component. The new TL will also be checked immediately by AF3.