Log In   View a printable version of the current page.
Assign Construction Resource To Task (FP)
Added by Jeffrey Wix, last edited by Jeffrey Wix on Jan 14, 2007  (view change)
Labels: 
(None)


Assign Resource To Task

Overview

This functional part describes how construction resources are defined and how they are then assigned to tasks.
Within the IFC schema, a construction resource is considered to be something that is used to assist completion of a process or something that is consumed within a process. There are six separate subtypes of construction resource identified and these are:

  • Construction Equipment Resource
    Construction equipment represents resources that may be used to assist in the act of construction and that are wholly or partially occupied (i.e. used) in the performance of construction. Typically, it may be a resource such as a piece of machinery that is used in carrying out a particular process. It might be a piece of earth moving equipment used to form the site prior to construction or a pipe bending machine or special heavy duty drilling or piling equipment. The resource in this case may need to be specifically allocated to a task and, where a schedule time resource indicates start and finish times, the time for which the equipment is allocated may be known.
  • Construction Material Resource
    A construction material resource represents a general resource that is made available for use on a project without necessarily being specific as to how it is used. However, when it is used for a task, some indication may need to be given as to approximately how much is used.
    Care should be taken to distinguish the usage of construction material resources and occurrences of IfcMaterial. A construction material resource can have a material assigned. For instance, stone chippings may be a construction material resource but flint might be the material designation.
    Care should also be taken in making a distinction between material and product resources.
  • Construction Product Resource
    Generally, a construction product resource is a product that may have been constructed as part of the project work but whose primary purpose is to support, be used in or be consumed by a task. For instance, formwork used in concrete work may have been the subject of a prior task 'construct formwork. In the 'pour concrete' task, the formwork will then be used as a construction product to assist the shaping of the concrete and may be left in place or removed after completion of the task.
  • Crew Resource
    A crew resource may be used as an aggregation of other resources into a single resource. For instance, it may be applied where an equipment resource is used in conjunction with specific labor and/or sub-contract resources.
  • Labor Resource
    A labor resource may be used to identify a particular skill or craft capability that needs to be applied. In this sense, it may be considered to apply to multiple actors that may assist in the performance of a task. A labor resource is not the same thing as an actor although an actor may be considered as being able to fulfil the requirements of a required labor resource.
  • Sub-Contract Resource
    Represents the requirement for sub-contracted resources (a sub-contractor being an organization with whom a contractual relationship is defined rather than defining the relationship with specific actors.

For each type of resource to be used, the following information may need to be determined:
? A name for the resource used.
? The identity of the resource which may be a code or article number used for the purposes of buying
? Specification of the resource type (carpenter, foreman, electrician etc.). This is equivalent to the use of actor role in relation to an actor.
? How the resource is used or consumed within a task
? The base quantity used for measuring the resource (if appropriate); this may also be identified using element quantities.

Once the resources have been defined, they can be assigned to the task in which they will be used or consumed.

Reference to a specific construction resource concept should be by declaring it as a parameter to the functional part e.g. fp_assign_construction_resource_to_tak (IfcLaborResource)

Results

  • Construction resources are identified and assigned to the task in which they will be used.

Suggested modifications to IFC model and documentation

* IfcResourceConsumptionEnum has a USERDEFINED value. However, the attribute name is IfcConstructionResource.ResourceConsumption which does not have a specific pointer to an entity/attribute that can hold a user defined value. It is recommended that an optional attribute 'UserDefinedResourceConsumption' is added.

Description Entity/Pset/Functional Part MAN REC OPT
For all construction resources, general attributes should be asserted
 
In the description below, the entity is shown as_IfcConstructionResource[subtype]. For normal usage, this should be replaced with the actual entity being used e.g. IfcConstructionEquuipmentResource.
       

Assert the identity of the construction resource

IfcConstructionResource[subtype].GlobalId::IfcGloballyUniqueId    

Assert the owner history of the construction resource

IfcConstructionResource[subtype].OwnerHistory::fp_apply_owner_history    

Specify a name of the construction resource
 

This should be a generally useful name in human identification of the type and specific reference for the resource e.g. screwing machine #3.

IfcConstructionResource[subtype].Name::IfcLabel    

Specify a description of the construction resource.
 

A description should be asserted to give as much information as possible about the object in question.

IfcConstructionResource[subtype].Description::IfcLabel    

Specify the object type for the resource

IfcConstructionResource[subtype].ObjectType::IfcLabel    
Concept of Construction Equipment Resource.
 
Subtype is IfcConstructionEquipmentResource
       

Identify the construction resource
 

Identification may be in the form of a code or ID used as a general indicator for ordering or buying purposes. This may be an article number, RFID tag etc.
 

For a construction equipment resource, it is anticipated that the identification will be in the form of a suppliers marking or RFID tag.

IfcConstructionEquipmentResource. ResourceIdentifier::IfcIdentifier    

Identify the resource group
 

For construction equipment, this value may be plant hire, rental or some other form of grouping reference.

IfcConstructionEquipmentResource.ResourceGroup::IfcLabel    

Identify the resource consumption.
 

This should be selected from the predefined enumeration list which includes

*CONSUMED

*PARTIALLYCONSUMED

*NOTCONSUMED

*OCCUPIED

*PARTIALLYOCCUPIED

*NOTOCCUPIED

*USERDEFINED

*NOTDEFINED_
 

For equipment, the values OCCUPIED, PARTIALLYOCCUPIED or NOTOCCUPIED should b e used. Consumption values should not be used

IfcConstructionEquipmentResource. ResourceConsumption::IfcResourceConsumptionEnum    
Set the base quantity
 
_This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partially consumed.
 
Generally, for equipment, the base quantity may be omitted as equipment will be measured in'counted' units._
IfcConstructionEquipmentResource.BaseQuantity::fp_measure_with_unit    
Concept of Construction Material Resource.
 
Subtype is IfcConstructionMaterialResource
       

Identify the construction resource
 

Identification is expected to be in the form of an article number or buying code for a material resource.

IfcConstructionMaterialResource.ResourceIdentifier::IfcIdentifier    

Identify the resource group
 

For construction material, this value may be sand, gravel etc.

IfcConstructionMaterialResource.ResourceGroup::IfcLabel    

Identify the resource consumption.
 

_*See predefined list above
 

For material, the values CONSUMED, PARTIALLY CONSUMED or NOTCONSUMED should b e used. Occupied values should not be used

IfcConstructionMaterialResource. ResourceConsumption::IfcResourceConsumptionEnum    

 Set the base quantity
 
This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partially consumed.

IfcConstructionMaterialResource.BaseQuantity::fp_measure_with_unit    
Concept of Construction Product Resource.
 
Subtype is IfcConstructionProductResource
       

Identify the construction resource

 

Identification is expected to be in the form of an article number or buying code for a material resource.

IfcConstructionProductResource.ResourceIdentifier::IfcIdentifier    

Identify the resource group

 

For construction product, this value may be related to the product catalogue

IfcConstructionProductResource.ResourceGroup::IfcLabel    

Identify the resource consumption.

 

_See predefined list above

 

For products, any of the values in the predefined list may be appropriate_

IfcConstructionProductResource.ResourceConsumption::IfcResourceConsumptionEnum    

Set the base quantity

 

This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partiallyconsumed.

IfcConstructionProductResource.BaseQuantity::fp_measure_with_unit    
Concept of Labor Resource.
 
Subtype is IfcLaborResource
       

Identify the construction resource
 

Identification may be in the form of a reference number used for human resource, payroll or social security purposes.

IfcLaborResource.ResourceIdentifier::IfcIdentifier    

Identify the resource group
 

For a labor resource, this value may be equivalent to a personal role (but applied in general terms)such as carpenter, foreman, electrician etc

IfcLaborResource.ResourceGroup::IfcLabel    

Identify the resource consumption.
  _ *See predefined list above
 
For labor, the values OCCUPIED, PARTIALLYOCCUPIED or NOTOCCUPIED should be used. Consumption values should not be used_

IfcLaborResource.ResourceConsumption::IfcResourceConsumptionEnum    

Set the base quantity
 

_This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partially consumed.
 

Generally, for labor, the base quantity may be omitted._

IfcLaborResource.BaseQuantity::fp_measure_with_unit    

Specify the skillset
 

_This provides an indication of the skill por craft possessed by the labor resource and which may be used to determine the potential to perform a particular task which is otherwise constraint in terms of the skills required. _

IfcLaborResource.Skillset::    
Concept of Subcontract Resource.
 
Subtype is IfcSubcontractResource
       

Identify the construction resource

IfcSubcontractResource.ResourceIdentifier::IfcIdentifier    

Identify the resource group

IfcSubcontractResource.ResourceGroup::IfcLabel    

Identify the resource consumption.

 

_*See predefined list above

 
For sub-contracts, any of the values in the predefined list may be appropriate_

IfcSubcontractResource.ResourceConsumption::IfcResourceConsumptionEnum    

Set the base quantity

 

_This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partially consumed.

 

Generally, for sub-contracts, the base quantity may be omitted._

IfcSubcontractResource.BaseQuantity::fp_measure_with_unit    

Set the identity of the actor performing the role of the subcontracted resource

IfcSubcontractResource.SubContractor::fp_select_actor    

Describe the jobs that this subcontract should complete

IfcSubcontractResource.JobDescription::IfcText    
Concept of Crew Resource.
 
Subtype is IfcCrewResource
       

Identify the construction resource

IfcCrewResource.ResourceIdentifier::IfcIdentifier    

Identify the resource group

IfcCrewResource.ResourceGroup::IfcLabel    

Identify the resource consumption.

 

_See predefined list above

 

For crews, any of the values in the predefined list may be appropriate_

IfcCrewResource.ResourceConsumption::IfcResourceConsumptionEnum    

Set the base quantity

 

_This is the default, or recommended unit that should be used for measuring the volume (or amount) of the resource and the basic quantity of the resource fully or partially consumed.

 

Generally, for crews, the base quantity may be omitted._

IfcCrewResource.BaseQuantity::fp_measure_with_unit    

Determine the resources that are aggregated within the crew resource.

 

Any type of resource may be aggregated within a crew resource. Generally however, it is anticipated that crews will comprise equipment and labor resources.

fp_aggregates    
Specify the task to which the construction resource(s) are to be assigned
 
Note that details of the attribute settings for tasks is given in other functional parts notably fp_control_maintenance_plan and fp_control_maintenance_schedule. Specific information on setting of attributes is not given in this functional part
IfcRelAssignsToProcess.RelatingProcess::IfcTask    

Specify the construction resources that are to be assigned to the task.

 

Note that specific subtypes of construction resource as indicated below should be used as the target datatype for the related objects attribute.

IfcRelAssignsToProcess.RelatedObjects::IfcConstructionResource    

Set the quantity of the object specific for the operation by this process.

 

This attribute is not relevant to the assigning of resources to tasks.

IfcRelAssignsToProcess.QuantityInProcessIfcMeasureWithUnit X X X

Assert the identity of the relationship

IfcRelAssignsToProcess.GlobalId::IfcGloballyUniqueId    

Assert the owner history of the relationship

IfcRelAssignsToProcess.OwnerHistory::fp_apply_owner_history    

Specify a name of the relationship

IfcRelAssignsToProcess.Name::IfcLabel    

Specify a description of the relationship

IfcRelAssignsToProcess.Description::IfcLabel    

IFC Entities Required

? IfcConstructionResource

? IfcConstructionEquipmentResource

? IfcConstructionMaterialResource

? IfcConstructionProductResource

? IfcCrewResource

? IfcLaborResource

? IfcObject

? IfcObjectDefinition

? IfcProcess

? IfcRelationship

? IfcRelAssigns

? IfcRelAssignsToProcess

? IfcResource

? IfcRoot

? IfcSubcontractResource

? IfcTask

IFC Datatypes Required

? IfcGloballyUniqueId
? IfcIdentifier
? IfcLabel
? IfcObjectTypeEnum
? IfcRatioMeasure
? IfcResourceConsumptionEnum
? IfcText

IFC Functions Required

? -

IFC Property Sets Required

? -

IDM Functional Parts Required

? fp_aggregates
? fp_apply_owner_history
? fp_define_by_properties
? fp_measure_with_unit
? fp_select_actor

EXPRESS-G

EXPRESS Schema

SCHEMA FP_ASSIGN_CONSTRUCTION_RESOURCE_TO_TASK;

  TYPE IfcGloballyUniqueId = STRING (22) FIXED;
  END_TYPE;

  TYPE IfcIdentifier = STRING;
  END_TYPE;

  TYPE IfcLabel = STRING;
  END_TYPE;

  TYPE IfcRatioMeasure = REAL;
  END_TYPE;

  TYPE IfcText = STRING;
  END_TYPE;

  TYPE IfcObjectTypeEnum = ENUMERATION OF
    (PRODUCT,
     PROCESS,
     CONTROL,
     RESOURCE,
     ACTOR,
     GROUP,
     PROJECT,
     NOTDEFINED);
  END_TYPE;

  TYPE IfcResourceConsumptionEnum = ENUMERATION OF
    (CONSUMED,
     PARTIALLYCONSUMED,
     NOTCONSUMED,
     OCCUPIED,
     PARTIALLYOCCUPIED,
     NOTOCCUPIED,
     USERDEFINED,
     NOTDEFINED);
  END_TYPE;

  ENTITY IfcObject
    ABSTRACT SUPERTYPE OF (ONEOF(IfcProcess, IfcResource))
    SUBTYPE OF(IfcObjectDefinition);
      ObjectType : OPTIONAL IfcLabel;
    WHERE
      WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
  END_ENTITY;

  ENTITY IfcRoot
    ABSTRACT SUPERTYPE OF (ONEOF(IfcRelationship, IfcObjectDefinition));
      GlobalId     : IfcGloballyUniqueId;
      Name         : OPTIONAL IfcLabel;
      Description  : OPTIONAL IfcText;
      OwnerHistory : fp_apply_owner_history;
    UNIQUE
      UR1 : GlobalId;
  END_ENTITY;

  ENTITY IfcRelationship
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcRoot);
  END_ENTITY;

  ENTITY IfcRelAssigns
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcRelationship);
      RelatedObjects     : SET [1:?] OF IfcObject;
      RelatedObjectsType : OPTIONAL IfcObjectTypeEnum;
    WHERE
      WR1 : IfcCorrectObjectAssignment(RelatedObjectsType, RelatedObjects);
  END_ENTITY;

  ENTITY IfcProcess
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcObject);
  END_ENTITY;

  ENTITY IfcTask
    SUBTYPE OF(IfcProcess);
      TaskId      : IfcIdentifier;
      Status      : OPTIONAL IfcLabel;
      WorkMethod  : OPTIONAL IfcLabel;
      IsMilestone : BOOLEAN;
      Priority    : OPTIONAL INTEGER;
    WHERE
      WR1 : SIZEOF(QUERY(temp <* SELF\IfcObject.Decomposes | NOT('IFC2X2_FINAL.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
      WR2 : SIZEOF(QUERY(temp <* SELF\IfcObject.IsDecomposedBy | NOT('IFC2X2_FINAL.IFCRELNESTS' IN TYPEOF(temp)))) = 0;
      WR3 : EXISTS(SELF\IfcRoot.Name);
  END_ENTITY;

  ENTITY IfcResource
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcObject);
  END_ENTITY;

  ENTITY IfcConstructionResource
    ABSTRACT SUPERTYPE OF (ONEOF(IfcConstructionEquipmentResource, IfcConstructionMaterialResource, IfcConstructionProductResource, IfcCrewResource, IfcLaborResource, IfcSubContractResource))
    SUBTYPE OF(IfcResource);
      ResourceIdentifier  : OPTIONAL IfcIdentifier;
      ResourceGroup       : OPTIONAL IfcLabel;
      ResourceConsumption : OPTIONAL IfcResourceConsumptionEnum;
      BaseQuantity        : fp_measure_with_unit;
  END_ENTITY;

  ENTITY IfcConstructionEquipmentResource
    SUBTYPE OF(IfcConstructionResource);
  END_ENTITY;

  ENTITY IfcConstructionMaterialResource
    SUBTYPE OF(IfcConstructionResource);
      UsageRatio : OPTIONAL IfcRatioMeasure;
      Suppliers  : OPTIONAL SET [1:?] OF fp_select_actor;
    WHERE
      WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1;
      WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR
            (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT);
  END_ENTITY;

  ENTITY IfcConstructionProductResource
    SUBTYPE OF(IfcConstructionResource);
    WHERE
      WR1 : SIZEOF(SELF\IfcResource.ResourceOf) <=1;
      WR2 : NOT(EXISTS(SELF\IfcResource.ResourceOf[1])) OR
            (SELF\IfcResource.ResourceOf[1].RelatedObjectsType = IfcObjectTypeEnum.PRODUCT);
  END_ENTITY;

  ENTITY IfcCrewResource
    SUBTYPE OF(IfcConstructionResource);
  END_ENTITY;

  ENTITY IfcLaborResource
    SUBTYPE OF(IfcConstructionResource);
      SkillSet : OPTIONAL IfcText;
  END_ENTITY;

  ENTITY IfcSubContractResource
    SUBTYPE OF(IfcConstructionResource);
      JobDescription : OPTIONAL IfcText;
      SubContractor  : OPTIONAL fp_select_actor;
  END_ENTITY;

  ENTITY IfcRelAssignsToProcess
    SUBTYPE OF(IfcRelAssigns);
      RelatingProcess   : IfcProcess;
      QuantityInProcess : fp_measure_with_unit;
    WHERE
      WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProcess :=: Temp)) = 0;
  END_ENTITY;

  ENTITY IfcObjectDefinition
    SUBTYPE OF(IfcRoot);
    INVERSE
      HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
  END_ENTITY;

  ENTITY fp_aggregates;
  END_ENTITY;

  ENTITY fp_apply_owner_history;
  END_ENTITY;

  ENTITY fp_define_by_properties;
  END_ENTITY;

  ENTITY fp_measure_with_unit;
  END_ENTITY;

  ENTITY fp_select_actor;
  END_ENTITY;

END_SCHEMA;

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.3 Build:#408 Jan 23, 2006) - Bug/feature request - Contact Administrators