[Modeling] agents vs actors

Marian Nodine nodine@research.telcordia.com
Mon, 22 Sep 2003 09:43:52 -0500

This is a multi-part message in MIME format.
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

An agent is a kind of actor. An actor is a kind of resource.

Let's start with the resource concept. Consider some activity that is a part of
some application. A resource is an external entity to the activity that is or may
be used by that activity. The relationship between the activity and the resource
can be passive (e.g., the activity accesses the resource via a purely syntactic
interface.). This is a strict utilization setting. However, there may be other
resources that interact with the activity using a more semantic interface. For
example, the resource may have initiated the activity, and be working in an ongoing
manner to control or guide the activity. In this case, the resource is an *actor*.
Note that this is kind of similar to the distinction between objects (map to
resources) and agents (map to actors).

A given actor may be a computational artifact (agent) or a human (individual).

Does this help?

-- Misty

James Odell wrote:

> Marian --
> I agree that the UML definitions of "actor" are not the greatest.  It is one
> place where "unification" has not fully occurred -- not that I've seen any
> unification anywhere else, mind you.
> However, from your definition, I do not understand the difference between
> actor, resource, and agent.  Tossing the word "intelligent" in there is
> problematic; the AI people have been trying to define that word for a
> quarter of a century now, without any agreement.  So, I would be careful of
> adding that to the mix, as well.
> So, can you differentiate actor, resource, and agent for us?
> -Jim
> On 9/18/03 10:02 AM, Marian Nodine scribed:
> > James --
> >
> > Interestingly enough, none of these three definitions is related to what
> > I think an actor is. Here is my rough draft of a two cents worth:
> >
> > Start with activities. An activity is a coherent unit of work. An activity has
> > a type.
> >
> > Now, a role describes a set of related types of activities that may be
> > performed by the same actor (e.g. a hostess can pour coffee, or greet people.)
> >
> > A resource is an external entity that may be either required by or used by
> > some
> > activity (e.g. a printer, a document, an agent, a person).
> >
> > An actor is an intelligent resource that has the capacity to initiate, manage,
> > and/or control activities of given types.
> >
> > Actors have capabilities. These capabilities define the roles that the actor
> > can fill (e.g. I can be a coffee pourer, I can be a people greeter, I can be a
> > hostess.). An agent may be assigned to do a particular activity if the
> > activity
> > has a type that may be performed by one of the roles that are within the
> > agent's capabilities. (modulo the fact that the agent may be able to learn new
> > capabilities).
> >
> > -- Misty
> >
> >
> > James Odell wrote:
> >
> >> Vivek ,
> >>
> >> This discussion would benefit greatly by a clarification of what an actor
> >> is. The following three sentences are all taken from the UML2.0 spec:
> >>
> >> "An actor specifies a role played by a user or any other system that
> >> interacts with the subject."
> >>
> >> "An Actor models a type of role played by an entity that interacts with the
> >> subject"
> >>
> >> "Actors model entities external to the subject. Each actor represents a
> >> coherent set of roles that users of the subject can play when interacting
> >> with it. When an external entity interacts with the subject, it plays the
> >> role of a specific actor."
> >>
> >> As you see, the three sentences define actor completely different: a role, a
> >> type of role and an entity/set of roles - the last one is the Semantics
> >> text. (This should in fact be registered as an FTF issue to be fixed in the
> >> coming year.)
> >>
> >> Cheer,
> >>
> >> Jim
> >>
> >> On 9/17/03 12:36 PM, "Vivek Kumar Singh" indited:
> >>
> >>> Hello all,
> >>>
> >>>
> >>> I'm a student of Mtech ICT, DA-IICT, india. I'm working on modelling of
> >>> a project on agents. But I'm finding it very diffiult to categorize my
> >>> agents as either actors or use cases. According to books on UML
> >>> modeling, and actor is an external entity interacting with our system.
> >>> If I consider this then agents can't be actors. But also it is said
> >>> that actor can initiate processes (use cases). So according to this, my
> >>> agents become actors.
> >>>
> >>> My project idea is to develop intelligent agents for every student in
> >>> institution and also to have intelligent library agents. Then students
> >>> can just order their agents to search for a book on a particular topic.
> >>> The agents who will be knowing about his master's interests and
> >>> knowledge level and will intelligently search for most suitable book
> >>> for his master from a big list of books. The library will also have
> >>> intelligents on particular subjects. The project also have many adjunct
> >>> features.
> >>>
> >>> But the problem is identifying agents as actors or use cases. I've seen
> >>> extended form of UML for this, but what can be done with UML's present
> >>> form and Rational rose. Kindly give suggestions.
> >>>
> >>> With regards,
> >>> Vivek Kumar Singh
> _______________________________________________
> Modeling mailing list
> Modeling@www.fipa.org
> http://fipa.org/mailman/listinfo/modeling

Content-Type: text/x-vcard; charset=us-ascii;
Content-Transfer-Encoding: 7bit
Content-Description: Card for Marian Nodine
Content-Disposition: attachment;

org:Telcordia Austin Research Center
title:Senior Research Scientist
fn:Marian Nodine