The Open Systems Interconnection (OSI) communication
protocols [29] are a set of internationally recognised
standards which define the requirements and
structure for data communication between heterogeneous
computer systems. We have identified three
major problems with the protocols:
The OS1 protocols, and hence the communication
software design and implementation based upon
them, need frequent modification and enhancement
as user requirements change.
The incremental way in which the protocols have
been defined has made them large and complicated
and difficult to manage.
The notation, definition method and terminology
used in the protocols is not consistent, which
makes it difficult to maintain consistency in the design
process.
We therefore see a need to bring the protocols together
into a single coherent picture. We believe that
the use of the object-oriented approach forboth design
and implementation can provide a way of doing this.
The object-oriented approach offers a number of significant
advantages over traditional approaches for the
design and implementation of OS1 communication
software:
Commonalities between different protocols can be
identified and captured using the concepts of abstraction
and inheritance, thus avoiding unnecessary
repetition.-This leads to a simpler and cleaner
design which improves software quality [3].
The use of inheritance and encapsulation makes
the design and implementation easy to change,
maintain and extend [2], [4].
An object-oriented design can be easily prototyped
[ 11, which helps developers identify new requirements
and possible improvements.
In a number of small scale studies, the object-oriented
approach has been successfully applied to the design
and implementation of communication software.
Schulz [31] designed and implemented (using C+ +)
a portable communication transport system for Unbr
Network Application. Nakakawaji et al [30] designed
part of the OS1 Application Layer (see Section 3) and
implemented File Bander, Access and Management
(FTAM) [17] and "action Processing (P) [27].
Feldhoffer et al[7] discussed the use of object-oriented
design methods for distributed applications and gave a
design for the Message Handling System (MHS) [26]
as an example. These studies all concentrated on a
small subset of the OS1 communication protocols, and
did not demonstrate that their design was general
enough to be applied to all the protocols.
We have carried out the first large scale object-oriented
design of OS1 communication software. The objectives
of this were:
To find out how suitable the object-oriented approach
is for the development of OS1 communication
software. This involved studying and modelling
the OS1 communication protocols from Layer
3 to most of Layer 7 of the OS1 reference model
[29], [12]-[%I. Layers 1 and 2 were not studied because
they are concerned with physical data transmission
and are implemented mainly in hardware.
'Ib develop a general framework [8] [9] [lo] for an
object-oriented design. This consists of abstract
classes (see Section 4) which capture common
structure and behaviour and serve as a 'back-bone'
for a final design, allowing the design process to
progress in a systematic and controlled way. The
general framework maximises design re-usability,
and allows the design to be extended simply by the
addition of further abstract classes.
In this paper, we demonstrate that the object-oriented
approach is applicable to the development of
OS1 communication software. Using prototyping and
modelling we show that the general framework we
have developed can provide an effective design and implementation
approach.