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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8.5 A Computational Semantics 247<br />

The transition relation £ describes the individual steps <strong>of</strong> an execution. If we apply<br />

the relation repeatedly, starting with configuration S1¥ I1 , we obtain sequences <strong>of</strong><br />

configurations, called derivation sequences,<br />

S1¥ I1 ¥<br />

S2 ¥ I2 ¥<br />

S3 ¥ I3 ¥¡ ¡ ¡<br />

such that for all i 1 <br />

£ ¥ ¥ 1 Ii Si Si 1 Ii . Some <strong>of</strong> these sequences will be infinite and<br />

others will be finite. The finite sequences are <strong>of</strong> the form<br />

S1¥ I1 ¥<br />

S2 ¥ I2 ¥<br />

S3 ¥ I3 ¥¡ ¡ ¡ ¥<br />

Sk ¥ Ik<br />

where configuration Ik Sk is either a terminal or a stuck configuration, i.e., there exists<br />

¥<br />

no configuration such that S¥ I <br />

Ik £ S¥ I Sk . A terminal configuration represents<br />

¥<br />

the calculated information obtained by successful termination. A stuck configuration<br />

represents an unsuccessful termination.<br />

We can now define the semantics <strong>of</strong> a configuration S1¥ I1 . In this semantics we are<br />

only interested in the final results <strong>of</strong> the succesful execution <strong>of</strong> S1. Hence, we are not<br />

interested in (intermediate) results <strong>of</strong> non-terminating or stuck derivation sequences.<br />

The semantics <strong>of</strong> S1¥ I1 is then defined by the set V <strong>of</strong> all terminal configurations <strong>of</strong> all<br />

possible derivation sequences. This is done by defining a semantic function that maps<br />

S1 ¥ I1 onto V.<br />

In the following two paragraphs we will give an operational semantics <strong>of</strong> the data part<br />

<strong>of</strong> POOSL. Subsection 8.5.2 will start with a number <strong>of</strong> definitions. In Subsection 8.5.3<br />

the transition system is being developed. Subsection 8.5.4 defines the semantics <strong>of</strong><br />

configurations in terms <strong>of</strong> a semantic function<br />

. In Section 8.6 the transition system is<br />

extended to deal with the primitive deepCopy messages. Section 8.7 gives an example<br />

<strong>of</strong> the calculation <strong>of</strong> the semantics <strong>of</strong> a data expression in POOSL.<br />

8.5.2 Definitions<br />

Before we can define our operational semantics we have to give some definitions.<br />

We start defining the set NDObj <strong>of</strong> non-primitive data objects and let ¡ , ¡ ¡ range over<br />

NDObj 4 . Non-primitive data objects are represented by ’capped’ integer values. In fact,<br />

these ’capped’ integer values are really object identifiers and not the objects themselves.<br />

Most <strong>of</strong> the time, however, we will blur this distinction and call them objects instead.<br />

NDObj<br />

££¢ n n ¡£ ¦<br />

Together with the primitive data objects PDObj, this constitutes the set DObj <strong>of</strong> data<br />

objects, with typical elements ¤ , ¡ ¡ ,<br />

DObj NDObj ¦ PDObj<br />

4 We assume that for all ¥§¦ PDObj and ¨©¦ NDObj : ¥<br />

¨ .

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

Saved successfully!

Ooh no, something went wrong!