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.

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

• Logical components are allocated to a technical system that distinguishes software, processing<br />

and communication hardware, mechanical, hydraulic, and electrical components.<br />

• The technical components are finally allocated to a geometrical space.<br />

The design phases may be performed on different levels of abstraction, representing different<br />

refinements of the initial design.<br />

It should be noted that the <strong>SPES</strong>MM does not define a concrete design flow. For example,<br />

not all design phases have to be performed on all abstraction levels. Even the number of abstraction<br />

levels and perspectives may vary between different design processes. We can however<br />

identify a set of primitive design steps that are repeatedly applied during such design processes.<br />

More precisely, each design step identified in a certain process supported by the <strong>SPES</strong>MM can<br />

typically be broken into a sequence of such primitive steps:<br />

Decomposition Most component types defined in the <strong>SPES</strong>MM can be decomposed. That<br />

is, components are broken down into smaller parts, or sub-components. This includes<br />

for example functions that are decomposed into sub-functions, and the decomposition of<br />

logical components.<br />

Allocation Components within different perspectives of a design are entangled in that they<br />

represent (partly) the same system entities. Functions for example are allocated onto<br />

logical components.<br />

Realization During the design process, the same system may be represented at different levels<br />

of abstraction. We say, the system at a certain abstraction level (and the same perspective)<br />

realizes the system at the higher levels.<br />

Implementation Finally, components gets implemented. Depending on the perspective and abstraction<br />

level, implementations may be automata models, StateCharts, MatLab models,<br />

and even C-Code. Given a characterization of the responsibilities of a component and an<br />

implementation, does it satisfy the responsibilities?<br />

Each design step introduces a set of proof obligations clearly defining under which conditions<br />

all responsibilities of the involved design artifacts are satisfied. This in advance allows to define<br />

clear interfaces between the responsibilities of all engineers involved in a design process. In the<br />

following, the corresponding proof obligations and involved model artifacts for each identified<br />

primitive design step shall be discussed.<br />

4.1 Formalizing Requirement Specifications with Contracts<br />

In order to define how modeling along the <strong>SPES</strong>MM supports the primitive design steps, it is<br />

important to understand the concept of contracts. In short, contracts characterize components<br />

following the assume/guarantee reasoning style:<br />

• The assumption of a contract defines under which environment conditions a component<br />

is expected to work, and<br />

• the guarantee characterizes ensured behavior of the component, given that the assumptions<br />

are satisfied.<br />

46/ 156

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

Saved successfully!

Ooh no, something went wrong!