[Modeling] Comments on interaction diagram modeling doc

James Odell email@jamesodell.com
Tue, 18 Mar 2003 20:53:06 -0500


Currently, UML can support:
1) agents interacting with other agents without respect to role or class;
2) agents interacting with other agents while playing a named role; and
3) "roles interacting with roles" (which really means that unnamed agents
are playing named roles and interacting within their roles.  Roles per se do
not interact because they are not active entities.  "roles interacting with
roles", then, is a shorthand.

Since option 2 is supported, one can depict an agent playing multiple roles.
However, this can only be expressed via multiple life lines that depict the
various role -- not all the roles on the same lifeline.

Will this work for you? Did I misunderstand where you were going?

-Jim



On 3/18/03 5:18 PM, "Lin Padgham" indited:

> 
> As mentioned we have worked primarily in closed agent systems to
> date. We mostly use an agent development environment, so agents are
> clearly distinguished entities (classes essentially). Roles are then
> either implict - i.e. exist only at design level, or are implemented
> as the capabilities the agent has.  Because beliefs/knowledge within
> an agent are shared by all the capabilities within an agent (in the
> framework we use), you don't need to have messages to pass along
> information between capabilities/roles within a siongle agent - so it
> does affect the concrete protocol diagrams.
> 
> The distinction you make between rigid and non-rigid types makes sense
> - though it depends on the implementation platform whether and how you
> could have role changing. The major difference for us really is that
> within an agent beliefs and knowledge are (at least potentially)
> shared between roles/capabilities, whereas between agents these are
> not shared other than via explicit communication (or ugly hacks :-).
> 
> If one is working in the context of an open system, one can't really
> make any assumptions about the groupings of roles into agents for any
> other agents than one's own. This is why I said that it may be more
> necessary to use roles than agent types when working in open systems.
> 
> Regards,
> 
> Lin