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.2 Architecture 119<br />

Requirements Description. An example is a standard architecture (layering) such as<br />

the ISO/OSI model. This model prescribes a (functional) decomposition <strong>of</strong> a s<strong>of</strong>tware<br />

system into prescribed layers, and their corresponding interfaces. Such a model enables<br />

the individual redesign or exchange <strong>of</strong> layers. This can only be done when functionality<br />

and interfaces <strong>of</strong> the layers is prescribed beforehand.<br />

5.2.3 Modules<br />

The definition <strong>of</strong> architecture is based on the concept <strong>of</strong> modularity. Modules are units<br />

that define interfaces. When a system is decomposed (top down) or composed (bottom<br />

up) modules are used to represent the subsystems. Such decomposition into modules<br />

may be physical or logical. Notice that ’the modularity’ <strong>of</strong> a system is an important<br />

property, and that modularity defines important properties. The design decisions that<br />

cut the system into pieces for example determine their possible reusability.<br />

Some architectures define rather regular structures <strong>of</strong> (identical) modules. Examples are<br />

transputer networks, systolic arrays, and wave front arrays. Depending on the size <strong>of</strong><br />

the modules in relation to the system, there are coarse grain and fine grain architectures.<br />

A coarse grain architecture has relatively few interconnected modules, in contrast to the<br />

many modules in a fine grain architecture.<br />

Especially the specification <strong>of</strong> distributed systems requires a solid architecture design<br />

before making a more detailed specification. Detailed dynamic behaviour specification<br />

is described in Chapter 6. The style <strong>of</strong> a behaviour description <strong>of</strong> a module should be<br />

influenced strongly by its properties. When the modules are physically distributed they<br />

require for example another form <strong>of</strong> communication than modules that are part <strong>of</strong> a<br />

monolithic piece <strong>of</strong> s<strong>of</strong>tware.<br />

5.2.4 Distribution<br />

A distributed system architecture is <strong>of</strong>ten discovered by studying the real world. This is<br />

illustrated in Figure 5.1 and Figure 5.2. These pictures show a physical topology which<br />

is prescribed by geological or spatial properties <strong>of</strong> the system to be specified. The figures<br />

could for example represent a production line, where Module G is a system controller<br />

and Modules A through D are production machines. The machines may be physically (or<br />

geographically) separated. By identifying an architecture <strong>of</strong> modules we can prescribe<br />

corresponding boundaries that must be taken into account during analysis. This enables<br />

an early discussion about for example the distribution <strong>of</strong> intelligence. Module G may be<br />

specified to perform all control tasks, or may be simplified by taking the design decision<br />

to let the Modules A through D perform a part <strong>of</strong> the control task locally. Such a decision<br />

influences also the possible solution for the interconnect structure. In Figure 5.2 each<br />

connection can use its full bandwidth at any time, whereas the interconnect topology <strong>of</strong><br />

Figure 5.1 leads to sharing <strong>of</strong> a common channel’s bandwidth. Sharing <strong>of</strong> the channel<br />

leads to behaviour consequences for all modules. For instance the modules might need<br />

an address (identifier) to enable communication.

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

Saved successfully!

Ooh no, something went wrong!