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.2 Objects 61<br />

wonder what other objects expect from us. If we think this way, we are very likely<br />

to discover new objects that were not defined yet. An object must be a recognisable<br />

concept or thing in the problem domain or the implementation domain. It must be<br />

possible to give it a name that covers a recognisable phenomenon. This highly improves<br />

comprehensibility <strong>of</strong> a model. Some arbitrary combinations <strong>of</strong> services are not likely to<br />

form an object. An object is an autonomous entity with properties that are relevant for<br />

the problem.<br />

The concept <strong>of</strong> ’object’ is not unambiguous. So far, we gave a very abstract understanding<br />

<strong>of</strong> what an object is. The definitions did not seem to show conflicts, but this<br />

is misleading. It will appear that various concepts such as continuous existence, concurrency,<br />

state, subtyping, inheritance and internal behaviour determine the precise<br />

semantics <strong>of</strong> object. The semantics are completely dependent on the specific composition<br />

<strong>of</strong> concepts that are used. Most current object-oriented specification methods<br />

define objects by rather abstract descriptions. This has the advantage that it leaves the<br />

possibility to implement a specification in different (object-oriented) languages. We do<br />

not have the option to leave the definition rather abstract. Simulation is necessary for<br />

complex hardware/s<strong>of</strong>tware systems as a means to get in depth understanding <strong>of</strong> various<br />

aspects <strong>of</strong> system behaviour. Executable behaviour descriptions are necessary to<br />

enable simulation. Executable specifications require precise semantics. Various aspects<br />

and properties that make objects suitable to model complex hardware/s<strong>of</strong>tware systems<br />

must be chosen. These concepts must be suitable for informal communication among<br />

people and must fit into a formal semantics.<br />

4.2.5 Abstraction Capabilities<br />

Defining an object implies ’drawing’ a boundary in the problem domain. This boundary<br />

encapsulates data and services into a shell, called an object. ’Objects are the granules that<br />

constitute a system. Objects are the fundamental unit <strong>of</strong> granularity’ [Weg90]. For the outside<br />

world, an object is a data abstraction. Data abstractions hide the representation <strong>of</strong> data<br />

and the implementation <strong>of</strong> operations. ’The essence <strong>of</strong> object-orientation is the encapsulation<br />

<strong>of</strong> data and operations in objects and the protection <strong>of</strong> individual objects against each other’<br />

[Ame89]. It is the object’s interface, at its boundary, that hides the internal representation<br />

<strong>of</strong> data and the implementation <strong>of</strong> operations. The interface enables co-operation with<br />

other objects.<br />

4.2.6 Real World and Artefact Objects<br />

Some objects are so-called real world objects. They model a thing or concept that can be<br />

observed during a study <strong>of</strong> the problem domain. Coad and Yourdon [CY91a] emphasise<br />

the real world object approach in OOA (Object-Oriented Analysis). The real-world<br />

approach suggests that objects somehow already exist. Analysis creates a model <strong>of</strong><br />

objects that is an image <strong>of</strong> existing real world objects. This approach is adequate for a<br />

variety <strong>of</strong> problem domains. However, complex reactive systems seem to have a ’heart’<br />

<strong>of</strong> objects that have been constructed creatively. These objects are artefacts that must be

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

Saved successfully!

Ooh no, something went wrong!