[Modeling] Comments on interaction diagram modeling doc

Lin Padgham linpa@goanna.cs.rmit.edu.au
Thu, 20 Mar 2003 00:06:31 +1100

Hi Jim,

What seems to be missing here, which is what we use most, is to give
the agent type - not the instance name of an agent, but a type of
agent. So we might have a "shop assistant" agent type, with roles that
include "sales transaction", "customer welcoming", "product queries",
etc. These roles are deliberately quite small and specific (and relate
to particular goals and functionalities), whereas things like
"employee" are more like what we would have as agent types. I don't
think we have evenr found a need to use specific agent instance
identifiers, though sometimes we do indicate that there *are* multiple
instances and separate these out in some way in the diagrams.



> Lin,
> > Possibly yes.  How do you differntiate between 1 and 2? Are the agents
> > instances or types? Or can they be either?
> The UML 2.0 format is effectively <agentName:agentRole>, where you can
> specify either or both variables.  For example, you can say
> - "Mario:Employee" where Mario is playing the role of employee;
> - "Mario:" where Mario is inteacting (and can be though of as playing some
> unnamed role; or
> - ":Employee" where some unnamed agent is playing the role of employee;
> > When you say "UML can support" I'm unsure what you mean. UML doesn't
> > have agents does it??? (I am not a UML expert and certainly am not on
> > top of the latest things :-)
> UML, as it is currently written, does not use the term "agent".  Instead, it
> calls them "active objects."  In FIPA AUML, we can just substitute the agent
> for active object with minimal change to the UML metamodel.  Furthermore,
> UML 2.0 does not use the term "role" here per se, but it does imply the
> name.  (If you want to know why, I could give you the historical
> background.)
> > I doubt we would ever explicitly show the different roles of an agent
> > by using different lifelines, tho maybe. More likely we would just
> > identify the agent type and combine 1 and 2.
> So, now you can express multiple roles for a particular agent via multiple
> life lines. For example, three such life lines might be:
> - "Mario:Employee" where Mario is playing the role of employee;
> - "Mario:PropertyOwner" where Mario is playing the role of a property owner;
> - "Mario:Customer" where Mario is playing the role of customer;
> Does this make sense?
> -Best regards,
> Jim
> _______________________________________________
> Modeling mailing list
> Modeling@www.fipa.org
> http://fipa.org/mailman/listinfo/modeling