A Formal Model of Concurrency for Distributed Object-Oriented Systems

It is widely accepted that object-oriented constructions can be used as a pertinent basis for the support of distributed systems consisting of concurrently executing objects that communicate and interoperate among them. In this context, distributed object systems are represented from a process-oriented perspective which uses the process as the basic modelling structure. This point of view allows us to model concurrent objects as a collection of interacting processes, each of them describing a pattern of behaviour. We aim to provide a formal foundation for object-oriented constructions. To do so, we present a formal model of concurrent objects based on a well-defined process theory, the /spl pi/-calculus, which offers a very effective mechanism of specification and verification. The election of the /spl pi/-calculus is justified by some of its features, e.g., mobility and higher-order constructions, for they will be essential to the description of some object behaviour and constructions.

[1]  Joseph A. Goguen,et al.  A Categorial Theory of Objects as Observed Processes , 1990, REX Workshop.

[2]  Richard O. Sinnott,et al.  Applying formal methods to standard development: the open distributed processing experience , 1995 .

[3]  Cliff B. Jones A pi-Calculus Semantics for an Object-Based Design Notation , 1993, CONCUR.

[4]  Stanley B. Zdonik,et al.  Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like , 1988, ECOOP.

[5]  A. Snyder Inheritance in object-oriented programming languages , 1991 .

[6]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[7]  Oscar Nierstrasz,et al.  Composing active objects m the next 700 concurrent object-oriented languages , 1993 .

[8]  Oscar Nierstrasz,et al.  Using Metaobjects to Model Concurrent Objects with PICT , 1996, LMO.

[9]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[10]  Jens Palsberg,et al.  A Denotational Semantics of Inheritance and its Correctness , 1989, OOPSLA.

[11]  Vasco Thudichum Vasconcelos,et al.  Typed Concurrent Objects , 1994, ECOOP.

[12]  Oscar Nierstrasz,et al.  Formalizing Composable Software Systems — A Research Agenda , 1997 .

[13]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[14]  Benjamin C. Pierce,et al.  Concurrent Objects in a Process Calculus , 1994, Theory and Practice of Parallel Programming.

[15]  Michael Papathomas,et al.  Concurrency Issues in Object-Oriented Programming Languages , 1989 .

[16]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[17]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[18]  Manuel Barrio Solórzano Estudio de aspectos dinámicos en sistemas orientados al objeto , 1995 .

[19]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[20]  D. Walker,et al.  A Calculus of Mobile Processes, Part I , 1989 .

[21]  Alan Snyder,et al.  The essence of objects: concepts and terms , 1993, IEEE Software.

[22]  D. Walker,et al.  A Calculus of Mobile Processes, Part Ii , 1989 .

[23]  Gregory R. Andrews,et al.  Paradigms for process interaction in distributed programs , 1991, CSUR.

[24]  David J. DeWitt,et al.  The Object-Oriented Database System Manifesto , 1994, Building an Object-Oriented Database System, The Story of O2.

[25]  Roel Wieringa,et al.  A Formalization of Objects Using Equational Dynamic Logic , 1991, DOOD.

[26]  Peter Wegner Dimensions of object-based language design , 1987, OOPSLA 1987.