Not all settings of configuration items will lead to a
coherent configuration; for example, the use of a timeout
facility might require the existence of timer support, so if
the one is required the other cannot be removed. Coherence
is policed by means of consistency rules (in particular, the
goal expressions that appear as CDL items
requires and
active_if attributes [see
above]). A violation of consistency rules creates a
conflict, which must be resolved in
order to ensure a consistent configuration. Conflict
resolution can be performed manually or with the assistance
of the eCos tools. Conflicts come in the following
flavors:
An unresolved conflict means that
there is a reference to an entity that is not yet in the current
configuration
An illegal value conflict is caused
when a configuration item is set to a value that is not permitted
(that is, a legal_values goal expression
is failing)
An evaluation exception conflict
is caused when the evaluation of an expression would fail (for example,
because of a division by zero)
An unsatisfied goal conflict is caused
by a failing requires goal expression
A bad data conflict arises only rarely,
and corresponds to badly constructed CDL. Such a conflict can only
be resolved by reference to the CDL writer.