Systems are artifacts designed on purpose. While some may involve very limited human interaction, others’ effectiveness will fully depend on their pairing with users.
Agents and Roles
System users can be described as actual agents or symbolic roles. Agents are active objects instrumental in the targeted business, first as the source of phenomena and then as performers of activities. Whereas roles usually describe what agents do, the part they fulfill in activities, they may also be used to describe the part played by passive objects.
Since agents are physical (and active) objects, they must be persistently represented independently of their activities; yet, as is the case in theater, their appearance can either remain anonymous, identified beforehand (casting), or identified “on stage” .
Roles, being set within activity contexts, may or may not be mapped to persistent representations. A role may be performed anonymously, identified to an agent (or object) for the duration of a performance, or bound to the same one through a chain of performances.
The term “actor” is often used to describe active roles played by agents. Such a terminology may induce some confusion between agents as active objects and their behavior. That may introduce a critical flaw in models if roles, by definition transient, are directly represented by entities, meant to be managed on a persistent basis.
The confusion between agents and roles may be especially hazardous when users’ access rights are considered.
In the following, “actor” always refers to active roles. The same explicit distinction is to be found with the term “subject” used by Role Based Access Control (RBAC).