An Object-Oriented Variant of the PI-Calculus

Elizabeth I. Leonard
Johns Hopkins University


ABSTRACT

Object-oriented systems are composed of multiple objects executing
concurrently. These objects communicate with one another by sending
messages. Process algebras, such as the pi-calculus, can be used to
provide formal models of the communication occurring in concurrent
systems.  The pi-calculus provides a good starting point for modeling
object-oriented systems. In the pi-calculus all communication occurs
along channels. We can think of an object as a process with a set of
channels representing the methods.  However, the pi-calculus allows
multiple processes to receive on the same channel.  This makes some
"un-object-like" behavior possible. For example, it allows messages
destined for one object to be intercepted by another object. We
introduce a modified version of the pi-calculus which more accurately
reflects the object-oriented style of communication.