Dependency types
We distinguish among four types of dependencies, based on the type of dependum.(p13).
From these basic categories [Entities, Activites, Assertions] we get three types of intentional dependencies: Resource dependency, Task dependency, and Goal dependency.(p13)
A fourth type, which we call "Softgoal dependency", is based on a notion of non-functional requirements (or quality requirements) in software engineering. [Chung91,93,Mylopoulos92] (p13)
These four types of dependencies also characterise how decisions fall on either side of the dependency.(p15)
There is possibility of failure at each dependency, and we want to know its implications.
The type of dependency reveals whose goals might be affected by a problem, and indicates which side will deal with the contigency. (p24)
» See also: dependency vulnerabilites
» See also: dependum
goal dependency
In a Goal-dependency, the depender depends on the dependee to bring about a certain state in the world.
The dependee is given the freedom to chose how to do it.
With a goal dependency, the depender gains the ability to assume that the condition or state of the world will hold, but becomes vulnerable since the dependee may fail to bring about that condition.(p14)
Under goal dependency, the dependee is free to, and is expected to, make whatever decisions are necessary to achieve the goal (the dependum). (p15)
task dependency
In a Task dependency, the depender depends on the dependee to carry out an activity.
A Task dependency specifies how the task is to be performed, but not why. The depender is vulnerable since the dependee may fail to perform the task.
Task specifications should be viewed as contrains rather than as complete (and therefore adequate) knowhow for performing the task. This is one reason why a dependee may fail in performing the task.
Another reason may be that the dependee decides not to perform the task even when it is able to, e.g. if it decides there are more important things to do (which may be due to other commitements). (p14)
Under task dependency, the depender makes the decisions. The depender's goal are not given to the dependee.(p15)
resource dependency
In a Resource dependency, one actor (the depender) depends on the other (the dependee) for the availability of an entity (physical or informational). By establishing this dependency, the depender gains the ability to use this entity as a resource. At the same time, the depender becomes vulnerable if the entity turns out to be unavailable. (p14)
Under resource dependency, the issue of decisions [how takes decision for "achieveing" the dependum] does not come up. A resource is the finished product of some deliberation-action process. It is assumed that there are no open issues or decision to be addressed. (p15)
» See also: entity flow
softgoal dependency
In a Softgoal dependency, a depender depends on the dependee to perform some task that meets a softgoal. The meaning of the softgoal is specified in terms of the methods that are chosen in the course of pursuing the goal.
As in the goal dependency, a depender gains the ability of having the goal condition brought about, but becomes vulnerable in case the dependee fails to bring about that condition. The difference here is that the conditions to be attained are elaborated as the task is performed. (p15)
Under soft-goal dependency, the depender makes the final decision, but does so with the benefit and knowhow
» See also: notion of non-functional requirements
|