17.01.2014 Views

a way for applicable formal specification of safety requirements by ...

a way for applicable formal specification of safety requirements by ...

a way for applicable formal specification of safety requirements by ...

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.

mode “strong guided dialog“ so that the order <strong>of</strong><br />

the question is given. In the following the<br />

relevant classification criteria , which have to be<br />

decided are listed (a) with the questions<br />

belonging to them (b). Then the decision <strong>for</strong> the<br />

correct class the <strong>safety</strong> requirement belongs to is<br />

explained (c):<br />

1. a. Existence <strong>of</strong> a temporal logic<br />

aspect in the <strong>safety</strong> requirement.<br />

b. Does the <strong>safety</strong> requirement contain any<br />

temporal logic aspect?<br />

c. Yes, the possible message reception<br />

and the stop <strong>of</strong> the train be<strong>for</strong>e the<br />

level crossing are in a temporal<br />

relation. There<strong>for</strong>e the class dynamic<br />

<strong>safety</strong> requirement has to be selected.<br />

2. a. Type <strong>of</strong> time <strong>specification</strong>.<br />

b. Does the <strong>safety</strong> requirement contain<br />

any explicit time <strong>specification</strong>?<br />

c. No, there is no temporal statement in<br />

dependence on a system clock. For that<br />

reason it is a <strong>safety</strong> requirement with<br />

implicit time <strong>specification</strong> only.<br />

3. a. Existence <strong>of</strong> temporal dependencies<br />

between propositions.<br />

b. Does the <strong>safety</strong> requirement contain<br />

any temporal dependencies between<br />

propositions or does it require a<br />

reachability or an assurance <strong>of</strong><br />

reaching without temporal conditions?<br />

c. There exists a temporal dependency<br />

between ...<br />

• if the train receives the message<br />

“level_crossing_not_protected“ and<br />

• that the train stops be<strong>for</strong>e the level<br />

crossing.<br />

There<strong>for</strong>e, the <strong>safety</strong> requirement belongs<br />

to the class <strong>safety</strong> <strong>requirements</strong> with<br />

temporal dependencies between<br />

propositions.<br />

4. a. Temporal restriction <strong>of</strong> validity.<br />

b. What kind <strong>of</strong> temporal validity restriction<br />

<strong>of</strong> a property is to be set?<br />

c. It is stated at which point in time the train<br />

has to be stopped. So the correct class is<br />

beginning <strong>of</strong> validity.<br />

5. a. Frequency <strong>of</strong> validity in validity<br />

interval.<br />

b. What is the frequency <strong>of</strong> the predicate<br />

validity in the validity interval?<br />

c. There is no <strong>safety</strong> related necessary<br />

restriction with respect to the frequency<br />

but the train must stop at least one time<br />

if the train receives the negative message.<br />

There<strong>for</strong>e the right class is validity at<br />

least n times (with n=1).<br />

6. a. Modality <strong>of</strong> demand.<br />

b. What is the modality <strong>of</strong> demand?<br />

c. The <strong>safety</strong> requirement does not state a<br />

permitted or <strong>for</strong>bidden behaviour but a<br />

necessary one. That is why the class is<br />

necessity.<br />

7. a. Type <strong>of</strong> beginning <strong>of</strong> validity.<br />

b. When exactly should the validity <strong>of</strong> the<br />

demanded property begin?<br />

c. The stopping <strong>of</strong> the train may be started<br />

from that point in time on when the train<br />

receives the message. There<strong>for</strong>e, the<br />

<strong>safety</strong> requirement has to be assigned to<br />

the class validity from a certain point in<br />

time on.<br />

Based on this classification the following<br />

<strong>safety</strong> pattern with the appropriate explanation is<br />

identified:<br />

Safety pattern in norm language:<br />

b must be valid at least once together with or<br />

anytime after a is valid.<br />

Safety pattern in <strong>for</strong>mal language (CTL):<br />

AG (a → AF b)<br />

Specification <strong>of</strong> the <strong>safety</strong> requirement in<br />

norm language:<br />

(train.current_velocity=0 and<br />

train.current_position < levelcrossing.position_beginning)<br />

must be<br />

valid at least once together with or anytime after<br />

train.message_level_crossing_not_<br />

protected is valid.<br />

Specification <strong>of</strong> the <strong>safety</strong> requirement in<br />

<strong>for</strong>mal language (CTL):<br />

AG (train.message_level_crossing_not_<br />

protected → AF (train.current_<br />

velocity=0 and train.current_position<br />

< level-crossing.position_beginning))<br />

The example shows clearly that the variables<br />

<strong>of</strong> a <strong>safety</strong> pattern predicates can be substituted<br />

<strong>by</strong> state, event, action, condition or configuration<br />

variables <strong>of</strong> the corresponding operational<br />

model, which has to fulfil the <strong>safety</strong> requirement.<br />

Furthermore predicates with boolean meaning<br />

can be inserted like comparisons with >,

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

Saved successfully!

Ooh no, something went wrong!