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.

11.4 Essential <strong>Specification</strong> Modelling 351<br />

we do not recommend a strict top-down approach, nor a bottom up approach. We<br />

propose to start in the middle by modelling the objects that represent the essence <strong>of</strong> the<br />

system.<br />

One or more conceptual approaches that model the essential functionality <strong>of</strong> the system<br />

must be evaluated. Useful heuristics for essential modelling can be found in [WM85].<br />

Important heuristics that we take from them are outside-in modelling, minimum interface<br />

modelling, and various heuristics for grouping. We also follow their guideline <strong>of</strong><br />

leaving interface technology out <strong>of</strong> an essential model.<br />

Objects in a problem domain are mapped into a model. External objects that are modelled<br />

as terminators can also be ’mirrored’ into the system as so-called images. In practice<br />

a considerable number <strong>of</strong> modelling attempts is necessary before we can find a model<br />

that is worthwhile to be completed.<br />

11.4.5.3 Finding Objects<br />

Objects are found as entities, things or concepts in the problem domain. A first approach<br />

is looking at nouns in the Initial Requirements Description. [R 91] gives a useful list <strong>of</strong><br />

guidelines for finding objects for OMT. The method OMT focuses on object class models.<br />

We can use the guidelines for finding objects for MFDs as well as for finding classes in<br />

Object Class Diagrams.<br />

Easily found are in general so-called real-world objects. They are found by studying<br />

the existing environment <strong>of</strong> a system to be designed. We defined image objects and<br />

artefact objects. Artefact objects model the conceptual technical solution that is usually<br />

incorporated in a reactive system.<br />

The modelling <strong>of</strong> objects requires experience and mature judgement. Entities in the<br />

problem domain are candidate objects. They may become attributes, data objects, process<br />

objects or clusters. A problem domain consists in general <strong>of</strong> entities on various<br />

levels <strong>of</strong> abstraction. A collection <strong>of</strong> data and operations can be enclosed in a domain<br />

boundary. Domain boundaries are modelled as clusters or process objects. Data is modelled<br />

as data objects or attributes that refer to data objects. Whether an entity becomes<br />

a cluster, a process object, a data object or an attribute requires careful consideration.<br />

Process objects are not just entities that perform functions. Objects should be balanced<br />

entities that are worthwhile to become autonomous things that encapsulate properties<br />

and perform behaviour.<br />

The balance between appropriate functionality and the right abstraction <strong>of</strong> properties<br />

can only be found if various aspects and properties <strong>of</strong> alternatives are considered. Once<br />

MFDs emerge it is useful to start making Object Class Diagrams. Besides the messages<br />

already found in MFDs, attributes must be written in the object classes. The aspect<br />

<strong>of</strong> reuse should be considered. Objects must be defined as generic as possible. Other<br />

objects may be designed as controllers that are less reusable. By defining controllers<br />

other objects can be constructed more generic. Notice also that conceptual non-tangible

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

Saved successfully!

Ooh no, something went wrong!