db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%T The Development of occam: types, classes and sharing
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%A Geoff Barrett
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%E Hussein S. M. Zedan
%B OUG\-13: Real\-Time Systems with Transputers
%X The proposed extensions to the occam* language are aimed at
providing • a more comprehensive type system• support
for a modular programming style• a facility for sharing
between processes.The type system is similar to that of many
modern programming languages but with a careful treatment of
union types and without recursive types.Although it is
possible to describe shared objects in occam2, the required
idiom has an implementation whose complexity is linear in
the number of users. By introducing a special sort of shared
bus of channels, this problem can be overcome.The class
system is designed in such a way as to allow for separate
compilation and alien code classes to be used in occam
programs with little overhead and to provide some of the
abstraction mechanisms which have been recognised as
beneficial in object\-oriented languages.There are also a
number of new language features which do not significantly
change the nature of the language but which do enhance its
general expressiveness.The first part of this paper presents
proposed changes to the occam2 reference manual ([1]). The
second part is a commentary on the decisions which had to be
made in order to produce the proposal. The section numbers
of the manual changes correspond to the section numbers of
the occam2 reference manual where a \[rs] denotes a change
to an existing section and a letter denotes the insertion of
a new section.