We present a distributed object-oriented language based on two types of objects: c-agent and c-resource. C-agent uses centralized message passing control strategy and is indicated for modeling active entities which may change their behavior over the time. C-resource uses distributed message passing control strategy and is indicated for modeling passive entities which may be used concurrently by other entities. The presence of both the two control strategies allows one to obtain better results than current distributed object-oriented languages based on a single message passing control strategy. In fact, it allows a good integration between inheritance, synchronization and system reconfigurability, and makes possible the use of the more suitable strategy for different parts of a same system. In particular, the paper shows how this language is suitable for modeling distributed artificial intelligence systems taking advantage of the duality between c-agents and c-resources, and of the large set of communication primitives.<<ETX>>
[1]
Dennis G. Kafura,et al.
Inheritance in Actor Based Concurrent Object-Oriented Languages
,
1989,
Comput. J..
[2]
Yoav Shoham,et al.
Agent-Oriented Programming
,
1992,
Artif. Intell..
[3]
Les Gasser,et al.
MACE: A Flexible Testbed for Distributed AI Research
,
1987
.
[4]
D. Decouchant,et al.
A synchronization mechanism for typed objects in a distributed system
,
1988,
OOPSLA/ECOOP '88.
[5]
Mario Tokoro,et al.
Object-oriented concurrent programming
,
1987
.
[6]
Pierre America,et al.
Pool-T: a parallel object-oriented language
,
1987
.
[7]
Agostino Poggi,et al.
An Object-Oriented Language for Distributed Artificial Intelligence
,
1993,
Int. J. Man Mach. Stud..
[8]
Reid G. Smith,et al.
The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver
,
1980,
IEEE Transactions on Computers.