[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?


Cheers,

Jim