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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.6. A UML representation of AREL and eAREL<br />

sedence link of AR is stereotyped by ≪ARsupersede≫ and the supersedence link of AE<br />

is stereotyped by ≪AEsupersede≫. Figure 6.8 shows the relationship in UML.<br />

Figure 6.8: AE and AR evolution support in eAREL<br />

In the eAREL model, the ≪ARtrace≫ links between superseded architecture elements<br />

and rationales are also kept to retain their relationships, i.e. P L \ P L c . This supports<br />

a historical trace of previous architecture design decisions. The traceability of historical<br />

design and design decisions is discussed in Chapter 9.<br />

6.6 A UML representation of AREL and eAREL<br />

AREL and eAREL models are implemented using the UML notation [118]. They use UML<br />

stereotype to represent their semantics. We make use of tagged values in stereotype to<br />

capture in<strong>for</strong>mation <strong>for</strong> AREL and eAREL. The choice of using UML <strong>for</strong> implementation<br />

is due to a number of reasons:<br />

• UML is already very popular in software design. Architects can use the same representation<br />

and tool to carry out architecture design and record architecture rationales<br />

during the design process;<br />

• UML has sufficient expressive power to support the rationale-<strong>based</strong> architecture<br />

modelling;<br />

• UML is a standard graphical representation understood and used by many software<br />

development organisations;<br />

• UML has a wide variety of tools which could be used to support the capture and<br />

the traversal of the model.<br />

Our implementation is built on a UML tool Enterprise Architect [150]. It allows us<br />

to extend the semantics of the UML notation by using the profile package to define new<br />

97

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

Saved successfully!

Ooh no, something went wrong!