Unit Constraints Solver
This dialog is used to run the Unit Constraints solver on selected parts of the model.
It can be started by right mouse-click on a model and selecting "UnitConstraints Solver".
For a tutorial about units, including examples of using the UnitConstraints Solver Dialog,
click here.
An example of the dialog is shown below.
The UnitConstraints Solver Dialog uses the graph viewer to help
display information about the operation of the solver and the results that it generates.
When the UnitConstraintsSolver Dialog starts the components that will be used to generate solutions are highlighted in yellow
on the graph viewer.
(Actually, the manner in which selected links are highlighted is overriden so that they are highlighted
in yellow instead of rendering handles on the ends of the links.)
There are three different subpanels of the dialog.
Components - Provides the means to modifiy the components of the model that are analyzed by the solver.
When the dialog is created the model is inspected to see if any actors, and/or relations
are selected.
If so, then those actors and links are used in the solution process.
If none are selected then all of the actors and relations are used.
The membership can be modified by selecting the desired actors and/or relations and
then pressing the Set To Selected button on the Memebers panel.
The current membership can be viewed by pressing the Show Components button which
will cause the current components to be selected.
Full Solver - Interface to the full solver.
Pressing the Run button causes the solver to run to completion on the components.
The results are displayed in the panel below the Run button.
The possible results are
- No Solution - Basically, this means that there is an inconsistency somewhere.
Use the Minimal Spanning Solver below to learn more about the causes and possible
ways to fix them.
- NonUnique Solution - There are an infinite number of solutions.
Usually, this means that the model is not constrained enough.
That is, there are some ports that need to have Units specified, or
there are some actors that need to have Units constraints specified.
- Unique Solution - There is only one solution and it is consistent.
This usuallly means that the model is "correct" from a Units perspective.
Minimal Spanning Solver Interface to solver that runs in a mode that attempts
to isolate inconsistencies.
The solver is run multiple times, each on a subset of the components.
In this mode the solver stops when an inconsistency is found.
This produces a set of solutions, each presenting a different perspective on the
inconsistencies in the model.
The results of running the minimal spanning solver are displayed in the panel below
the Run button.
There are two types of results.
- NoSolution <RelatioName> <Units> - This says that an inconsistency
was found on the specified relation nad that a possible fix would be inserting
an actor on the relation that would makes the conversion specified by the Units.
- NonUnique
Annotating the model
The results of running the minimal spanning solver can be futher investigated
by selecting the result.
Doing so will cause the model to be annotated in a way that gives a visual
presentation of the result.
For example, shown below is the model after selecting one of the results.
The relations of the model are now colored so that green indicates the Units
constraints of the relation are satisfied, and magenta indicates that the Units
constraints of the relation are not satisfied.