Object-oriented role analysis and modeling

Object-oriented role analysis and modeling (OOram) is a method, based on the concept of role, for performing object-oriented modeling.

Originally (1989) coined Object Oriented Role Analysis, Synthesis and Structuring (OORASS), the method focuses on describing patterns of interaction without connecting the interaction to particular objects/instances. OOram was originally developed by Trygve Reenskaug (1996), a professor at the University of Oslo and the founder of the Norwegian IT company Taskon. The use of "roles" in OOram is similar in application to that of agent-oriented programming.

Enterprise models created according to OOram may have a number of views, with each view presenting certain aspects of a model. The following ten views are proposed:
 * 1) Area of concern view: Textual description of a phenomenon represented in the role model.
 * 2) Stimulus-response view: Describes how environment roles may trigger activities in the organization (stimulus), together with the effect (response).
 * 3) Role list view: List describing all roles of a role model together with attributes and textual explanation.
 * 4) Semantic view: Describes meaning of roles and relationships between roles.
 * 5) Collaboration view: Describes patterns of roles and message paths.
 * 6) Interface view: Describes all messages that can be sent along a message path.
 * 7) Scenario view: Provides a sample sequence of messages flowing between roles (a concrete example).
 * 8) Process view: Describes data flow between roles and associated activities performed by the roles.
 * 9) State diagram view: For each role, the legal states can be described together with messages that trigger transitions.
 * 10) Method specification view: Describes what messages to send for each method belonging to a role. May also specify procedures to perform.

OOram suggests a varied mix of formal and informal notations and languages for representing and communicating models. Which view to use depends upon the needs in a particular situation.