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 />
and so forth. Each of such design steps usually involves an assignment of requirements to<br />
the identified components. Some requirements are usually derived from formerly identified<br />
requirements, while other requirement occur due to the introduction of new components and<br />
interfaces.<br />
To stress the air conditioning example, we may have the requirement for an air-conditioning<br />
function (in the functional perspective) to provide air from the environment of an airplane with<br />
certain quantity and temperature. To show the simplest form of deriving a requirement for the<br />
logical perspective at the same abstraction level, there may be exactly one logical component<br />
performing the air conditioning function. In such a case, it seems to be obvious to assign the<br />
same requirement to the logical component as to the corresponding function.<br />
In more complex settings, logical components may perform several functions (sequentially,<br />
parallel, or in any other order), or several logical components may be involved performing a<br />
single functionality. Here, deriving requirements for one perspective from another may be more<br />
complex, particularly for the latter case. 3<br />
The same can be said for the relation between logical and technical components. A logical<br />
component may be performed by a single technical entity. It may be also performed by a<br />
composition of different entities, may be involving mechanical, computational and other components.<br />
Indeed there may be requirements that are unique to specific perspectives. For example,<br />
geometrical constraints such as packaging sizes, cable lengths, and so on become important<br />
only in the geometrical perspective. On the other hand, there are typically requirements that<br />
are important for multiple perspectives. Requirements identified for system functions for example<br />
are important in order to establish justification for proper system design. Satisfaction<br />
of those requirements can however often not be established in the functional perspective, e.g.<br />
due to missing specification of internal behavior. <strong>SPES</strong>MM provides concepts to reason about<br />
requirements across different perspectives, and to establish the corresponding relations.<br />
Abstraction Levels The same problems that occur with respect to reasoning about contracts<br />
across different perspectives hold for abstraction levels. When a system is designed incrementally,<br />
the same system is represented at different levels of granularity. Although various refinement<br />
steps can be established by decomposition of components, there are other cases where<br />
changing the abstraction level is more appropriate. This may be simply due to organizational<br />
boundaries, where different departments in a company are responsible for certain subsystems.<br />
A more formal reason is the fact, that refinement not always follows a decomposition approach,<br />
but demands for more complex m-to-n relations.<br />
Note that there is no explicit deployment defined for different aspects of components. The<br />
reason for this is, that the specification of different aspects has no direction. Instead, aspect<br />
specifications of a component are often closely and interdependently entangled, and relations<br />
between different aspects of specifications have to be made explicit. An example for multiaspect<br />
specification can be found for example in [18].<br />
4.4.1 Mapping<br />
Since the requirements for creating interfaces between perspectives and between abstraction<br />
levels are very similar, the <strong>SPES</strong>MM introduces the common concept of mapping. Technically,<br />
3 A convenient way to circumvent such problems is to start with a surrounding component that uses decomposition<br />
to achieve the intended result, and that keeps the simple one-to-one relation between functions and logical<br />
components<br />
62/ 156