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.

214 Modelling <strong>of</strong> Concurrent <strong>Reactive</strong> Behaviour<br />

6.6.6.2 Method Calls<br />

After initialisation <strong>of</strong> its instance variables a process starts automatically with its initial<br />

method call. Methods can be called without the reception <strong>of</strong> a message. This is possible<br />

because <strong>of</strong> the separation <strong>of</strong> the concepts <strong>of</strong> message and method. Methods have been<br />

described in Paragraph 4.15.3.2. We summarise the most important remarks <strong>of</strong> that<br />

paragraph:<br />

The name <strong>of</strong> a message to be received corresponds to a service that is <strong>of</strong>fered by the<br />

process objects <strong>of</strong> the class for which the message is defined.<br />

Names <strong>of</strong> messages to be sent correspond to results <strong>of</strong> operations to be performed.<br />

A service may consist <strong>of</strong> one or more operations.<br />

Process objects may be concurrent autonomous entities that perform operations on<br />

their own initiative. The initial method call is a typical example.<br />

Operations are performed by pieces <strong>of</strong> behaviour called methods. The method names<br />

serve only for the internal behaviour description. They are in principle completely<br />

independent <strong>of</strong> the message names. However for readability and comprehensibility<br />

<strong>of</strong> a behaviour specification it is strongly recommended to create a correspondence.<br />

6.6.6.3 Named States<br />

Methods are grains <strong>of</strong> behaviour that can be used in a flexible way. When a process is<br />

executing a method this can be interpreted as being in a behaviour state. This interpretation<br />

makes the method a sort <strong>of</strong> named state. Of course this approach works solely when<br />

the grains <strong>of</strong> behaviour are designed and named adequately. We call this modelling<br />

style a state-oriented style. Such a style can lead to very clear descriptions that make<br />

the communication during model reviewing easier.<br />

6.6.6.4 Method Definition<br />

The behaviour <strong>of</strong> a process starts with its initial method call typically defined as<br />

m(E1 ¥¡ ¡ ¡ ¥ Eq)( ). The results <strong>of</strong> expressions E1 ¥¡ ¡ ¡ ¥ Eq are bound to the input parameters<br />

<strong>of</strong> the initial method which is one <strong>of</strong> the instance methods. An initial method has<br />

no output parameters.<br />

The other instance methods are named pieces <strong>of</strong> behaviour that compose the internal<br />

sequential behaviour <strong>of</strong> a process. POOSL is very powerful in the sense that it enables<br />

very compact and flexible behaviour descriptions. Behaviour can be described as either<br />

sequences <strong>of</strong> methods, or non-deterministic choices for alternatives. Methods can also<br />

be used in a mutual recursive way so that non-terminating behaviour can be described<br />

(see also Subsection 9.7.4). Besides that, interruption or abortion <strong>of</strong> a method can be<br />

defined.

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

Saved successfully!

Ooh no, something went wrong!