| This research is meant to verify the implication of using the object-oriented
programming paradigm on the design, development and maintenance of
software systems both sequential and parallel. In particular,
the most valuable properties of the object-oriented paradigm are addressed:
classification and inheritance.
The focus is both on programming languages with static type checking and on
languages based on dynamic type checking.
In the first category we consider, on the one hand, the possibility of defining
objects - called Virtual Nodes - in ADA that are allocable on different nodes of
a distributed system. On the other hand, the use of Modula-2 is
proposed to realize object methodologies and define objects in a traditional
framework.
In the dynamic category the stress is particularly on the Smalltalk-80
language and environment. Extensions to Smalltalk-80 have been
proposed in the most promising areas: multiple inheritance and
distribution (for a SUN network).
The introduction, in an integrated way, of concepts related with parallelism
has been deeply investigated.
This has led to the definition of an object-oriented model based on active
objects - called Parallel Objects (PO). PO is
characterized
by potential parallelism also within each object.
An interesting research topic is about internal object synchronization: PO
defines high level tools called constraints. Constraints have pleasant
properties, such as being subject to classification and inheritance.
The Parallel Objects model has been verified by different prototypes: notably,
one implemented by using Smalltalk-80, one for massively
parallel architectures and another for traditional UNIX-based
workstations. |