You are here

Role

public class: Role
Author: Jim Salmons
Project: Phase: 1.0; Status: Proposed; Version: 1.0; Complexity: 1
Dates: Created: 8/5/2006 1:13:23 PM; Modified: 8/6/2006 1:35:05 PM;
Flags: Active: false; IsRoot: false; IsLeaf: false;
Extension Points:
UUID: {416279E9-E470-43d3-A3A2-681C698830B0}
Roles are a central "organizing principle" of an agent-based simulation system.

Through aggregation (Roles being made up of sub-Roles, whole-part relations), we get "compositional power." For example, a Manager Role may be composed of a number of sub-Roles which include being an Approver (Role) of some decision or action. By modeling the fine-grained Exchange Activity of Submitter-Approver (Roles), we can more easily and effectively build higher-order Roles where a Role requires Approver behavior.

Note that Role-(sub)Role aggregation is optional. The metamodel provides for this level of complexity, but this does not mean that every instance of a LFEGame model will have to use it. There are plenty of situations where Roles with be "one level deep."

Even though Roles may be course-grained (one-level deep), this does not mean that a model need be too simplistic to be useful. Since a Actor can "act out" many Roles, there is plenty of opportunity to model variety and comprehensive action. For example, Person "Joe" may be a Farmer Actor who, at various times in various contexts, plays the Roles of Crop_Planter, Tractor_Mechanic, Farmers_Market_Vendor, etc. In each of these Roles, Joe may engage is a wide variety of contextually relevant Activities.

Goto: Custom Properties

See also: Actor, Organization, Activity

Appears in: Logical View

Connections
Custom Properties