CoOperative Objects: Principles, Use and Implementation

It is no longer relevant to praise the qualities of the Object-Oriented Approach and the Petri Net Theory. Each of them has proved to be a powerful framework in its field of application. However it is a challenge to associate them into a conceptual framework which combines the expressive power of both approaches while maintaining their respective merits. Moreover, it must be shown that such a formalism can be implemented in a sound and efficient manner. This paper is a comprehensive presentation of the CoOperative Objects formalism. This formalism embraces the theoretical and pragmatic features of both the Petri net and the Object-Oriented approaches by thoroughly integrating their concepts. It is as well-adapted to the specification and the validation of open distributed systems as to their implementation. The basic idea is that a Petri net processes data objects as tokens, while the behaviour of an active object is defined by a Petri net. This paper also proposes a CoOperative Object solution to the dynamic dining philosophers problem, and tackles implementation issues through the presentation of SYROCO, a CoOperative Objects compiler.

[1]  Rob Esser,et al.  A distributed simulator for high order Petri nets , 1989, Applications and Theory of Petri Nets.

[2]  Jeannette M. Wing,et al.  A New Definition of the Subtype Relation , 1993, ECOOP.

[3]  Gul Agha,et al.  Research directions in concurrent object-oriented programming , 1993 .

[4]  Nabil Hameurlain,et al.  Behavioural Types in CoOperative Objects , 1999, ECOOP Workshops.

[5]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[6]  Robert Valette,et al.  Proceedings of the 15th International Conference on Application and Theory of Petri Nets , 1994 .

[7]  Kurt Jensen Coloured Petri Nets , 1992, EATCS Monographs in Theoretical Computer Science.

[8]  Christophe Sibertin-Blanc,et al.  Concurrency in CoOperative objects , 1997, Proceedings Second International Workshop on High-Level Parallel Programming Models and Supportive Environments.

[9]  Marco Ajmone Marsan,et al.  Proceedings of the 14th International Conference on Application and Theory of Petri Nets , 1993 .

[10]  Kurt Lautenbach,et al.  System Modelling with High-Level Petri Nets , 1981, Theor. Comput. Sci..

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

[12]  Miss A.O. Penney (b) , 1974, The New Yale Book of Quotations.

[13]  平石 邦彦 13th International Conference on Application and Theory of Petri Nets , 1993 .

[14]  Pierre America,et al.  Designing an Object-Oriented Programming Language with Behavioural Subtyping , 1990, REX Workshop.

[15]  Giovanni Chiola,et al.  On Well-Formed Coloured Nets and Their Symbolic Reachability Graph , 1991 .

[16]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[17]  Christophe Sibertin-Blanc A Client-Server Protocol for the Composition of Petri Nets , 1993, Application and Theory of Petri Nets.

[18]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[19]  Les Gasser,et al.  Social Conceptions of Knowledge and Action: DAI Foundations and Open Systems Semantics , 1991, Artif. Intell..

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

[21]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[22]  Christophe Sibertin-Blanc,et al.  Cooperative Nets , 1994, Application and Theory of Petri Nets.

[23]  Wolfgang Reisig,et al.  Petri Nets: Applications and Relationships to Other Models of Concurrency , 1986, Lecture Notes in Computer Science.

[24]  Kim B. Bruce,et al.  Guest Editorial: Foundations of Object-Oriented Languages , 2002, Inf. Comput..