2. Making use of FOCUSer during model development
The main functionality of FOCUSer is to restrict the error and warning messages to the ones that are relevant to the modeling task at hand. This is achieved by guiding the user through the selection and activation of objectives that should be accomplished next.
2.1. Current and Upcoming objectives
The AF3 IDE presents to the user the two combo boxes that allow making use of FOCUSer: the current objective and the upcoming objective.
- Current objective: the current objective box displays which objective is currently set, which in turns activates all the constraints related to that objective. As a result, all errors and warnings related to those constraints will appear in the IDE (but no others). By using this box the modeler can set any objective in the process at any time and make it the current objective. Note that constraints implied by objectives transitively found in the dependency tree of the current objective are also activated.
- Upcoming objective: the upcoming objective box displays which objectives should be accomplished next, given the ones that were already fulfilled.
2.2. Using the process as a modeling aid
In order to demonstrate the capabilities of FOCUSer we will build a partial project for aiding the modeler in building requirements using AF3's MIRA framework. The process includes three objectives that depend on each other as indicated by the arrows in the following figure. In the figure the direction of the arrows defines the direction of the dependencies.
Note that an (empty) default configuration is always present in the project. In our process in the figure above the default configuration corresponds to the "At least one requirement exists" constraint.
Once the modeler starts a building a requirements model, the color of the current objective box is set to the color red. This indicates the objective has not yet been satisfied.
The modeler can then right-click on the error message to understand what the current required modeling actions are that will lead to fulfilling the active constraints.
Once a requirement has been added the color of the current objective is set to green and the upcoming objective is set to the one(s) that depend on it (in this case that all requirements should have a name).
The modeler can then turn the upcoming objective into the current objective by selecting it from the combo box.
Note that it is possible for the modeler to understand which percentage of the objective at hand is already complete. This is achieved by hovering the mouse on the "current objective" combo box. The percentage is calculated in terms of the number of instances of the constraints that currently exist in the project. Note that for example for the "All requirements have a name" constraint, one instance of it will exist per requirement in the project.