[Modeling] Modeling an Agent Class- register your opinion

Dr. Hong Zhu hzhu@brookes.ac.uk
Fri, 13 Jun 2003 09:31:32 +0100

Jim, and All,

In my opinion, agents are not objects, and classes should be for objects
only. Class is not suitable as a super-meta-class of 'Agent Class'. The
reasons are:

(1) Methods of objects can be called by every entity in the system, (include
objects and agents), but for agents, they have a set of actions, which is
not to be called by anybody else, it decides when to take an action. It can
say 'go' to take an action, and it can also say 'no' if someone wants it to
take an action. Therefore, the semantics of methods and actions are
different. If 'Agent Class' inherits 'Class', it will have to supress
methods, but introduce actions.

(2) Association relations between agents and objects are different. Agents
have more dynamic interaction relations as in social behaviour. The
part-whole relationship between agents are also different, as I have said in
an email the day before yesterday. I paste it below for your convenience:
The aggregation relationships between the whole and part is different in
agent classes from that in object
class. In object orientation, there are two types of whole-part relations:
(1) composition, in which the lifespan of the whole and the part is the
same, and (2) aggregation, in which the lifespan of the whole and part is
independent. Having two whole-part relations is inadequate for
agent-orientation due to agent's autonomous behaviour. For example, we have
a agent which represents a department in a university, and a number of
agents as members of the department. When the department is destroyed, the
members as individuals still exist, but their class membership as the member
of the department are lost. This is different from object's agregation, in
which an object as a part of agregation exists when the whole object is
distroyed, however, it the class membership of the object does not change.
Due to the autonomy of agents, this new type of whole-part relationship will
be common in agent oriented modelling. Therefore, we need an additional
whole-part relation for this, which is called 'associate' relation in my
language CAMLE (Caste centric agent modelling language). Therefore, I think
we need a new classifier.

(3) There are also some other reason, which I have given before for the
introduction of a new name for Agent Class.

Best regards,

----- Original Message ----- 
From: "James Odell" <email@jamesodell.com>
To: "ModelingTC" <modeling@fipa.org>
Sent: Thursday, June 12, 2003 6:21 PM
Subject: [Modeling] Modeling an Agent Class- register your opinion

> Hi all,
> On 6/12/03 9:54 AM, "Dr. Hong Zhu" indited:
> > Should we state that
> >
> > AUML members = UML object + AUML agents + <other instance-level stuff> ?
> >
> > That is, the left hand-side should be AUML rather than UML.
> >
> > Am I right?
> Yes, that makes better sense.
> So  everybody, are we absolutely sure that Class cannot be used for
> I know how that Giovanni and Paola think that objects are evil :-)  --
> thanks to their interesting paper.  But, what about the rest of you?  Are
> *any* the features of Class unusable for agents?   If so, which ones?  If
> there are not anyt, then perhaps Class can be the supertype of AgentClass;
> otherwise, we should use Classifier as the supertype?
> Perhaps we should get a sense from those Modeling TC members that feel
> is important.  Gerd? Hong? Renato? Misty?  Marc-Philippe?  Bernard?
> Radovan?  Anyone else?
> Cheers,
> Jim
> _______________________________________________
> Modeling mailing list
> Modeling@www.fipa.org
> http://fipa.org/mailman/listinfo/modeling