There are several sources of uncertainties that can be distinguished in open multi-agent systems. First of all, the
behaviour of the user of the system is uncertain, especially if there are complex and numerous ways to interact with
the system. A user could, e.g., alter the environment and thus indirectly influence the system. Second of all, external
components can behave unreliably or unexpectedly. Third of all, data that is gathered about processes in the
environment or within the system can be affected with uncertainty.
Cheng et al. mainly deal with the first two kinds of uncertainty and provide powerful tools to incorporate such
uncertainties into the requirements engineering process. They suggest four possibilities to deal with obstacles
and factors of uncertainty:
-
No refinement: if the uncertainties do not impair the system's ability to reach its goals, no
changes are necessary.
-
Add low-level sub-goals: if it is possible to introduce low-level sub-goals to deal with the
uncertainty factors, these sub-goals should be identified and introduced.
-
Relax goals: if uncertainties can be dealt with by relaxing the goals (e.g., so that a certain
condition does not have to hold exactly but approximately), introduce such relaxations in the formulation of the
goals.
-
Add high-level goals: if the uncertainty affects the system on a high level or is of great
importance, additional high-level goals can be introduced to deal with it.
The possibilities should be applied in the order given above. If "No refinement" is not a solution, assess the
introduction of a sub-level goal. If this will not mitigate the obstacle, try relaxing one or more goals. If this
proves unsuccessful, introduce a new high-level goal. This ensures that the solution to an obstacle with a minimal
impact on the current system design is sought first.
More information can be found in Cheng et al., 2009 - A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty.
If the data gathered about other agents and processes is uncertain, however, the use of trust values allows measuring
the uncertainty in the data and incorporating it in decision making processes. More information about using trust in
open self-organising systems can be found in Trust-based Interaction Design.
|