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.

5.3 Design Philosophy 121<br />

this. The idea is that architecture design is kept rather informal. This is necessary because<br />

<strong>of</strong> the multiformity <strong>of</strong> architecture itself. We do not prescribe graphical notations, nor<br />

do we <strong>of</strong>fer special symbols (yet). Designers are free to choose what is appropriate for<br />

the goal. In practical cases there may be several forms <strong>of</strong> architecture that play a role<br />

simultaneously. There will also be several forms on different levels <strong>of</strong> abstraction. All<br />

this information must gradually be mapped as constraints into the specification.<br />

A formalisation process is performed via subsequent steps, called transformations (defined<br />

in Section 5.9 and in Chapter 10). Objects that must be joined into modules<br />

according to an architecture are placed in boundaries that correspond to architecture<br />

modules. This is done by transforming Object Instance Models. Wherever possible,<br />

clusters will be used to implement boundaries.<br />

5.3 Design Philosophy<br />

5.3.1 Conceptual Solutions<br />

Design is <strong>of</strong>ten connected to creativity. The phenomenon creativity is not well understood<br />

yet. Most useful ideas in design are based on existing ideas, or are variations or<br />

combinations <strong>of</strong> them. Design ideas are usually formed by recognition <strong>of</strong> structure or<br />

requirements seen before, or by discovering analogies. There are, for instance, many<br />

technical systems that are designed in analogy to nature. To be able to do this, humans<br />

use mental models. Good designers are able to create abstractions in their mind <strong>of</strong><br />

complex systems or problems and solutions. Solving a design problem on system level<br />

is in most cases finding a conceptual solution and gradually verifying whether this can<br />

really solve the problem. This cannot be done immediately because the problem to be<br />

solved is only just understood after playing around with a model (or a prototype) for<br />

some time.<br />

Besides technical considerations there are also rather non-technical considerations that<br />

play a role during design. Designers can give preference to architectures just because<br />

they are more appealing in the sense <strong>of</strong> elegance or beauty. Aesthetic properties have<br />

to do with taste rather that technical arguments. They are related to acceptance, recognisability<br />

and comprehensibility, which is very important for a specification. These<br />

psychological phenomena may lead to a choice for conceptual solutions on rather arbitrary<br />

grounds. Most projects start with the selection <strong>of</strong> a conceptual solution. This is<br />

also related to a so-called feasibility study. Contractors or principles <strong>of</strong>ten require or<br />

firmly suggest a conceptual solution before a project is approved. Such decisions must<br />

be taken very <strong>of</strong>ten on quite intuitive grounds. In general design is not a pure process,<br />

where the most economical solution is selected from the universe <strong>of</strong> possible solutions.<br />

A conceptual solution has usually an implicit specific structure that determines an<br />

architecture <strong>of</strong> a (sub)system. So architecture <strong>of</strong>ten comes naturally with a chosen<br />

concept. Without perseverance <strong>of</strong> the implicit structure the chosen conceptual solution<br />

will not be recognised anymore in a specification model. This is already reason enough

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

Saved successfully!

Ooh no, something went wrong!