[Modeling] Modeling an Agent Class- register your opinion

James Odell email@jamesodell.com
Thu, 12 Jun 2003 19:06:54 -0400

Hi all,

On 6/12/03 5:10 PM, "Wagner, G.R." indited:
>> So  everybody, are we absolutely sure that Class cannot be used for
>> Agents?
> Something like Class can, and should, be used.
>> Are *any* the features of Class unusable for agents?   If so, which ones?
> I don't understand the problem: even if there is any such feature,
> we simply don't use it (we exclude it by means of suitable constraints
> which we can associate with AgentClass).

The other side of the issue is to ask: why inherit something you don't need?
Why not instead, create *exactly* the structure you need -- and no more.  In
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?

>> 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 is
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?  Second, will that extension be
call AgentClass or something else?  Third, what else do we need (e.g.,
AgentAssociation, AgentMessage, etc.)?  Fourth, am not sure we need a class
call ObjectClass, because that's what Class is in UML.
Does that make sense?