Pattern:Resource Pattern

From City Data Model Project Collaboratory
Jump to navigation Jump to search


Description

An English description of the definition (what distinguishes this sense of the term?).

Resources are an important aspect of activities; they often capture important preconditions and effects of activities. In the context of city data, resources such as vehicles, income, and transit passes will impact travel behaviour. The representation of resources is also important for tasks related to asset management; for example, city infrastructure and its scheduled maintenance activities and failure rates are important factors for predicting the performance of various city services. The Resource Pattern adopts the view presented in the TOronto Virtual Enterprise model[18] that whether or not an object is considered a resource is dependent on the role that it plays for a particular activity. In this sense, Resources are a class of Manifestations, as they are subject to change over time. For example, the value of the hasAvailableCapacity property, described in clause 6.10.2, changes over time as the resource is used/consumed. Each change can be represented with a different manifestation with a change in both the available capacity and the time interval over which it is valid. An object may be classified as a different type of resource, dependent on its participation in an activity. The Resource Pattern reuses the Activity Pattern.

Key Concepts and Classes

— Asset: The notion of an Asset is relevant as a more general type of Resource - anything that may be managed by a given organization. An Asset is a type of Manifestation as it may undergo changes over time. Assets have the following core property: hasLocation: identifies the spatial Feature (as defined the in the Spatial Location Pattern) where the asset is located. The location of an Asset is a variant property. — Resource: A Resource is a type of Asset that plays a role in some Activity. Various types (subclasses) of Resource may be defined as required. A Resource class may be used by or consumed by some Activity class; the specification of what Resource and the quantity used or consumed in an activity is defined by the UseState and/or ConsumeState that are part of a State definition that is linked to an Activity by an enablesActivity property. If some Resource is used by an Activity, then when the Activity occurs, there needs to be some Resource of that type that is (partially) not available. If a Resource is consumed by an Activity, then the Resource (partially) ceases to exist by the end of the occurrence. Resources have the following core properties: hasCapacity: identifies the Quantity that specifies how much of the Resource exists, e.g. its volume, if it is liquid; how much it can hold, if it is an oven. This property may be invariant, depending on the nature of the resource. hasAvailableCapacity: identifies the Quantity that specifies how much of the Resource is available for use at some point in time (i.e. when the particular manifestation exists). capacityInUse: identifies the portion of capacity in use, by some Activity(s), at the time of the manifestation. hasAllocation: specifies an Allocation for the Resource. This indicates a State and time Interval to which the Resource has been allocated. participatesIn: identifies the Activity that the Resource is being used or consumed by. For additional detail, a Resource may be classified according to more specific resource types. A Resource may either be a DivisibleResource or a NonDivisibleResource, but not both. — DivisibleResource: may be divided for use or consumption between multiple Activities at any point in time. — NonDivisibleResource: may only be used for a single Activity at once – even if it isn’t fully utilized. — Allocation: An Allocation class specifies the planned assignment of a Resource to an Activity via a State. An Allocation is a Manifestation as itchange over time. It has the following properties: forResource: specifies the Resource that is being allocated. forState: specifies the State to which the Resource is allocated. hasQuantity: the amount of the Resource allocated. hasTime: specifies the time Interval at which the Resource is Allocated to the State. — TerminalResourceState: The Resource pattern extends TerminalState (defined in the Activity pattern), specialized as TerminalResourceState with the following properties: hasQuantity: specifies the Quantity (as defined in the City Units pattern) of the Resource that participates in the State, if applicable. hasResource: specifies a Resource that participates in the State. This identifies the condition of the object that plays a resource role (i.e. is used, consumed, etc.) when the state’s status is active. hasAllocation: specifies one or more Allocations that identify a Resource and what time it is allocated to the State. Specializations of TerminalResourceStates are identified in order to distinguish the role of Resources as preconditions and effects more precisely: — ConsumeState: Identifies a Resource and Quantity it consumes. The Quantity is removed from the Resource. — ProduceState: Identifies a Resource and Quantity it produces. — UseState: Identifies a Resource and Quantity it uses (without consuming). — ReleaseState: Identifies a Resource and Quantity it releases (after using).

Has Class(es)

Asset, DivisibleResource, NonDivisibleResource, ProduceState, ReleaseState, Resource, TerminalResourceState, UseState, Allocation, ISO5087-1:ConsumeState ISO5087-1:Activity

Status

Pending Approval


Supplementary Figures

Figure Caption