maximize content fidelityhigh level
Equation 18: Low-Level System Goal Definition for example Self-System A
If the set of system requirements is represented byR, the set of environmental
assumptions, As , the set of domain properties, D, then the following relationship must hold true for each goal,g, in G , as the relationship in Equation 19 shows. Assumptions are defined in Step B.
64
R As D, ,
|g with
R As D, ,
| false Equation 19: Goal Attainment VerificationThe relationships state that each goal must be attainable by the system within the
constraints imposed by its operating environment and requirements (van Lamsweerde, 2000).
Domain properties are properties of an object or operation in the environment that holds
independent of the system and includes physical laws, regulations, and other constraints imposed
by environmental agents (van Lamsweerde & Letier, 2000).
The WHY goal refinement technique provided a method of discovering implicit higher-
level goals from stated goals (van Lamsweerde, 2000). Stated goals were analyzed and
continually asked WHY the goal is important, necessary, and relevant to the system in order to
discover the higher-level goals underpinned by it. This process continued until relationships
could be constructed between all stated and identified goals. For example, it was determined that the goal of “maintaining high performance” existed to ensure that more visitors could be served by the system. Therefore, the “serve more visitors” goal was the new root goal and “maximize performance” became its sub-goal. The combination of goal refinement techniques guided the system analysis to determine the underlying sub-goals of the system’s generic goals and establish
relationships between them. Then the underlying assumptions for attainment and their
responsible agents were identified in Step B. The agent is then directly exercised to leverage the
cost-reduction technique recommended by Barbosa et al. (2005).
Step A included a visual aid to graphically depict the goal hierarchy and highlight the
goal dependencies and relationships, described below. The inclusion of a goal graph provided
the basis for goal prioritization, documentation, and additional analysis conducted in the
65
In Dardenne, Lamsweerde, and Fickas (1993) the authors proposed the KAOS
methodology of goal-oriented requirements engineering, which was later extended in van
Lamsweerde (2000) and G. Brown, Cheng, Goldsby, and Zhang (2006) to include obstacles.
The extension contained a graphical specification for the representation of goal refinement trees
and their relationships. Figure 3 depicts the specification for unrefined / soft goals, refined /
formalized goals, sub-goal to goal links, sub-goal to goal OR-refinement links, sub-goal to goal
AND-refinement links, goal conflicts, system assumptions, obstacles, agents, and actions.
Figure 3: KAOS Glyph Specification
A refined goal graph was created utilizing the KAOS specification and the information
derived from the analysis of the system, in the format depicted in Figure 4.
Unrefined / Soft Goal
Refined / Formalized Goal
Goal to Sub-Goal Link
Sub-Goal to Goal OR-refinement Link
Goal Conflict
Sub-Goal to Goal AND-refinement Link
Agent
Assumption
Obstacle
66
Refined Sub-Goal Refined Sub-Goal
Unrefined High-Level Goal
Refined Sub-Goal Refined Sub-Goal
...
...
Refined Sub-Goal Refined Sub-Goal
...
...
...
...
Figure 4: Initial Goal Refinement Graph Format
The initial goal graph for example Self-System A was simply the unrefined goal to “maximize performance,” as depicted in Figure 5.
Figure 5: Initial Goal Graph of example Self-System A
The goal-refinement graph illustrated the relationships between the soft goals and their
refined sub-goals. Figure 6 and Figure 7 depict the previously refined goals utilizing the HOW
and WHY refinement techniques, respectively.
Minimize response time Maximize content fidelity
Maximize Performance
Figure 6: HOW Goal Refinement Graph for example Self-System A
67
Minimize response time Maximize content fidelity
Maximize Performance Serve more visitors
Figure 7: WHY Goal Refinement Graph for example Self-System A
The HOW goal-refinement graph was created in a top-down approach, where the
unrefined goal was refined and specified into formalized sub-goals. The WHY goal-refinement
graph was created in a bottom-up approach, where the refined and unrefined goals were
elaborated and correlated with others to develop higher-level relationships.
The inclusion of a visualization technique improved upon the original approach as it
allowed for a more intuitive analysis of the interactions and relationships of the system’s goals
(Almeida & Vieira, 2012a; Morandini, Penserini, & Perini, 2008; van Lamsweerde, 2001).
Further, visualization techniques have been shown to be an essential feature for communicability
and understanding of complex systems as they simplify the depiction of complex relationships,
dependencies, and logic (G. Brown et al., 2006; B. Cheng et al., 2009; van Lamsweerde, 2000,
2001).
Step B: Identification of Obstacles
Step B, the identification of obstacles, consisted of two sub-steps. The first was the
identification of system actions, responsible agents, and assumptions of the system and their
incorporation into the initial goal graph created in Step A. The second consisted of expanding
the goal refinement graph by identifying and incorporating the obstacles that affected the
68 Step B Part 1: Action, Agent, and Assumption Analysis
An action is something the system performs, such as an act or operation, to achieve or
maintain a runtime goal in response to a change (Dardenne et al., 1993). The SUB’s runtime
behavior was revealed by identifying the system’s self-adaptive actions. This was accomplished
by applying additional HOW refinement to the goal refinement graph defined in Step A and
asking HOW the SUB ensures the attainment of each runtime goals. The actions are defined as
depicted in Equation 20.
|
A a ag