[Modeling] Trying to understand Caste

Dr. Hong Zhu Dr. Hong Zhu" <hzhu@brookes.ac.uk
Sat, 21 Jun 2003 21:01:27 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_0030_01C33838.4864DE80
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Frits,

Sorry for the delay in replying your emails. Let me first clarify some
points.

(1) In my meta-model, Caste is a classifier, rather than a class. The
instance of the meta-model element in a model is a caste. (with lower case
letters).
(2) Instances of a caste are agents, just like instances of a class are
objects, and instances of datatypes are data.
(3) I am talking about AUML meta-model, which is defined in the UML
meta-meta-model using the UML notation. .
(4) It is interesting to notice that how naming conventions are different at
different levels of modelling. At model level, that is in normal in
modelling of information systems, we name a class, say, Students, and we
have its objects named as John, or student1, etc., rather than the same name
as the class, i.e.Students as you suggested. Note (1) above is at
meta-mate-modelling level. (2) is at meta-modeling level. I am not sure
about which level you are talking about.

Hong

  ----- Original Message -----
  From: f.tolman
  To: Dr. Hong Zhu
  Sent: Friday, June 20, 2003 05:26
  Subject: Re: [Modeling] Trying to understand Caste


  Hello Hong,

  For clarity I would much prefer to communicate in UML for a moment. Can
you do that? If I look at your meta model I seem to look at UML. Agreed? If
I then look at the class Caste I cannot understand why a class called Caste
does not contain objects called Caste. That would be the normal practice. So
if you would want to create a class Agent, you simply call it Agent. The
class Agent would then contain objects called Agent. And if there are two
types of Agents, one CompoundAgent and another ComponentAgent, you just
would model that with subtype relations. And if the CompoundAgent is made up
of ComponentAgents you normally (in UML!!!) would model that with an
aggregation relation (one of the 2) or with an association relation called
is_congregation_of or something like that. No special symbol is really
needed. So the discussion about this aggregation is not really very
relevant, that is, unless you do not use UML but a UML look alike.

  My problem is that I don't know if you intend the meta model to be in UML
or not.

  Thanks

  Frits



    ----- Original Message -----
    From: Dr. Hong Zhu
    To: f.tolman
    Sent: Friday, June 20, 2003 5:59 PM
    Subject: Re: [Modeling] Trying to understand Caste


    Hi,

    Caste is my name for 'Agent Class'. The same as you, I also view a
Colony as an agent, and ants as agents, too. The only difference is that:
ants can be parts of a colony, just like an object can have other objects as
parts.

    Hong

      ----- Original Message -----
      From: f.tolman
      To: ModelingTC
      Sent: Friday, June 20, 2003 4:12 PM
      Subject: [Modeling] Trying to understand Caste


      How does a CompoundAgent differ from a Component (or ComponentAgent,
if you
      wish)?

      -Jim


      Hi Jim,

      This is a question for Hong. I was simply trying to understand the
concept of Caste with instances Agent. Personally I prefer to look at a
CompoundAgent (like Colony) as just another Agent (like Ant). Of course both
CompoundAgent and ComponentAgent (if you wish) can have different
behaviours. Just like any other ComponentAgent by the way.

      Quote from Hong:

      I am regarding department as a CompoundAgent that has a number of
agents
      (the members) as parts (maybe, there should also some other agents and
      objects as its parts).

------=_NextPart_000_0030_01C33838.4864DE80
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 content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>Frits,</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>Sorry for the delay in replying your emails. Let me =
first=20
clarify some points. </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>(1) In my meta-model, Caste is a classifier, rather =
than a=20
class. The instance of the meta-model element in a model is a caste. =
(with lower=20
case letters). </FONT></DIV>
<DIV><FONT size=3D2>(2) Instances of a caste are agents, just like =
instances of a=20
class are objects, and instances of datatypes are data. </FONT></DIV>
<DIV><FONT size=3D2>(3) I am talking about AUML meta-model, which is =
defined in=20
the UML meta-meta-model using the UML notation. . </FONT></DIV>
<DIV><FONT size=3D2>(4) It is interesting to notice that how naming =
conventions=20
are different at different levels of modelling. At model level, that is =
in=20
normal&nbsp;in modelling of information systems, we name a class, say, =
Students,=20
and we have its objects named as John, or student1, etc., rather than =
the same=20
name as the class, i.e.Students as you suggested. Note (1) above is at=20
meta-mate-modelling level. (2) is at meta-modeling level. I am not sure =
about=20
which level you are talking about. </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>Hong</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: =
0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
  <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV=20
  style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
  <A href=3D"mailto:f.tolman@chello.nl" =
