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.

58 Abstraction <strong>of</strong> a Problem Domain<br />

In contrast to the world <strong>of</strong> s<strong>of</strong>tware design, there is no modelling tradition yet in the<br />

world <strong>of</strong> hardware designers. There is no ’hardware engineering’ counterpart <strong>of</strong> ’s<strong>of</strong>tware<br />

engineering’. Most designers follow an ad hoc top down functional approach<br />

’straightforward’ to an implementation. Although digital hardware designers started<br />

to adopt simulation and use <strong>of</strong> higher level languages such as VHDL [IEE88], there is<br />

almost no tradition in abstract and implementation independent modelling <strong>of</strong> a problem<br />

domain.<br />

A ’system’ specification and design method must <strong>of</strong>fer concepts for the creation <strong>of</strong> two<br />

models concurrently:<br />

1. a problem domain model;<br />

2. an architecture/implementation structure model.<br />

For the domain model we choose an object-oriented approach. In this chapter we<br />

discuss what objects are and how they can be used to model a system. The phenomenon<br />

object has many aspects. The focus in this chapter is on sorts <strong>of</strong> objects, composites <strong>of</strong><br />

objects, static properties <strong>of</strong> objects such as relations, services and attributes. The study<br />

<strong>of</strong> these aspects formed the basis for the development <strong>of</strong> the method SHE. Dynamic<br />

behaviour and dynamic properties <strong>of</strong> (collaborating) objects are described in Chapter<br />

6. Architecture and implementation structure modelling must guarantee the physical<br />

feasibility <strong>of</strong> the system. Structure modelling is described in Chapter 5.<br />

4.2 Objects<br />

4.2.1 An Object represents an Object<br />

In this chapter we start depicting objects. We can look at objects form various points<br />

<strong>of</strong> view. The phenomenon ’object’ will appear to be very complicated. A good understanding<br />

<strong>of</strong> the new specification method requires a good understanding <strong>of</strong> the concept<br />

<strong>of</strong> object. There are two ways to look at objects. A first practical approach is to look at<br />

the use <strong>of</strong> objects for the purpose <strong>of</strong> system modelling. In this case the meaning <strong>of</strong> an<br />

object is related to the thing that the object represents. Secondly objects can be studied<br />

from a conceptual point <strong>of</strong> view. In this second case we really try to understand what<br />

the concept <strong>of</strong> object means. How powerful is the concept <strong>of</strong> ’object’ for the analysis<br />

and description <strong>of</strong> complex systems?<br />

A study <strong>of</strong> the concept <strong>of</strong> ’object’ shows very quickly that there is not such a thing as ’a<br />

concept <strong>of</strong> object’. There appear to be as many different concepts <strong>of</strong> object as there are<br />

object-oriented methods and languages. A simple example is the existence <strong>of</strong> sequential<br />

and parallel object-oriented languages. When the concept <strong>of</strong> object is chosen such that<br />

it can perform parallel behaviour, it is completely different from a concept <strong>of</strong> object that<br />

can only perform sequential behaviour. When a method has a concept <strong>of</strong> object that is<br />

chosen to be sequential, the method can not be used to model parallel systems.

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

Saved successfully!

Ooh no, something went wrong!