[Modeling] Class Diagram Specification

James Odell email@jamesodell.com
Sun, 08 Jun 2003 14:22:48 -0400

On 6/3/03 11:12 AM, Marc-Philippe Huget scribed:

>> Actually, the correct question here would be "what is an agent class";
>> moreover, it is by no means obvious that an Agent Class has to be a Class,
>> because being a Class in the UML metamodel raises quite a few issues related
>> to fundamental object-oriented tenets that do not necessarily apply to
>> autonomous software components (more on this follows). Looking at the UML
>> 2.0 specs, we noticed that Classifier now is a richly defined element:
>> wouldn't it make sense to define AgentClass as a direct subclass of
>> Classifier (so that it is a sibling of Class)? This way, we could do without
>> all the object-oriented semantics commonly associated with Class that does
>> not really apply to AgentClass. Any opinions?
> Personally, I think an agent class is translated into several classes,
> Classifier I didn't think about that, I will check but if class and agent
> class are sibiling that will be a problem in my opinion since agent class
> is higher level

Making AgentClass a subtype of Classifier is an interesting idea. However,
if you did that, you would lose the properties of class, which include:
nestedClassifier, ownedOperation, ownedAttribute, and the derived
superClass.  Wouldn't you also want these for agents?  If not, then you are
probably correct.  What do you think?

Also, what about using Components for agents?