An adaptive, open system has to be able to observe itself and its environment to identify system states in which
undesirable behaviour can occur or in which the system functionality can not be upheld. Such conditions can be
identified during requirements analysis and (semi-)formally described for use later on in the process. The formal
description uses concepts, associations, and fields of the agents as captured in a domain model. During the
process of formalising the constraints, additional concepts can be identified and added to this artefact.
The formal definition of the system's limitations can also facilitate the identification of so far hidden assumptions
about the agents or the environment. If such an assumption is identified, the stakeholders can discuss it during the
next iteration and either adapt the requirements accordingly or ensure during deployment that the assumption holds.
This task resembles the operationalisations of goals into constraints as described in [Dardenne et al., 1993].
|