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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.17 Summary 115<br />

Accidental Properties<br />

There are various programming styles that can be used to ’implement’ a behaviour<br />

specification in POOSL. Most analysis methods recommend to focus on the essence <strong>of</strong><br />

the problem domain, and to omit implementation details. Therefore the types that will<br />

be identified during analysis are based on properties and aspects that are related to<br />

the essence <strong>of</strong> the problem only. Class definitions are written to cover the behaviour<br />

requirements found during analysis.<br />

Imperative behaviour descriptions introduce additional properties that have not been<br />

taken into account in an implementation independent analysis. For instance, the realtime<br />

behaviour <strong>of</strong> two alternative descriptions may vary substantially, when both descriptions<br />

are implemented straightforward into a particular technology. Such properties<br />

depend on the specification programming style or the subset <strong>of</strong> constructs that have<br />

been used, and especially the internal structure <strong>of</strong> the behaviour description. We want<br />

to prevent that such properties are introduced accidentally or unintentionally. This can<br />

only be prevented by taking architecture and implementation requirements into account<br />

during analysis. This approach is a key issue in our method. It prevents iterations and<br />

facilitates system implementation.<br />

Style Guidance<br />

A class defines the implementation and thereby the internal structure <strong>of</strong> an object <strong>of</strong><br />

that class. A type does not define any internal structure or internal representation <strong>of</strong><br />

attributes. A type specifies only the external observable behaviour. An object type<br />

embodies all object implementations that satisfy the specification. Therefore the type<br />

concept is not enough to give guidance to the creation <strong>of</strong> classes.<br />

Implementation constraints may require the definition <strong>of</strong> a variety <strong>of</strong> classes for the same<br />

object types. The programming style <strong>of</strong> a class definition determines the internal structure<br />

<strong>of</strong> the description and additional properties. System aspects such as concurrency,<br />

distribution, and implementation technology determine what behaviour description<br />

style is most appropriate. To distinguish these aspects we introduce additional concepts<br />

in the following chapter.<br />

4.17 Summary<br />

We defined concepts derived from the many varieties <strong>of</strong> the object-oriented paradigm.<br />

This chapter focused mainly on how objects can be used for conceptual and static<br />

modelling <strong>of</strong> a problem domain. We showed that there are various interpretations <strong>of</strong><br />

the concept <strong>of</strong> object, because the concept itself is not yet completely understood. The<br />

most important concepts for handling complexity, such as aggregate, composite, cluster,<br />

have been defined. Besides that concepts for the description <strong>of</strong> properties <strong>of</strong> objects<br />

(such as identity, attributes, and operations), as well as properties <strong>of</strong> composites have<br />

been introduced. Relationships and their properties have been defined to enable socalled<br />

object modelling. For a more complete understanding <strong>of</strong> objects we describe the<br />

concepts for the description <strong>of</strong> its dynamic behaviour in Chapter 6.

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

Saved successfully!

Ooh no, something went wrong!