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.

6.5 Scenarios 195<br />

entities. This subsection showed that considered use <strong>of</strong> these concepts is necessary to<br />

specify a distribution structure.<br />

6.5 Scenarios<br />

6.5.1 Scenario Concept<br />

A scenario describes the order <strong>of</strong> a coherent set <strong>of</strong> actions. A scenario defines and<br />

describes the responses elicited by communication with one or more objects outside the<br />

(sub)system under analysis. Scenarios are used to describe parts <strong>of</strong> behaviour that is too<br />

complex to be described as a whole.<br />

Scenarios provide two ways to master complex behaviour. They enable a divide and<br />

conquer strategy and are a means to distinguish views on the system. Examples <strong>of</strong> such<br />

scenarios are an initialisation scenario, a configuration scenario, a normal operation<br />

mode scenario and a shut down scenario. Scenarios can be used also to visualise an<br />

abstraction that fits to the user point <strong>of</strong> view.<br />

Scenarios that represent a view <strong>of</strong> a discipline are useful because they enable showing<br />

the right abstraction <strong>of</strong> behaviour to an expert in the discipline. This enables reviewing<br />

<strong>of</strong> a model in an efficient way. Examples are a test scenario, a maintenance scenario, a<br />

repair scenario and a safety scenario.<br />

We visualise a scenario by drawing appropriate communication flows into a dedicated<br />

Message Flow Diagram. These flows are the stimuli and responses <strong>of</strong> the processes that<br />

participate in a specific scenario. In general, only a part <strong>of</strong> the processes <strong>of</strong> a model<br />

participates in a particular scenario. Process objects that are superfluous for a particular<br />

scenario must be hidden to prevent cluttering the scenario. In current practice we use<br />

a graphical drawing tool that <strong>of</strong>fers a concept <strong>of</strong> layers. Layers as well as objects can<br />

be set to be active or visible. Colouring the layers gives additional discrimination that<br />

helps during the development <strong>of</strong> scenarios. Tools to be developed for SHE must at<br />

least have such a layer feature. In addition they must preserve layers over hierarchy<br />

boundaries. Figure 6.17 through Figure 6.19 show three scenarios for a part <strong>of</strong> a feeder<br />

model <strong>of</strong> a mailing machine. Notice that there are differences as well as similarities in<br />

objects and flows in the scenarios. All the flows, objects, and clusters found during the<br />

modelling process must be assembled to be able to describe the POOSL object classes.<br />

The assembled information <strong>of</strong> all scenarios is shown in a single diagram in Figure 6.20.<br />

This diagram represents a so-called scenario assembly. Notice that we visualise instances<br />

and not classes. Only by making a pile <strong>of</strong> all instances <strong>of</strong> a certain class we can get an<br />

overview <strong>of</strong> all flows (and channels) that we need to describe the class message interface<br />

in POOSL.<br />

In addition to the graphical representation we describe scenarios in a narrative way.<br />

Such a narrative description is called a scenario narrative. A scenario narrative is a text<br />

that describes the causal relations between:

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

Saved successfully!

Ooh no, something went wrong!