Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
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