Jump to content

Actor modeling

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by RJFJR (talk | contribs) at 17:27, 4 December 2005 (compu-soft-stub). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


Actor modeling is a way of software modeling, which focuses on software actors.

Reason for actor modeling

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 task to give a better understanding of the situation the user is in.

The actor

The central entity of the Actor modeling – the actor itself – can be any kind of possible entity that is performing action. 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 him:

  • 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 task.

Relations

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

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

Roles

Roles are concepts, which allow an impersonalized representation of an actor. It is possible to model a role and connect that role to the actor 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 temporal 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.

Examples

There are different modeling languages that support actor modeling. Examples for that are i* and EEML.