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 />

and AR13 which consider message sequencing and missing payment message detection<br />

respectively.<br />

Normally a payment acknowledgement should arrive shortly after a payment has been<br />

sent, but if it does not arrive within the allowed elapsed time, there ought to be a time-out<br />

function to indicate that the acknowledgement is missing. AR15 is a decision to implement<br />

such an Alarm Server to notify any overdue acknowledgement.<br />

This example of <strong>for</strong>ward tracing shows the impacts of a requirement to all the design<br />

objects and decisions that are affected by it. The design decision AR10 creates a chain<br />

effect on the resulting design branching out into many decisions and design outcomes.<br />

AREL <strong>for</strong>ward tracing has a number of characteristics:<br />

• Impact analysis - when an architecture element AE 1 is specified, the architecture rationale<br />

(AR) and the architecture elements (AE) that depends on AE 1 are retrieved.<br />

Since AREL is a causal model, it implies that all resulting architecture decisions and<br />

elements are directly or indirectly impacted by AE 1 .<br />

• Selection by viewpoints - the classification of architecture elements by architecture<br />

viewpoints allows architects to hone in on specific results by specifying what is<br />

required.<br />

• Graphical representation - since AREL is implemented in UML, trace results are<br />

also represented in UML diagrams.<br />

Backward tracing<br />

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

how to carry out backward tracing. Backward tracing in AREL is the traversal of the<br />

AREL graph to produce a subset of the resulting AREL graph backward from a specified<br />

AE node. The following steps are involved in the backward 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. Business<br />

Viewpoint).<br />

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

to all the root nodes by following the reverse direction of the ARtrace links.<br />

Since the AREL model is an acyclic graph, the traversal will terminate when all root<br />

nodes have been traversed.<br />

161

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

Saved successfully!

Ooh no, something went wrong!