Actor modeling

From Wikipedia, the free encyclopedia

In computer science, Actor modeling is a form of software modeling, which focuses on software actors. Actor modeling is most prominently used for the early modeling of requirements; through this it becomes possible to understand who the users and stakeholders of a system are and what their interests and needs are regarding that system. The increasing complexity of today’s systems makes it more appropriate to take this approach, instead of a traditional, more mechanically focused approach. When thinking along the dimensions of users and their needs, it is easier to comprehend what the system is designed to accomplish. This approach furthermore helps the users to define the requirements for the system. The approach of actor modeling is normally combined with the modeling of goals and tasks to give a better understanding of the situation the user is in. There are different modeling languages that support actor modeling; examples include i* and EEML.

[edit] The Actor

The central entity of the Actor modeling – the actor itself – can be any kind of entity that is performing action(s). It may for example be a person, a department, or an organization. The goal of actor modeling is to understand the actor better. To do so, it is important to understand the actor, who he is and why he does what he does. The actor has attributes that define it:

  • The actor has goals, skills and responsibilities.
  • The actor performs tasks with a certain purpose in mind.
  • The actor depends on other actors, resources or tasks.

[edit] Relations

The different actors in the model are in general not interdependent. It is therefore necessary to be able to put the actors in context. This can be done through different kinds of relations:

  • Connections between actors (what is the relation between the actors)
  • Relations to tasks (what does the user do)
  • Relations to goals (what is the goal of the user)
  • Dependencies (the user is dependent on other entities: users, tasks, goals)

[edit] Roles

Roles allow an impersonalized representation of an actor. It is possible to model a role and connect that role to the actor that is filling that role. If the actor that fills the role stops to do so for whatever reason, it can be easily replaced by another actor that from that point on fills the role; this can be as a temporary replacement or as a long term arrangement. It is furthermore possible to assign new and/or different roles to an already existing actor. The advantage of this is that the model itself doesn’t need to be changed; only the connections between the actors and the roles need to be redone.