23.08.2013 Views

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.6 Dynamic Behaviour 217<br />

to happen. If S p<br />

1<br />

is aborted, its rest statements are not executed. If Sp<br />

1 terminates<br />

successfully the complete statement terminates and S p<br />

2 is not executed at all.<br />

11. The interrupt statement S p<br />

1 interrupt S p<br />

2 enables breaking in on the execution <strong>of</strong> S p<br />

1<br />

with alternative statement S p<br />

2<br />

execution and the execution <strong>of</strong> S p<br />

1<br />

. The interruption happens if Sp2<br />

can be taken into<br />

arrived at a transition between two statements<br />

where interruption is allowed to happen. If S p<br />

1 is interrupted its rest statements<br />

are executed after S p<br />

2 terminates successfully. S p<br />

2 is not executed if S p<br />

1 terminates<br />

successfully.<br />

6.6.7 Modelling System Level Behaviour<br />

6.6.7.1 Cluster Class <strong>Specification</strong><br />

A cluster is a domain boundary around a group <strong>of</strong> collaborating process objects and/or<br />

clusters. The behaviour <strong>of</strong> a cluster is specified in a cluster class definition, which is<br />

typically:<br />

cluster class Cc ¡ ¥ ¡ ¥¡ ¡<br />

¡ ¡<br />

P1 Pr<br />

communication channels<br />

message interface<br />

ch1 chk<br />

l p<br />

1 ¡ ¡ lp behaviour specification<br />

m<br />

BSpecp The first element is the declaration <strong>of</strong> the cluster class name C. P1 ¥¡ ¡ ¡ ¥ Pr are so-called<br />

expression parameters. They are bound to data expressions when the cluster is instantiated.<br />

The channels <strong>of</strong> a cluster are defined by ch1 ¡ ¡ chk. The possible communication <strong>of</strong> a<br />

cluster is determined by its message interface, l p<br />

1 ¡ ¡ lp m. This message interface has the<br />

same meaning as in the case <strong>of</strong> process objects.<br />

A cluster contains an internal structure <strong>of</strong> one or more process objects and clusters. Its<br />

behaviour is completely determined by its internal objects. The behaviour description<br />

BSpec p is typically a composition <strong>of</strong> parameterised behaviour specifications <strong>of</strong> process objects<br />

and/or clusters. BSpec p is <strong>of</strong> one <strong>of</strong> the following forms:<br />

C p (PE1 ¥¡ ¡ ¡ ¥ PEr)<br />

C c (PE1 ¥¡ ¡ ¡ ¥ PEr)<br />

BSpec p<br />

1<br />

BSpecp BSpecp f §<br />

BSpecp2<br />

¢<br />

L<br />

Cp ¥¡ ¡ ¡ ¥ (PE1 PEr) denotes a single instance <strong>of</strong> a process class Cp ¡ ¡ ¥ yr ¡ . The<br />

y1¥¡<br />

instance variables ¥¡ ¡ ¡ ¥ y1 yr are initialised to the results <strong>of</strong> the evaluation <strong>of</strong> the parameterised<br />

data expressions PE. A parameterised data expression is a data expression that<br />

contains expression parameters. These parameterised data expressions are described in<br />

detail in Section 9.2.<br />

C c (PE1 ¥¡ ¡ ¡ ¥ PEr) denotes a single instance <strong>of</strong> a cluster class. A cluster contains at least an<br />

instance <strong>of</strong> a process class or an instance <strong>of</strong> another cluster class. In general however,

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

Saved successfully!

Ooh no, something went wrong!