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.

10.5 Example: The Elevator Problem 325<br />

Overweight<br />

Sensor<br />

('OS'+'0')<br />

osos0<br />

osos emem<br />

Over<br />

weight<br />

Sensor<br />

Image<br />

('OSI'+'0')<br />

ecem<br />

Elevator<br />

Mechanism<br />

Handler<br />

('EMH'+'0')<br />

Floor<br />

Sensors<br />

('0')<br />

Elevator<br />

Motor<br />

Image<br />

('EMI'+'0')<br />

ecos mhmi<br />

Elevator<br />

Motor<br />

Elevators<br />

Control<br />

Module<br />

Elevator<br />

Motor<br />

('EM'+'0')<br />

emem0<br />

Control<br />

Module('0')<br />

Individual<br />

Elevator<br />

('0')<br />

Central<br />

Controller<br />

Operator<br />

Audible<br />

Alarm<br />

('AA'+'0')<br />

Audible<br />

Alarm<br />

Image<br />

('AAI'+'0')<br />

Doors<br />

Image<br />

('DI'+'0')<br />

Elevator<br />

Passenger<br />

Image<br />

('EPI'+'0')<br />

aamh dimh emep<br />

ElevatorCage<br />

fpcc<br />

Doors<br />

('D'+'0')<br />

ControlModule('0')<br />

FloorPassenger<br />

InterfaceModule('0')<br />

fpcc<br />

Floor<br />

Passenger<br />

Image<br />

('FPI'+'0')<br />

fpfp<br />

fpfp0<br />

fpfp39<br />

...<br />

Floor<br />

Passenger<br />

('EP'+'0')<br />

Elevator<br />

Passenger<br />

('EP'+'0')<br />

Figure 10.4: Instance Structure Diagram <strong>of</strong> the Transformed Elevator <strong>Specification</strong><br />

12. The final step consists <strong>of</strong> making clusters <strong>of</strong> groups <strong>of</strong> instances. Consider the topmost<br />

OverweightSensorImage and the topmost ElevatorMotorImage <strong>of</strong> Figure 10.3. We<br />

will group them into a cluster <strong>of</strong> a new cluster class ElevatorMotorControlModule.<br />

We first apply transformations 2 and 3 to rearrange the behaviour specification<br />

<strong>of</strong> the system in such a way that the OverweightSensorImage and the ElevatorMotorImage<br />

are put side by side. The resulting behaviour specification then<br />

contains expression OverweightSensor (¡ OWS¡ ¡ 0¡ ) § ecem© ecos¥ osos0© osos ¢ ElevatorMotorImage<br />

(¡ EMI¡ ¡ 0¡ ) § ecem© mhmi¥ emem0© emem . Using 5 we transform it<br />

into OverweightSensor (¡ OWS¡ ¡ 0¡ ) § ecem© ecos¤§ osos0© osos¤¢ ElevatorMotorImage<br />

(¡ EMI¡ ¡ 0¡ ) § ecem© mhmi § emem0© emem . Then we apply 4 and obtain OverweightSensor<br />

(¡ OWS¡ ¡ 0¡ ) § ecem© ecos § emem0© emem¥ osos0© osos ¢ ElevatorMotorImage<br />

(¡ EMI¡ ¡ 0¡ ) § ecem© mhmi § emem0© emem¥ osos0© osos . The application <strong>of</strong> 6 (with<br />

condition NoComChange¡ ) yields (OverweightSensor (¡ OWS¡ ¡ 0¡ ) § ecem© ecos ¢ ElevatorMotorImage<br />

(¡ EMI¡ ¡ 0¡ ) § ecem© mhmi ) § emem0© emem¥ osos0© osos . Finally we<br />

apply transformation 13 to create a new cluster class. It is defined by

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

Saved successfully!

Ooh no, something went wrong!