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.





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.