An actor represents someone or something that has an external interface with your system. The name of an actor conveys a role played by a person, an organization, or another system when it interacts with your system.
SysML defines two notations for an actor: a stick figure and a rectangle with the keyword «actor» preceding the name. Figure 3.24 shows examples of both notations. It’s legal to use either notation for any type of actor—person or system. However, modelers often adopt the convention of using the stick figure notation to represent a person and the rectangle notation to represent a system, although the language doesn’t require it.
Figure 3.24 Actors on a BDD
You will occasionally display actors on BDDs to express the generalizations between actors and the associations between actors and blocks (as shown in Figure 3.24). It’s far more common, though, to display actors on use case diagrams, where you express which use cases each actor participates in. I cover these topics in detail in Chapter 5, “Use Case Diagrams.”
All the key ideas about generalizations, reference associations, and composite associations also apply when actors are involved in these relationships. There are two constraints:
- You cannot define a generalization between an actor and a block.
- An actor cannot have parts; that is, it cannot appear at the composite end of a composite association. (We always regard an actor as a “black box.”)