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.

6.5 Scenarios 199<br />

collection <strong>of</strong> texts. During the following analysis and design phases verification <strong>of</strong> results<br />

towards these informal texts must be executed. Notice that our scenario approach works<br />

rather different. We recommend to identify the necessary players and other objects in the<br />

system as soon as possible. These objects interact via a structure <strong>of</strong> message flows. This<br />

visualises who needs who. The behaviour <strong>of</strong> complex systems cannot be defined on the<br />

context level. Therefore we need scenarios on various specification levels and as various<br />

views as a means to discover the complete required behaviour. A top down approach<br />

makes it very difficult to make a complex system specification complete. Unfortunately<br />

Jacobson’s use case approach has the style <strong>of</strong> top down analysis.<br />

The interesting point in the use case approach is that it looks at several roles that users<br />

can play at different times, and the various forms <strong>of</strong> behaviour a system can perform<br />

from the point <strong>of</strong> view <strong>of</strong> a specific user. We can generalise this approach towards<br />

collaborating instances inside or outside the system. A collaborating instance is also a<br />

kind <strong>of</strong> user, with specific use cases. This is typically what scenarios can describe.<br />

OOSE develops a design and implementation model after a requirements model and an analysis<br />

model. Use cases can be mapped onto interaction diagrams in the design modelling<br />

phase. Interaction diagrams are graphical representations that show the interactions<br />

between objects and the system environment with respect to time. This is a useful<br />

approach which is also commonly accepted for the design <strong>of</strong> communication systems.<br />

We consider to implement this form <strong>of</strong> representation in our method (see future research,<br />

Chapter 13).<br />

Coleman et al. [C 94] define a scenario in the Fusion method as ’a sequence <strong>of</strong> events<br />

between agents and the system that is carried out for some purpose. Scenarios are represented on<br />

time-line diagrams.’ The Fusion approach starts with the creation <strong>of</strong> an object model and<br />

the development <strong>of</strong> an interface model. Scenarios visualised as time-line diagrams play<br />

a very limited role for user interface modelling on context level. They are formalised at<br />

high level into a life-cycle model and an operational model, which define respectively<br />

controllers as regular expressions and operations by preconditions and postconditions.<br />

The concept <strong>of</strong> scenario is used in relation with object interaction graphs that are used<br />

in the design phase. This method is designed for analysis and design <strong>of</strong> relatively<br />

small systems. Time-line diagrams are an interesting possible addition to our scenario<br />

narratives.<br />

6.5.3 Developing Scenarios<br />

Scenarios must play a leading role in the design <strong>of</strong> complex reactive systems. The amount<br />

<strong>of</strong> interactions can be overwhelming in a complex system. The combination <strong>of</strong> the use<br />

<strong>of</strong> the concepts <strong>of</strong> hierarchical clustering, views, instance-oriented diagramming and<br />

scenarios, enable the necessary abstraction to conquer complexity. The key issue is that<br />

we design a model (which becomes the specification <strong>of</strong> a system) by playing scenarios. It<br />

is our way to find process objects, communication flows, the type <strong>of</strong> flows, clusters, data<br />

objects that are transported, etcetera. We play behaviour games as mental processes or<br />

trains <strong>of</strong> thought. Scenarios are the representations used for reasoning about behaviour,

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

Saved successfully!

Ooh no, something went wrong!