Viewing Objects as Patterns of Communicating Agents.
Oscar Nierstrasz, Michael Papathomas · Archive ouverte UNIGE (University of Geneva) · 1990
Following our own experience developing a concurrent object-oriented language as well of that of other researchers, we have identified several key problems in the design of a concurrency model compatible with the mechanisms of object-oriented programming. We propose an approach to language design in which an executable notation describing the behaviour of communicating agents is extended by syntactic patterns that encapsulate language constructs. We indicate how various language models can be accommodated, and how mechanisms such as inheritance can be modeled. Finally, we introduce a new notion of types that characterizes concurrent objects in terms of their externally visible behaviour. 1. Introduction The message-passing model of communication in object-oriented languages appears to naturally support concurrent execution of autonomous objects. This fact has led many researchers to try to exploit this autonomy in developing concurrent object-oriented languages [2], [15], [17], [22], ...