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.

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

• In both cases, provided air must be within a certain range. This range could be between<br />

12 ◦ C and 28 ◦ C in normal mode, while in degraded mode the maximum allowed temperature<br />

may be 32 ◦ C. These requirements are the guarantees of the air conditioning system,<br />

one for each corresponding weak assumption.<br />

The distinction between strong and weak assumptions may also affect the way to verify certain<br />

properties involving formal reasoning about contracts. This discussion is however out of<br />

scope of this section, and the interested reader is referred to Section 6.2. From a user perspective,<br />

strong assumptions can be seen as to be assigned to components instead of contracts. All<br />

contracts associated to a component shall maintain the same strong assumptions. If we use in<br />

the following the term assumption of a contract without attribution, we refer to the conjunction<br />

of both strong and weak assumptions.<br />

Deriving (formal) contracts from (informal) requirements is not always an obvious and easy<br />

task. To avoid ambiguities, often formal languages are used to state requirements with well<br />

defined meaning. It however does not only require some training to write requirements in such<br />

formal languages, it may also be hard to read them. The pattern based Requirement Specification<br />

Language RSL provides an easy to use formal language with well defined semantics, that is still<br />

readable like natural language. RSL patterns consist of static text elements and attributes being<br />

instantiated by the requirements engineer. Each pattern has well defined semantics in order<br />

to ensure consistent interpretation of the written system specification across all project participants.<br />

RSL allows writing of natural sounding requirements while being expressive enough<br />

to formalize complex requirements. To gain a high degree of intuition, the language consist of<br />

only a few constructs that can be easily remembered, to give the user the possibility to fully<br />

understand the RSL and to choose the right pattern that fits the properties he wants to demand<br />

of the system.<br />

RSL aims at providing expression of a large scale of requirement domains. It defines patterns<br />

for each of the following categories:<br />

• Functional patterns express requirements such as relationship between events, handling<br />

of conditions and invariants, and optional intervals in which a requirement (or parts of it)<br />

is valid.<br />

• Probability patterns, which are needed in almost all safety critical systems to express<br />

failure or hazard probabilities.<br />

• Safety related patterns outline relationships between system components. These patterns<br />

enable the specification of single point of failures or other failure and hazard dependencies<br />

between different components.<br />

• Timing patterns are used to describe real-time behavior of systems. This includes recurring<br />

activations, jitter and delay.<br />

RSL patterns normally contain optional parts that need not be instantiated. A functional<br />

pattern for example describing causality between two events looks like this:<br />

whenever event1 occurs event2 occurs [during interval]<br />

Phrases in square brackets are optional, bold elements are static keywords of the pattern, and<br />

elements printed in italics represent attributes that have to be instantiated by the requirements<br />

engineer. In the example above three attributes event1, event2 and interval exist, and the part<br />

[during interval] is optional.<br />

48/ 156

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

Saved successfully!

Ooh no, something went wrong!