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.

140 Concepts for the Integration <strong>of</strong> <strong>Specification</strong> and Design<br />

[vR92, Bor93]. A glass box is a module that can be modified internally. This requires<br />

knowledge about its internal structure and behaviour.<br />

The concepts <strong>of</strong> black, white, and <strong>of</strong> glass are used in the context <strong>of</strong> frameworks that are<br />

described in the next paragraph.<br />

5.8.3.5 Frameworks<br />

All analysis boils down to the drawing <strong>of</strong> boundaries! The value <strong>of</strong> a well structured<br />

model is high. A model has its value for understandability, implementation, documentation,<br />

maintenance, test, redesign, subsequent design, etcetera. Reuse <strong>of</strong> designs can<br />

be improved by giving additional attention to the internal structure (framework) <strong>of</strong> a<br />

model. A framework is a generic object-oriented model (may be from specification to<br />

code) for a specific class <strong>of</strong> applications. A framework is designed to <strong>of</strong>fer a maximum<br />

<strong>of</strong> reusable components and should require a minimum <strong>of</strong> changes to create an<br />

application. It is a generic structure <strong>of</strong> collaborating instances <strong>of</strong> classes, that can be<br />

transformed into a working application with a minimum modification effort. (Notice<br />

that there are two completely different concepts <strong>of</strong> ’framework’. Outside this paragraph<br />

’framework’ means ’method framework’ as has been defined in Section 4.1 and Subsection<br />

5.4.2). Johnson’s [Joh94] research on frameworks emphasises the crucial value<br />

<strong>of</strong> well structured systems. He refers to Peter Deutsch [Deu89], stating that: ’Interface<br />

design and functional factoring constitute the key intellectual content <strong>of</strong> s<strong>of</strong>tware and is far<br />

more difficult to create or re-create than code.’ Information represented by clusters, that<br />

are collections <strong>of</strong> collaborating clusters <strong>of</strong> objects, is a valuable intellectual result. This<br />

cite confirms the difficulty <strong>of</strong> drawing such subsystem boundaries. Boundaries improve<br />

structure modelling beyond the limits <strong>of</strong> traditional object-oriented modelling.<br />

5.9 Transformations<br />

5.9.1 Definition<br />

A transformation is a modification <strong>of</strong> a model. It leads to a change <strong>of</strong> some properties <strong>of</strong><br />

the model (system), while others remain unmodified. Modelling consists <strong>of</strong> performing<br />

a large number <strong>of</strong> transformations.<br />

Horizontal refinement is achieved by adding objects, clusters, channels and messages<br />

on a specific abstraction level. Composition refinement is achieved by adding clusters,<br />

and decomposition fills a cluster with clusters and/or objects. Additions change the<br />

structure <strong>of</strong> the model. Both the hierarchical and the channel structure are involved.<br />

Boundaries specify properties <strong>of</strong> clusters. In general, boundaries are found from design<br />

decisions documented in Architecture and Implementation Structure Models. In<br />

general, boundaries are represented as clusters in Object Instance Models. Definition <strong>of</strong><br />

boundaries can lead to the need for additional clusters.

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

Saved successfully!

Ooh no, something went wrong!