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.13 Object Class Models 103<br />

Another useful set <strong>of</strong> sorts is defined in the method OOSE by Jacobson et al. [J<br />

Interface objects model behaviour and information that is dependent on the interface<br />

to the system, between the users and the system.<br />

Entity objects model information in the system that should be held for a longer<br />

time.<br />

Control objects model functionality that is not naturally tied to any other object, for<br />

example, behaviour that consists <strong>of</strong> operating on several different objects, doing<br />

some computations and then returning the result to an interface object.<br />

In addition to these sorts Jacobson defines ’subsystems’ comparable to clusters, and<br />

’blocks’ which are design objects, normally aiming to implement analysis objects.<br />

The sorts we discussed here are defined to be able to reason about the design <strong>of</strong> the<br />

object model. They <strong>of</strong>fer a meta-level in the form <strong>of</strong> ’object class types’. We do not have<br />

the intention to formalise these sorts in any way into the model. Therefore we do not<br />

<strong>of</strong>fer specialised representations for these ’types’. Any model is constructed with data<br />

objects, process objects, clusters, and their respective classes. A method such as OOSE,<br />

<strong>of</strong>fers separate representations for interface objects, control objects, and entity objects<br />

[J<br />

92]. We decided to keep the number <strong>of</strong> representations and primitives that we <strong>of</strong>fer<br />

as small as possible. A wish to distinguish or reveal various sorts must be handled by<br />

finding appropriate names for the objects.<br />

4.13 Object Class Models<br />

An Object Class Model is a collection <strong>of</strong> diagrams. These diagrams visualise object<br />

classes and their relations. An Object Class Model gives a rather abstract, so-called<br />

conceptual view, on the system to be designed. Most object-oriented analysis methods<br />

[R<br />

91, C<br />

94, CY91a, CY91b, J<br />

92]:<br />

92, Boo91, Mor94, SM88] <strong>of</strong>fer such models. We call it<br />

Object Class Model to distinguish it clearly form Object Instance Models. Usually they<br />

are called Object Models. There is an overwhelming amount <strong>of</strong> publications and books<br />

on object modelling. In contrast to object instance modelling, object class modelling is<br />

relative mature.<br />

Our goal is to achieve improvements in the modelling <strong>of</strong> reactive distributed and embedded<br />

systems for hardware/s<strong>of</strong>tware implementations. Therefore we spent less research<br />

effort in Object Class Modelling. In contrast to improving object modelling, we developed<br />

an analysis approach that focuses simultaneously on ’class modelling’, ’instance<br />

modelling’, ’behaviour modelling’ and ’architecture modelling’. In our point <strong>of</strong> view<br />

class modelling is strongly overemphasised in most methods. We organised our work<br />

to be complementary to existing work, as much as possible. Concerning object class<br />

modelling we integrate the valuable results <strong>of</strong> work <strong>of</strong> others. However some <strong>of</strong> this<br />

work revealed that there are fundamental problems, such as the inheritance anomaly<br />

[MY93] and the difference between inheritance and subtyping [Coo89]. These problems<br />

can cause consistency problems and formalisation problems in a method. Consequently

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

Saved successfully!

Ooh no, something went wrong!