09.08.2013 Views

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

RichComponent<br />

<strong>Architecture</strong> <strong>Modeling</strong><br />

Satisfy Refine<br />

1..* +component<br />

+refinedBy 1..* 1 +refinedReq<br />

Requirement<br />

+ rationale: String [0..*]<br />

+satisfies<br />

1..*<br />

SystemRequirement<br />

+entailed<br />

1<br />

+entailing<br />

Figure 3.28: Meta-model integration of the tracing of requirements and contracts<br />

ments have been derived from initial product requirements. The meta-model supports tracability<br />

by different trace-links between Requirements and RichComponents (see Figure 3.28).<br />

The Satisfy concept links SystemRequirements to RichComponents, indicating<br />

the components that have to satisfy the aspect specifications defined by the<br />

SystemRequirements. The satisfaction relation is discussed detailed in Section 4.3. Note<br />

that RichComponents are linked to SystemRequirements and do not own them. This<br />

allows both of them to exist independently from each other, i. e. from the meta-model point of<br />

view it is not necessary to first create a RichComponent along with its syntactical interface<br />

in order to specify a SystemRequirement (contract). Indeed this loose coupling makes it<br />

possible to first specify a contract and to define a RichComponent at a later time and link it<br />

to that contract.<br />

The Refine concept links Requirements to other Requirements. The motivation is<br />

to express that a requirement referenced in the role refinedReq has been refined by a set of<br />

more detailed requirements referenced in the role refinedBy. One use-case for this trace-link<br />

is to document requirement formalizations. How requirements can be formalized is discussed<br />

in Section 4.1.<br />

The Entail concept links SystemRequirements to other SystemRequirements.<br />

The composition of the contracts referenced in the role entailing establish a refinement<br />

of the contract referenced in the role entailed. The role of Entail-trace link in design<br />

steps carried out during the development process is discussed in Section 4.2. In this document<br />

we consider a formal interpretation of contracts linked by the Entail concept and call it a<br />

refinement or entailment of contracts (see Section 6.3.2).<br />

3.3.1.4 Requirement Specification Language<br />

In order to ease the specification of contracts we provide a pattern-based requirement specification<br />

language (RSL) (see Section 6.1), that can be used to specify the aspects of a<br />

RichComponent or specializations thereof.<br />

The RSL is basically a set of textual patterns, that can be instatiated in order to specify an<br />

Assertion. For example the syntax of the pattern F1 is defined as:<br />

1..*<br />

Entail<br />

39/ 156

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

Saved successfully!

Ooh no, something went wrong!