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.

9.4 Context Conditions 269<br />

We are now ready to define what we consider to be a specification <strong>of</strong> a system. A<br />

system specification consists <strong>of</strong> four parts. The first part is a behaviour specification BSpec<br />

which expresses how the actual system is composed from instances <strong>of</strong> classes defined in<br />

Sys p . A behaviour specification is a parameterised behaviour specification which contains<br />

no expression parameters. We will let B<strong>Specification</strong>s denote the set <strong>of</strong> all behaviour<br />

specifications, and we let it range over BSpec¥¡ ¡ ¡<br />

BSpec :: C p (E1 ¥¡ ¡ ¡ ¥ Er)<br />

¡ C c (E1 ¥¡ ¡ ¡ ¥ Er)<br />

¡ ¢<br />

¡<br />

BSpec1 BSpec2<br />

BSpec L<br />

BSpec§ f ¡<br />

Cp ¥¡ ¡ ¡ ¥ (E1 Er) and Cc ¥¡ ¡ ¡ ¥ (E1 Er) denote an instance <strong>of</strong> some process class Cp ¡ ¡ ¥ yr re-<br />

y1¥¡<br />

spectively <strong>of</strong> some cluster class Cc ¥¡ ¡ ¡ ¥ Pr P1 , initialised to expressions ¥¡ ¡ ¡ ¥ E1 Er. These<br />

expressions are called initialisation expressions, since they initialise the instance. Upon<br />

initialisation <strong>of</strong> instance Cp ¥¡ ¡ ¡ ¥ (E1 Er), expressions ¥¡ ¡ ¡ ¥ E1 Er are evaluated from left to<br />

right and the results are bound to the corresponding instance y1¥¡ ¡ ¡ ¥ variables yr. All<br />

other instance variables are initialised to nil. Then the initial method is called. Upon initialisation<br />

<strong>of</strong> the instance <strong>of</strong> cluster class Cc ¥¡ ¡ ¡ ¥ Pr P1 , expression parameters ¥¡ ¡ ¡ ¥ P1 Pr<br />

are syntactically substituted by ¥¡ ¡ ¡ ¥ E1 Er. Then all constituents <strong>of</strong> the behaviour specification<br />

are initialised.<br />

The second part <strong>of</strong> a system specification is an empty list. The meaning <strong>of</strong> this part will<br />

become clear in Subsection 9.5.2.<br />

The third part is a system Sys p which contains the set <strong>of</strong> all process classes and cluster<br />

classes, and the last part is a system Sys <strong>of</strong> non-primitive classes <strong>of</strong> data objects. Formally,<br />

we define the set <strong>of</strong> all system specifications S<strong>Specification</strong>s, with typical elements SSpec¥¡ ¡ ¡ ,<br />

as<br />

SSpec :: BSpec¥<br />

<br />

¥ Sys p ¥ Sys 2<br />

9.4 Context Conditions<br />

In this section we will describe the context conditions that have to be satisfied by specification<br />

<br />

¥ Sys BSpec¥ p Sys to be valid. The set <strong>of</strong> conditions is partitioned into the<br />

¥<br />

following three groups:<br />

Conditions concerning Sys<br />

(1’) All context conditions defined in Section 8.4 have to be satisfied.<br />

Conditions concerning Sys p<br />

2 In practice we <strong>of</strong>ten omit the empty list and write BSpec Sys p Sys in stead <strong>of</strong> BSpec<br />

<br />

Sys p Sys .

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

Saved successfully!

Ooh no, something went wrong!