[Modeling] Modeling an Agent Class- register your opinion

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

Dear Jim, and All,

> The other side of the issue is to ask: why inherit something you don't
> Why not instead, create *exactly* the structure you need -- and no more.
> other words, apply Occam's Razor.  For me, this is one of the primary
> driving factors behind whether to inherit from Class or Classifier.  Does
> that make sense?

I like the approach of 'create *exactly* the structure that is needed -- and
no more'. This will make AUML a better language and we may have a chance to
show the advantage of introduce the concept of agent by making the modelling
language better, not only making modelling in the language better. UML 2.0
definition is the longest computer language definition that I have ever

Of course, there is a downside, that is we may have a risk in the
incompatibility with UML. This is what we need to be careful.

> >> otherwise, we should use Classifier as the supertype?
> >
> > I don't understand this idea. Don't we need new metaclasses
> > AgentClass and ObjectClass, which replace Class and which
> > are, along with AssociationClass, subclasses of Classifier
> > (since any agent or object class is a classifier)?
> >
> > Why don't we first attempt to define a new UML Profile (with suitable
> > stereotypes representing the metaclasses AgentClass and
> > ObjectClass). Wouldn't this be the natural first attempt?
> A profile is a stereotyped package containing model elements that
> have been customized for a specific domain or purpose
> using extension mechanisms, such as stereotypes, tagged
> definitions and constraints. A profile may also specify
> model libraries on which it depends and the metamodel
> subset that it extends.
> So, yes, we are all discussing a probable Agent UML profile.  However, it
> this last sentence that is being discussed in this thread.  In particular,
> we need to identify the metamodel subset that we will extend.  First, will
> it be Class or Classifier that we extend?

Before we answer this question, we must make ourselves clear about the
following issues:
(1) Are agents objects?
(2) Are agent classes classes?
My answers to these questions are negative. What are you opinions?

> Second, will that extension be call AgentClass or something else?

In my opinion, we should call 'agent class' something else. I would prefer
to leave class for objects, type for data, and something else for agents,
for example, caste. These will give the meta-model a nice, simple and clear

> Third, what else do we need (e.g., AgentAssociation, AgentMessage, etc.)?

We may need a set of concepts which match agent's nature, such as actions
rather than methods. There should be more new concepts with agents, such as
environments, and behaviour rules, etc. Of course, we may leave certain
cncepts common to objects and agent, such as message.

> Fourth, am not sure we need a class call ObjectClass, because that's what
Class is in UML.

Introducing ObjectClass, Passive Class, Active Class, etc. will also result
in a significant change to the structure of meta-model, and consequently, I
guess that the models in AUML might not be compatible with UML.

Best regards,

> Does that make sense?
> Cheers,
> Jim
> _______________________________________________
> Modeling mailing list
> Modeling@www.fipa.org
> http://fipa.org/mailman/listinfo/modeling