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.

352 SHE Framework<br />

things in a problem domain may very well become process objects. In a functional<br />

approach these entities will be modelled as data. However, a conceptual thing can be<br />

considered as an autonomous process object that hides its data, and that can for instance<br />

be requested to give its data or calculate an alternative representation <strong>of</strong> that data.<br />

11.4.5.4 Hierarchy<br />

For complex systems it will be impossible to come up with a first time right approach<br />

towards the structure <strong>of</strong> the MFDs. A complex model is structured as a hierarchy <strong>of</strong><br />

MFDs. The system level is the highest level in the hierarchy. A system level MFD shows<br />

the combination <strong>of</strong> flows between the main modules <strong>of</strong> the system that are represented<br />

as clusters. On the lower levels <strong>of</strong> the hierarchy, clusters are decomposed into smaller<br />

clusters and process objects. On the lowest level clusters are decomposed into process<br />

objects only.<br />

A general problem <strong>of</strong> graphical models is that they can be structured in an infinite<br />

number <strong>of</strong> ways. The way a model is structured has an influence on further actions <strong>of</strong><br />

a designer. In a complex system, groups <strong>of</strong> objects must be clustered. People tend to<br />

cluster objects that are near to each other. There are however a lot <strong>of</strong> considerations that<br />

are much more important than the accidental proximity <strong>of</strong> an object.<br />

The architecture <strong>of</strong> the system determines the system level structure <strong>of</strong> the MFDs.<br />

Modules from the architecture design are modelled consistently as clusters in<br />

MFDs.<br />

Well defined clusters are necessary to support boundaries that specify for instance<br />

aggregates by abstraction boundaries, hardware/s<strong>of</strong>tware partitioning by implementation<br />

boundaries, constraints on concurrency with concurrency boundaries<br />

and physical distribution by distribution boundaries.<br />

Various heuristics from other methods can be used. For instance [WM85] recommends<br />

heuristics such as to create minimum interfaces, to use response related<br />

grouping, to use terminator related groupings, etcetera.<br />

An important rule is that a cluster should preferably represent some nameable entity<br />

in the problem domain or in the conceptual solutions to be modelled. Notice that it<br />

can take some time before it becomes clear whether some entity must be modelled as a<br />

process object or as a cluster.<br />

11.4.5.5 Scenarios<br />

There is such a huge amount <strong>of</strong> aspects that can be considered for a specification that<br />

it is wise to restrict and guide the fields <strong>of</strong> attention. We introduced scenarios as a<br />

means to abstract information. In general, scenarios that are used for conquering the<br />

functional complexity <strong>of</strong> a system cannot be determined in advance. They can be diverse<br />

and will emerge during modelling. For example in the Buhrs case (see Chapter 12) we<br />

developed separate scenarios for the modules (stations) in the architecture diagram.<br />

A generic approach can be found by distinguishing different working modes, such as

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

Saved successfully!

Ooh no, something went wrong!