title=3Df.tolman@chello.nl>f.tolman</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
href=3D"mailto:hzhu@brookes.ac.uk"=20
  title=3Dhzhu@brookes.ac.uk>Dr. Hong Zhu</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Friday, June 20, 2003 =
05:26</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Re: [Modeling] Trying =
to=20
  understand Caste</DIV>
  <DIV><BR></DIV>
  <DIV><FONT face=3DArial size=3D2>Hello Hong,</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>For clarity I would much prefer to =
communicate in=20
  UML for a moment. Can you do that? If I look at your meta model I seem =
to look=20
  at UML. Agreed? If I then look at the class Caste I cannot understand =
why a=20
  class called Caste does not contain objects called Caste. That would =
be the=20
  normal practice. So if you would want to create a class Agent, you =
simply call=20
  it Agent. The class Agent would then contain objects called Agent. And =
if=20
  there are two types of Agents, one CompoundAgent and another =
ComponentAgent,=20
  you just would model that with subtype relations. And if the =
CompoundAgent is=20
  made up of ComponentAgents you normally (in UML!!!) would model that =
with an=20
  aggregation relation (one of the 2) or with an association relation =
called=20
  is_congregation_of or something like that. No special symbol is really =
needed.=20
  So the discussion about this aggregation is not really very relevant, =
that is,=20
  unless you do not use UML but a UML look alike.</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>My problem is that I don't know if =
you intend the=20
  meta model to be in UML or not. </FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>Thanks</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>Frits</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <BLOCKQUOTE dir=3Dltr=20
  style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; =
MARGIN-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
    <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
    <DIV=20
    style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
    <A href=3D"mailto:hzhu@brookes.ac.uk" title=3Dhzhu@brookes.ac.uk>Dr. =
Hong=20
    Zhu</A> </DIV>
    <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
href=3D"mailto:f.tolman@chello.nl"=20
    title=3Df.tolman@chello.nl>f.tolman</A> </DIV>
    <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Friday, June 20, 2003 =
5:59=20
    PM</DIV>
    <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> Re: [Modeling] =
Trying to=20
    understand Caste</DIV>
    <DIV><BR></DIV>
    <DIV><FONT face=3DArial size=3D2>Hi,</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>Caste is my name for 'Agent Class'. =
The same as=20
    you, I also view a Colony as an agent, and ants as agents, too. The =
only=20
    difference is that: &nbsp;ants can be parts of a colony, just like =
an object=20
    can have other objects as parts. </FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>Hong</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <BLOCKQUOTE dir=3Dltr=20
    style=3D"BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; =
MARGIN-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
      <DIV style=3D"FONT: 10pt arial">----- Original Message ----- =
</DIV>
      <DIV=20
      style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
      <A href=3D"mailto:f.tolman@chello.nl" =
title=3Df.tolman@chello.nl>f.tolman</A>=20
      </DIV>
      <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A=20
      href=3D"mailto:modeling@fipa.org" =
title=3Dmodeling@fipa.org>ModelingTC</A>=20
      </DIV>
      <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Friday, June 20, 2003 =
4:12=20
      PM</DIV>
      <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> [Modeling] Trying =
to=20
      understand Caste</DIV>
      <DIV><BR></DIV>
      <DIV><FONT face=3DArial size=3D2><FONT face=3D"Times New Roman" =
size=3D3>How does=20
      a CompoundAgent differ from a Component (or ComponentAgent, if=20
      you<BR>wish)?<BR><BR>-Jim</FONT><BR></FONT></DIV>
      <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
      <DIV><FONT face=3DArial size=3D2>Hi Jim,</FONT></DIV>
      <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
      <DIV><FONT face=3DArial size=3D2>This is a question for Hong. I =
was simply=20
      trying to understand the concept of Caste with instances Agent. =
Personally=20
      I prefer to&nbsp;look at a CompoundAgent (like Colony) as just =
another=20
      Agent (like Ant). Of course both CompoundAgent and ComponentAgent =
(if you=20
      wish) can have different behaviours. Just like any other =
ComponentAgent by=20
      the way.</FONT></DIV>
      <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
      <DIV><FONT face=3DArial size=3D2>Quote from Hong:</FONT></DIV>
      <DIV><FONT face=3DArial size=3D2><FONT face=3DArial=20
      size=3D2></FONT></FONT>&nbsp;</DIV>
      <DIV><FONT face=3DArial size=3D2><FONT face=3D"Times New Roman" =
size=3D3>I am=20
      regarding department as a CompoundAgent that has a number of=20
      agents<BR>(the members) as parts (maybe, there should also some =
other=20
      agents and<BR>objects as its parts).&nbsp;=20
  =
</FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></FONT></BODY></HTML>=


------=_NextPart_000_0030_01C33838.4864DE80--