• No results found

Low-Level System Goal Definition for example Self-System A

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 Verification

The 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.

|

Aa ag

Related documents