[Modeling] Class Diagram Specification

Dr. Hong Zhu hzhu@brookes.ac.uk
Thu, 12 Jun 2003 10:05:28 +0100

Hello, Marc-Philippe, and All

> Hello all,
> "Dr. Hong Zhu" wrote:
> > As for the name of the new classifier, I would like to suggest a new
> > instead of using 'agent class' or 'agent type', which I find that many
> > people who is not familiar with agent technology but have background in
> > object orientation often get confused, when we explain that 'agent class
> > not class'. In UML, we already have two classifiers, type for
> > data, and class for classifying objects. I believe that people in this
> > mailing list would agree that agent is significantly different from
> > Then, why not have a new name for classifying agents (the new type of
> > entities)?
> Hong, do you have any idea? The problem is if we put away the term agent
> certainly missed some people (just try to do a Google search on something
> agents that do not use this term...) and above all, we need to be proud of
> term agent and accept it in the title, isn't it? When reading messages, I
> with you that the combination agent + class is a misfortune since it is
> unrealistic to use these two words in the same title

I am not suggesting put away the term agent. Instead, I believe names like
Agent UML is very appropriate and attractive. What I suggest is to use a new
name (such as caste) for agent class. As you have said that the name 'agent
class' is a little mistfortune, which I entirely agree. In addition, I think
that the name 'agent class' may also result in missing some people,
especially those in the area of object-oriented software engineering. I
found that people often quickly draw a wrong conclusion about 'agent class'
just from the name and consider 'agent class' as a class of some special
objects, e.g. something like the class of thread, etc. From their point of
view, object orientation is universal and everything is object. It is one of
the reasons why agent-orientation is slow to be accepted as a new software
methdology. In my opinion, whom we want to attract most are in the area of
software engineering. I believe that to coin a new tern to a new concept is
very important for the start of a new methodology. I cannot imagine if
'object type' is still used as the name for class in object orientation.
Therefore, it is the time to coin a new term.

> > A 'class diagram' like this would be able to specify the static
> > relationships between roles, but also depict certain dynamic
> > between agents and roles, if how agents would change their roles are
> > represented in the same diagram.
> I disagree with you on implementing role dynamics in "class diagram", my
> opinion is that we have a dedicated diagram for role dynamics then we just
> "link" roles in "class diagrams", the aim of UML is to define a diagram
> each particular view or elements, we don't need to do too much things in
> diagram: describing both agents and roles.

I think that I haven't made myself clear on this issue. I agree with you
that we need multiple diagrams from different views and different
abstraction levels. What I suggest is a simple notation at class diagram
level and then more details in other diagrams, such as in sequence diagram.
Please have a look at my draft paper on CAMLE and the UN case study in my

Best regards,

> Cheers,
> Marc-Philippe
> --
> Marc-Philippe Huget
> Agent Applications, Research and Technology Group
> Department of Computer Science
> University of Liverpool
> Chadwick Building, Peach Street
> L69 7ZF Liverpool
> United Kingdom
> email: mph@csc.liv.ac.uk
> http://www.csc.liv.ac.uk/~mph
> _______________________________________________
> Modeling mailing list
> Modeling@www.fipa.org
> http://fipa.org/mailman/listinfo/modeling