09.08.2013 Views

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

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.

4 Steps in Component-Based Design<br />

The <strong>SPES</strong> architecture meta-model (<strong>SPES</strong>MM) intends to support development of complex<br />

systems involving a large number of different engineers. In such a process, it is essential to<br />

specify the roles and responsibilities of each engineer: who is responsible for ensuring what,<br />

and under which conditions. Only if this is ensured, integration problems in later design phases<br />

can successfully be identified and fixed.<br />

In <strong>SPES</strong>MM, first class citizens are components and their interfaces. Components may interact<br />

with each other and with the environment by means of their interfaces, thus forming<br />

a model of the intended system. The <strong>SPES</strong>MM supports the development process in that it<br />

allows to represent roles and responsibilities of engineers by corresponding concepts in the design<br />

architecture. For example, engineers are usually responsible for distinct parts of the design.<br />

Design artifacts have to be constructed, refined, and implemented in different perspectives and<br />

at different abstraction levels. The <strong>SPES</strong>MM allows to (formally) express responsibilities for<br />

components in form of contracts, which are an instance of the assume/guarantee specification<br />

style. If different engineers, responsible for certain design artifacts, have to integrate the respective<br />

parts of the design, contracts allow to define under which conditions this integration will be<br />

successful. The same holds for example, if different engineers are responsible for specification<br />

and implementation of certain components. <strong>SPES</strong>MM provides means to reason about under<br />

which conditions an implementation satisfies the corresponding specification.<br />

The underlying concepts of the <strong>SPES</strong>MM particularly allow to define proof obligations that<br />

have to be performed in order to ensure whether responsibilities defined for model and component<br />

interfaces are satisfied. In an early design step for example, functionality of the system may<br />

be identified, together with a set of requirements to be satisfied by those functions. When in<br />

a subsequent design phase decomposition of the system into logical components is performed,<br />

it should be explicated which logical components are responsible to guarantee which system<br />

functionality. If this is done ”the right way”, the <strong>SPES</strong>MM allows the application of tools that,<br />

if not performing proof obligations automatically, explicate which proof obligations have to<br />

be performed in order to ensure satisfaction of the identified function requirements. This section<br />

intends to provide an overview of those concepts related to establish a continuous design<br />

process, and to provide traceability of requirements and the corresponding relations between<br />

design artifacts.<br />

Typically, a design process along the <strong>SPES</strong>MM involves many different design steps:<br />

• Entry point is the operational perspective, where system boundaries are identified, and<br />

the relevant goals, or initial requirements, are defined.<br />

• The system is then decomposed into distinct functions provided by the system in order to<br />

achieve the goals. Functionality may be further refined into sub-functions in this phase.<br />

Furthermore, requirements are identified for the respective functions which are typically<br />

related to the initial goals and requirements.<br />

• Functionality is partitioned into logical components providing the intended functions, and<br />

45/ 156

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

Saved successfully!

Ooh no, something went wrong!