16.2. Actor

An actor represents any external entity (human or machine) that interacts with the system, providing input, receiving output, or both.

Within the UML metamodel, actor is a sub-class of classifier.

The actor icon is a stick man (see Figure 16.1, “Possible artifacts on a use case diagram.”).

16.2.1. Actor Details Tabs

The details tabs that are active for actors are as follows.

ToDoItem

Standard tab.

Properties

See Section 16.2.2, “Actor Property Toolbar” and Section 16.2.3, “Property Fields For Actor” below.

Documentation

Standard tab. See Section 12.5, “Documentation Tab”.

Style

Standard tab. Fill color is used for the stick man's head.

Source

Standard tab. It would not be usual to provide any code for an actor, since it is external to the system.

[Note]Note

The source tab content can be changed, but this has no effect.

Constraints

Standard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.

Tagged Values

Standard tab. In the UML metamodel, Actor has the following standard tagged values defined.

  • persistence (from the superclass, Classifier). Values transitory, indicating state is destroyed when an instance is destroyed or persistent, marking state is preserved when an instance is destroyed.

    [Tip]Tip

    Actors sit outside the system, and so their internal behavior is of little concern, and this tagged value is best ignored.

  • semantics (from the superclass, Classifier). The value is a specification of the semantics of the actor.

  • derived (from the superclass, ModelElement). Values true, meaning the actor is redundant—it can be formally derived from other elements, or false meaning it cannot.

    [Note]Note

    Derived actors have limited value, since they sit outside the system being designed. They may have their value in analysis to introduce useful names or concepts.

16.2.2. Actor Property Toolbar

Go up

Navigate up through the package structure of the model.

Add Actor

This creates a new actor within the model, (but not within the diagram), navigating immediately to the properties tab for that actor.

[Tip]Tip

This method of creating new actors can be confusing. Much better to create them within diagrams where you want them.

Delete

This deletes the selected actor from the model.

[Warning]Warning

This is a deletion from the model not just the diagram. To delete an actor from the diagram, but keep it within the model, use the main menu Remove From Diagram (or press the Delete key).

16.2.3. Property Fields For Actor

Name

Text box. The name of the actor. Since an actor is a classifier, it would be conventional to Capitalize the first letter (and initial letters of any component words), e.g. RemoteSensor.

[Note]Note

ArgoUML does not enforce any naming convention for actors

Stereotype

Drop down selector. Actor is provided by default with the UML standard stereotypes (metaclass, powertype, process, thread, utility) for classifiers. Stereotypes are of limited value with actors. The stereotypes machine, organization, person and singleton are probably of most use. However, they are not provided by default with ArgoUML.

Navigate Stereotype

icon. If a stereotype has been selected, this will navigate to the stereotype property panel (see Section 15.4, “Stereotype”).

Namespace

Text box. Records the namespace for the actor. This is the package hierarchy.

Modifiers

Check box, with entries Abstract, Leaf and Root.

  • Abstract is used to declare that this actor cannot be instantiated, but must always be specialized.

    [Caution]Caution

    While actors can be specialized and generalized, it is not clear that an abstract actor has any meaning. Perhaps it might be used to indicate an actor that does not itself interact with a use case, but whose children do.

  • leaf indicates that this actor can have no further children, while Root indicates it is a top level actor with no parent.

Generalizations

Text area. Lists any actor that generalizes this actor.

Button 1 Double Click navigates to the generalization and opens its property tab.

Specializations

Text box. Lists any specialized actor (i.e. for which this actor is a generalization. The specialized actors can communicate with the same use case instances as this actor.

button 1 click navigates to the generalization and opens its property tab.

Association Ends

Text area. Lists any association ends of associations connected to this actor.

Button 1 Double Click navigates to the selected entry.