Professional Documents
Culture Documents
net/publication/3667574
CITATION READS
1 225
3 authors, including:
Peter N. Green
The University of Manchester
33 PUBLICATIONS 279 CITATIONS
SEE PROFILE
All content following this page was uploaded by Peter N. Green on 11 March 2016.
well tried methods at the expense of introducing tool and “Standard” Tools
method integration problems. Alternative paradigms
Figure 1: The MOOSE paradigm
attempt to devise homogenous methods and tools that
Four phases of incremental development precede the
provide an integrated route to system development, e.g.
synthesis of the implementation source. The first phase
[2, 8]. These have the advantage of being focused
develops an architecture having three components,
directly on the problem area, but have the corresponding
namely a Domain Model, an analysis of non-functional
disadvantage of needing either to invent completely new
requirements and a Behavioural Model that captures the
methods or to provide far-reaching extensions to existing
system’s functional requirements. In the second phase
methods, both cases requiring the development of
the Behavioural Model is extended to become an
supporting tools. For the reasons outlined elsewhere [9]
Executable Model, so that the behaviour can be
the research introduced in this paper falls into the latter
dynamically validated. During the third phase
category, and is based upon cospecification, codesign
experiments are performed with the Executable Model
and cosimulation, followed by automatic synthesis of
and transformations are applied that capture the decisions
implementation source from validated models.
committing objects to a software, firmware or hardware
implementation. This phase is concluded by associating
3. Features of the MOOSE paradigm all three kinds of objects with specific processors. At this
stage there is enough detail in the Committed Model to
As shown in Figure 1 the MOOSE paradigm starts
synthesise the complete C++ source for each processor in
from a product idea, and the MOOSE-specific part ends
the implementation, with the exception of functions that
when the development can be completed by applying
interface to hardware objects or which facilitates
standard techniques and tools to implementation source
interprocessor communication. In the fourth phase
for the hardware and software parts of the product,
sufficient hardware detail is developed in a Platform
automatically synthesised from a 'proven' model.
Model to support the complete synthesis of the
For software, C++ is the current implementation
implementation source, for both the software and
language and the 'standard tools' are the compilers and
hardware.
debuggers for that language. However, this choice of
The Platform Model is automatically created from the
language is not fundamental to the approach and it can
Committed Model. Its main purpose is to focus
adapt to lower level languages such as 'C' and Assembler,
subsequent design effort on hardware detail such as
or to alternative higher level languages. If necessary,
register interfaces and bus and memory organisation.
multiprocessor implementations can be developed, and
When completed, this model defines the interconnection
the automatic synthesis mechanism produces separate
of all the hardware components in the system, including
program source for each processor. The objects placed in
application specific hardware, processors, memories,
different processors, hence different programs, interact
buses and other interconnect mechanisms. In addition it
through communication mechanisms that are either
specifies the interfaces between application-specific
developed or selected in the final stages of model
software and hardware. There is enough information in
development.
this model for any style of hardware specification to be
For hardware, the current implementation language is
synthesised. 5. An example model
4. The modelling notation To demonstrate the principles of the modelling
approach and illustrate the notation, the well known
MOOSE models have an Object Oriented structure, 'Mine Pump' control system has been chosen since its
this is preferred to functional decomposition because of behaviour is simple but and it has just enough features to
its potential for greater stability during design evolution, bring out the main principles of MOOSE.
safer encapsulation of detail, and reuse. The Object Figure 1 indicates that if the water collecting at the
Oriented notation used differs from those typically used bottom of a mine shaft rises above a certain limit the
to analyse software systems (such as OMT, etc.) in that it pump should be switched on, and when the water has
focuses on the objects that form the system rather than a been sufficiently reduced the pump should be switched
classification of the application domain and their off. The pump can also be turned on and off by a human
relationships. This approach is motivated by the desire to operator. Any operator can control the pump when the
produce a system structure that provides a firm basis for water level is between the high and low sensors, and a
the partitioning of the system and the subsequent specific operator designated the 'supervisor' has the
synthesis of source code for the implementation. authority to control the pump whatever the water level.
An important aspect of a modelling notation is its For safety reasons there are sensors monitoring
ability to represent a system in manageable and readable methane (CH4) and carbon monoxide (CO)
portions with a well-organised structure. The hierarchical concentrations, and airflow; and an indication must be
structure of Structured Analysis and HOOD perform well given of any critical values since evacuation will be
in this respect, and hence a similar structuring mechanism required. Further, due to the risk of fire, the pump must
has been adopted for the MOOSE notation. Thus a not be operated when the atmosphere contains too much
complete model consists of a hierarchy of diagrams CH4. Finally all three sensors' values along with the
called Object Interaction Diagrams (OIDs), and the class pump status (i.e. on or off) should be periodically logged.
definitions for these objects. At the higher levels of the Operator Station
hierarchy the objects on an OID represent subsystems (Surface)
Mine Pump System
whose decomposition into objects is given on subordinate
diagrams. Decomposition stops at objects considered Airflow Sensor Environment
simple enough to be treated as primitive, and these are CO Sensor Monitor
defined by class definitions. CH4 Sensor
The MOOSE notation provides a number of object to
Pump
object communication types which represents Controller
abstractions of typical interaction mechanisms between Pump On/Off
computer system components. The semantics of these
communication mechanisms have been defined so that
High Water Sensor
executable models can be synthesised from the graphical Sump
model with comparatively little textual information being Low Water Sensor
required. Moreover, the major mechanisms can be Figure 2 - Schematic of the mine pump system
mapped directly into implementations in both hardware
and software. Briefly the communication types provide 6. The Behavioural Model for the mine pump
the means for an object to call a function (method) of
another object (interaction); make information available The External View is the top of the hierarchy of OIDs
on a time continuous basis (time continuous information that make up the Behavioural Model. This is developed
flow) and to broadcast events. In addition are there are with two principles in mind. Firstly, it is constructed to
clearly identify the scope of the system development, i.e.
parameterised event and time discrete information flows
to precisely identify what must be developed. Secondly,
that are used to connect a system to its external interface.
it presents a statement of the behaviour of the system as
These, as we will discuss later, present an abstract view
viewed from its external interface. The External View
of the interface and are provided so that the commitment
may be augmented with a set of State Transition
to a particular interface style can be postponed until the
Diagrams so that the system’s behaviour is precisely
consequences of its implementation can be understood.
defined.
The External View for the Mine Pump Control System
is shown in Figure 3. Here the system is represented as a
single object (a circle) that connects to a set of external principles in mind:
objects (rectangles). The scope of the system can be • Object oriented principles should be followed,
clearly seen. For example, the use of the external object therefore the objects should have neat encapsulation
Gas Sensors implies that the design of these sensors is and crisp interfaces
outside the scope of the Mine Pump System’s • Commitment to implementation should be minimised.
development; if they were to be developed as part of the Thus the objects developed should be capable of
system, an external object ‘Atmosphere’ would have been being implemented in hardware or software.
chosen. The connections CO Concentration, etc. are • The model serves as an architecture from which the
defined electrical signals that relay the concentration and system is built.
flow of gas to the system. The use of the external object • The model will express the maximum concurrency
Operator implies that the design and physical potential of the system; in the belief that it is easier to
development of the user interface will be carried out as reduce the concurrency as one derives the
part of this project. If this were not the case, physical implementation than it is to develop it.
external objects such as a keypad would have been used. Airflow
Speed
This interface also illustrates the principle of minimum CO Gas
Concentration GAS
commitment to a design decisions in the Behavioural CH4
INDICATORS
Concentration
Model. It shows that the operator can inform the system
that the pump should be turned on via the parameterised Log
GET VALUE
Information
event pump on. This event not only signals the
operator’s desire to start the pump but also carries as an Timer :
Log
Time Event
Logger :
Log End Of CH4
Timer CH4
associated parameter that indicates whether the operator Explosion
Risk
Explosion
Risk
PUT Log
A
End Of CH4 GET
and UnderGround. Experiments with the executable
Timer: Logger: Information CH4
E xplosion Operator
Log
Timer
(SUR)
Time Event
Log
(SUR)
Explosion
Risk Risk Class
PUT Pump
Pump On
model provide a means for validating the performance to
GET Pump
Indicator
Operator
Pump On
be expected.
Status
Low Water
Normal
Water
Operator
Pump Off After the processors have been chosen and objects
Level
Water:
Water High Water
Water
Controller:
Pump
PUT Control
Pump
Pump
Interface:
Pump
Control
have been assigned to them, the consequences for the
Level Driver Pump
High Water
Level (UG) GET Water
Status (SUR) (UG)
threads of execution running through the soft objects
Low Water have to be analysed. This analysis has to recognise that
Figure 5: Top level OID of the Committed Model each processor provides a sequential (but interruptable)
The important features are that there is little execution mechanism for the functions of the software
disturbance to the model and the changes that are not objects assigned to it, whereas in the model prior to
purely additive involve only localised transformations. processor commitment each object was considered to be
For example, the parameterised events are intercepted by concurrent. Checks to be made concern, for example,
the new object (User Console) behind which they become deadlines and times to service events, reachability,
interactions. Thus the discovery of user identity becomes integrity, and freedom from deadlock and livelock.
a responsibility of this object. Various transformations of the model may be needed if
Next the commitment of objects to either software or problems are highlighted by the above analysis. Again
hardware can be decided. The essential problem here is the Executable Model is a vehicle that supports the
to satisfy the non-functional requirements. The MOOSE analysis.
tools do not make the decisions but they assist in
identifying the need for change and they provide, through 8. Operations on the Platform Model
the executable models, a means to investigate the
consequences of various commitments. Finally they The Platform Model is automatically created from the
Committed Model. It omits all the Committed Model’s the human effort that is still required to realise a
software objects, since enough detail already exits to successful product. The present level of automation can
synthesise their C++ source, but introduces new software only be claimed to be improving product quality and
objects that provide: the interface between software and human productivity.
hardware; the communication between software in The objectives of reuse of designs and
different processors; and the management of the threads implementations are met by the provision of libraries
of execution. These will all be developed as the Platform accessible through the workbench. In so far as
Model is refined. The hardware design is also completed. automation of computer system design means reducing
When the Platform Model is initially synthesised, with the work in designing computer systems, these libraries
the exception of the processor, it contains only the play a major role. The MOOSE libraries consist of
application specific hardware objects, and new objects reusable objects (i.e. their class definitions) and
have to be added to provided the hardware glue in the subsystems (i.e. object networks specified by OIDs). The
form of buses, address decoders, memories, interrupt MOOSE project is developing libraries catering for the
handlers, etc. use of implementation technologies developed within the
Finally, the definitions of the application specific ESPRIT Open Microprocessor Initiative (OMI) and
hardware objects that exist in the Committed Model have selected application areas such as vision and multi-media.
to be translated into synthesisable VHDL. This process is A number of case studies, based on real systems
supported by tools. In addition, appropriate tool support products and in collaboration with industry, are currently
can allow the VHDL specification to be dynamically in progress to assess the method.
tested in the context of the model by using cosimulation
techniques and thus its behaviour can be verified as being 11. Acknowledgements
consistent with the emulation.
Thus the transformations to the Platform Model result This work has been partially funded by the EC
in a model in which all components exist in a form whose (projects OMI/DE 6909 and OMI/MODES 20.592) and
implementations are synthesisable. The full synthesis of the EPSRC (project GR/J07631).
implementation from the Committed Model and the
Platform Model results in the C++ source for each 12. References
processor and a VHDL description for the all the
system’s hardware. The latter is, in most cases, directly 1. P. Zave, “The Operational Versus the Conventional
synthesisable into an implementation. Approach to Design”, Comm. ACM., SE-9, No. 2, pp 104-
118, 1984
2. D. Harel, “Biting the Silver Bullet: Towards a
9. Summary Brighter Future for System Development” IEEE Computer,
Vol. 25, No. 1, pp. 8-20, 1992
Since this paper reports on ongoing work a status 3. W. W. Gibbs, “Software’s Chronic Crisis”, Scientific
report is more appropriate than conclusions. The notation American, pp. 72-81, September 1994
and basic approach to the development of application 4. R. Ernst, J. Henkel, J. and T. Benner, “Hardware-
specific computer systems is stable and it is documented Software Co-synthesis for Microcontrollers” IEEE Design
in a book [9], and a partial toolset is available. and Test of Computers, Vol. 10, No. 4, pp 64-75, 1993
The tools that support the MOOSE paradigm and 5. S. Kumar, J. H. Aylor, B. W. Johnson and W. A.
notation presented take the form of a PC/Microsoft Wulf, “A Framework for Hardware/Software Codesign” IEEE
Windows-based workbench (MOOSEbench) catering for Computer, Vol. 26, No. 12, pp 39-45, 1993
the early stages of the paradigm and providing model 6. D. E. Thomas, J. K. Adams and H. Schmit, “A Model
capture facilities, synthesis of an executable models, and and Methodology for Hardware-Software Codesign” IEEE
Design and Test of Computers, Vol. 10, No. 3, pp 6-15, 1993
an execution environment for running executable models.
7.K. Kronlof, Method Integration: Concepts and Case Studies.
Further information and a trial version of the workbench John Wiley & Sons, Chichester, 1993
is available on the World Wide Web at 8. N. S. Woo, A. E. Dunlop. and W. Woolf, “Codesign
http://www.cl.co.umist.ac.uk/moose Work is currently from Cospecification” IEEE Computer, Vol. 21, No. 1, pp
underway to provide tool support for other parts of the 42-47, 1994
paradigm. Ongoing tool development work is focused on 9. D. Morris, D. G. Evans, P. N. Green and C. J.
the synthesis of implementation source code in C++ and Theaker, Object Oriented Computer System Engineering,
VHDL. Other research is also underway which is Springer Verlag, 1996
primarily concerned with the introduction of automatic
analysis to supplement or perhaps even replace some of