21.01.2014 Views

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

A Rationale-based Model for Architecture Design Reasoning

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

9.4. AREL and eAREL traceability applications in a case study<br />

9.4.2 Forward and backward tracing<br />

Architects often need to analyse change impacts and root-causes to understand the design<br />

during system enhancements. They rely on tracing the design to the requirements,<br />

assumptions and constraints to explain why and how the design is constructed. If this<br />

in<strong>for</strong>mation is implicit, its influence could be omitted or misinterpreted because (a) the<br />

motivational reasons which influence disparate parts of the design would not be apparent;<br />

(b) the design rationale that justifies inter-related design objects would be missing. We<br />

resolve this issue by providing a tool to do <strong>for</strong>ward tracing <strong>for</strong> analysing change impacts<br />

and backward tracing <strong>for</strong> analysing root causes.<br />

Forward tracing<br />

In this section, we discuss the methods <strong>for</strong> <strong>for</strong>ward tracing in AREL and demonstrate how<br />

to carry out <strong>for</strong>ward tracing. Forward tracing in AREL is the traversal of the AREL graph<br />

to produce a subset of the resulting AREL graph <strong>for</strong>ward from a specified AE node. The<br />

following steps are involved in the <strong>for</strong>ward tracing of AREL:<br />

1. Specify a source AE node, say AE 1 , where tracing is to begin.<br />

2. Specify the scope of the result set using the viewpoint classification (e.g. Application<br />

Viewpoint).<br />

3. For all the descendants of the source node AE 1 , traverse the AE and AR nodes<br />

recursively to all the leaf nodes by following the ARtrace links. Since the AREL<br />

model is an acyclic graph, the traversal will terminate when all leaf nodes have been<br />

traversed.<br />

4. All the AE nodes with the specified viewpoint classification(s) will be retained in<br />

the result set.<br />

5. All the AE nodes that are not specified in the classification, but are located between<br />

AE 1 and its descendant AE nodes that are in the classification are retained. This<br />

is because if these unspecified nodes are not traversed, then the causal chain will<br />

be broken and some of the required AE nodes downstream from them would be<br />

omitted.<br />

For example, we want to investigate what the change of requirement R4 1 3 would do<br />

to the architecture design and why. So we select the source of the trace (i.e. R4 1 3 ) and<br />

carry out tracing from the source. All the ≪ARtrace≫ links that are connected to R4 1 3<br />

159

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!