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