[Modeling] Modeling an Agent Class- register your opinion

f.tolman f.tolman@chello.nl
Tue, 17 Jun 2003 22:14:57 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0075_01C3351D.E33EC010
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Dear Collegues

This working group is considering agent-based modelling technology, =
probably including the interaction between agent based and object based =
modelling. However, objects are no agents. Indeed everything in this =
world can be considered to be an object in the OO sense of the word. =
But...............the sensible question is: is that useful? Not, in my =
opinion, in agent-based modelling. At least not as a starting point. An =
agent is a metaphor for a piece of software that mimicks an intelligent =
something (real or virtual), not a dumb object. What we need is a =
modelling paradigm that can be used to clearly express the things that =
our intelligent beings will be able to do. The question is: in all its =
variety agents seem to have a common nature. Can anybody list and group =
the most important things that we all need to express (actions, =
behaviours, family?, ???) And do we have to distinguish between concept =
design and implementation design (for code generation)?=20

Regards

Frits


----- Original Message -----=20
From: "James Odell" <email@jamesodell.com>
To: "ModelingTC" <modeling@fipa.org>
Sent: Monday, June 16, 2003 12:12 AM
Subject: Re: [Modeling] Modeling an Agent Class- register your opinion


> On 6/13/03 4:31 AM, "Dr. Hong Zhu" indited:
>=20
> > (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.
>=20
> I may agree, but the reasons you gave are not compelling for me.  Why =
can't
> an object do the same thing?  If you send a message, the object can =
say
> "no."  Also, "a set of actions, which is not to be called by anybody =
else"
> is called a private method.  For some other arguments, you might want =
to
> look at the following journal article:
> http://www.jot.fm/issues/issue_2002_05/column4
> =20
> > (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.
>=20
> Sorry, I'm a bit lost here.  I understand aggregation and composition =
very
> well, but I do not understand why they cannot be used for agents.  If =
I read
> your discussion correctly, it seems to hinge on your assertion that =
"class
> membership of the object does not change."  In UML, this is untrue.  =
You
> might want to start with looking at the definitions for "dynamic
> classification" and "multiple classification."  Furthermore, it might =
be
> true for some OO languages and environments, but not all.  I believe =
that
> Kee, Kappa, and CLOS supported both of these notions.
>=20
> From your prose, you seem to have an strong desire to distance agents =
from
> objects.  Be care that you do not throw out the baby with the =
bathwater.
>=20
>=20
> -Jim Odell
>=20
> _______________________________________________
> Modeling mailing list
> Modeling@www.fipa.org
> http://fipa.org/mailman/listinfo/modeling 
------=_NextPart_000_0075_01C3351D.E33EC010
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1170" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Dear Collegues</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>This working group is considering =
agent-based=20
modelling technology, probably including the interaction between agent =
based and=20
object based modelling. </FONT><FONT face=3DArial size=3D2>However, =
objects are no=20
agents. Indeed everything in this world can be considered to be an =
object in the=20
OO sense of the word. But...............the sensible question is: is =
that=20
useful? Not, in my opinion, in agent-based modelling. At least not as a =
starting=20
point. An agent is a metaphor for a piece of software that mimicks an=20
intelligent something (real or virtual), not a dumb object. What we need =
is a=20
modelling paradigm that can be used to clearly express the things that =
our=20
intelligent beings will be able to do. The question is: in all its =
variety=20
agents seem to have a common nature. Can anybody list and group the most =

important things that we all need to express (actions, behaviours, =
family?, ???)=20
And do we have to distinguish between concept design and implementation =
design=20
(for code generation)? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Regards</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Frits</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>----- Original Message ----- </FONT>
<DIV><FONT face=3DArial size=3D2>From: "James Odell" &lt;</FONT><A=20
href=3D"mailto:email@jamesodell.com"><FONT face=3DArial=20
size=3D2>email@jamesodell.com</FONT></A><FONT face=3DArial =
size=3D2>&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>To: "ModelingTC" &lt;</FONT><A=20
href=3D"mailto:modeling@fipa.org"><FONT face=3DArial=20
size=3D2>modeling@fipa.org</FONT></A><FONT face=3DArial =
size=3D2>&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Sent: Monday, June 16, 2003 12:12 =
AM</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Subject: Re: [Modeling] Modeling an =
Agent Class-=20
register your opinion</FONT></DIV></DIV>
<DIV><FONT face=3DArial><BR><FONT size=3D2></FONT></FONT></DIV><FONT =
face=3DArial=20
size=3D2>&gt; On 6/13/03 4:31 AM, "Dr. Hong Zhu" indited:<BR>&gt; =
<BR>&gt; &gt;=20
(1) Methods of objects can be called by every entity in the system,=20
(include<BR>&gt; &gt; objects and agents), but for agents, they have a =
set of=20
actions, which is<BR>&gt; &gt; not to be called by anybody else, it =
decides when=20
to take an action. It can<BR>&gt; &gt; say 'go' to take an action, and =
it can=20
also say 'no' if someone wants it to<BR>&gt; &gt; take an action. =
Therefore, the=20
semantics of methods and actions are<BR>&gt; &gt; different. If 'Agent =
Class'=20
inherits 'Class', it will have to supress<BR>&gt; &gt; methods, but =
introduce=20
actions.<BR>&gt; <BR>&gt; I may agree, but the reasons you gave are not=20
compelling for me.&nbsp; Why can't<BR>&gt; an object do the same =
thing?&nbsp; If=20
you send a message, the object can say<BR>&gt; "no."&nbsp; Also, "a set =
of=20
actions, which is not to be called by anybody else"<BR>&gt; is called a =
private=20
method.&nbsp; For some other arguments, you might want to<BR>&gt; look =
at the=20
following journal article:<BR>&gt; </FONT><A=20
href=3D"http://www.jot.fm/issues/issue_2002_05/column4"><FONT =
face=3DArial=20
size=3D2>http://www.jot.fm/issues/issue_2002_05/column4</FONT></A><BR><FO=
NT=20
face=3DArial size=3D2>&gt; &nbsp;<BR>&gt; &gt; (2) Association relations =
between=20
agents and objects are different. Agents<BR>&gt; &gt; have more dynamic=20
interaction relations as in social behaviour. The<BR>&gt; &gt; =
part-whole=20
relationship between agents are also different, as I have said =
in<BR>&gt; &gt;=20
an email the day before yesterday. I paste it below for your=20
convenience:<BR>&gt; &gt; The aggregation relationships between the =
whole and=20
part is different in<BR>&gt; &gt; agent classes from that in =
object<BR>&gt; &gt;=20
class. In object orientation, there are two types of whole-part=20
relations:<BR>&gt; &gt; (1) composition, in which the lifespan of the =
whole and=20
the part is the<BR>&gt; &gt; same, and (2) aggregation, in which the =
lifespan of=20
the whole and part is<BR>&gt; &gt; independent. Having two whole-part =
relations=20
is inadequate for<BR>&gt; &gt; agent-orientation due to agent's =
autonomous=20
behaviour. For example, we have<BR>&gt; &gt; a agent which represents a=20
department in a university, and a number of<BR>&gt; &gt; agents as =
members of=20
the department. When the department is destroyed, the<BR>&gt; &gt; =
members as=20
individuals still exist, but their class membership as the =
member<BR>&gt; &gt;=20
of the department are lost. This is different from object's agregation,=20
in<BR>&gt; &gt; which an object as a part of agregation exists when the =
whole=20
object is<BR>&gt; &gt; distroyed, however, it the class membership of =
the object=20
does not change.<BR>&gt; &gt; Due to the autonomy of agents, this new =
type of=20
whole-part relationship will<BR>&gt; &gt; be common in agent oriented =
modelling.=20
Therefore, we need an additional<BR>&gt; &gt; whole-part relation for =
this,=20
which is called 'associate' relation in my<BR>&gt; &gt; language CAMLE =
(Caste=20
centric agent modelling language). Therefore, I think<BR>&gt; &gt; we =
need a new=20
classifier.<BR>&gt; <BR>&gt; Sorry, I'm a bit lost here.&nbsp; I =
understand=20
aggregation and composition very<BR>&gt; well, but I do not understand =
why they=20
cannot be used for agents.&nbsp; If I read<BR>&gt; your discussion =
correctly, it=20
seems to hinge on your assertion that "class<BR>&gt; membership of the =
object=20
does not change."&nbsp; In UML, this is untrue.&nbsp; You<BR>&gt; might =
want to=20
start with looking at the definitions for "dynamic<BR>&gt; =
classification" and=20
"multiple classification."&nbsp; Furthermore, it might be<BR>&gt; true =
for some=20
OO languages and environments, but not all.&nbsp; I believe that<BR>&gt; =
Kee,=20
Kappa, and CLOS supported both of these notions.<BR>&gt; <BR>&gt; From =
your=20
prose, you seem to have an strong desire to distance agents from<BR>&gt; =

objects.&nbsp; Be care that you do not throw out the baby with the=20
bathwater.<BR>&gt; <BR>&gt; <BR>&gt; -Jim Odell<BR>&gt; <BR>&gt;=20
_______________________________________________<BR>&gt; Modeling mailing =

list<BR>&gt; </FONT><A href=3D"mailto:Modeling@www.fipa.org"><FONT =
face=3DArial=20
size=3D2>Modeling@www.fipa.org</FONT></A><BR><FONT face=3DArial =
size=3D2>&gt;=20
</FONT><A href=3D"http://fipa.org/mailman/listinfo/modeling"><FONT =
face=3DArial=20
size=3D2>http://fipa.org/mailman/listinfo/modeling</FONT></A> =
</BODY></HTML>

------=_NextPart_000_0075_01C3351D.E33EC010--