Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

IfcTask

Definition from IAI: An IfcTask is an identifiable unit of work to be carried out independently of any other units of work in a construction project.

HISTORY: New entity in IFC Release 1.0. Renamed from IfcWorkTask in IFC 2x.

Use Definitions

Work is identified as tasks (i.e. IfcTask) that are capable of either containing other tasks or being sub-items of other tasks. A task can be used to describe a process for the construction or installation of products.

Each instance of IfcTask is given a name that is indicative of its content. A textual description of the the task may be be provided.

Instances of IfcTask may be assigned to an IfcWorkControl (either a work plan or a work schedule) through the IfcRelAssignsTasks relationship class.

The installation of a number of items of equipment within a particular space may be the subject of a single task which is identified as e.g. ‘fix equipment in space 123’. IfcTask represents the occurrence of a work performance of a type of process in a construction plan.

A task can nest other tasks as sub-items; the nesting relationship is modeled by IfcRelNests. For example, the construction of a stud wall may be designated as a nesting task named ‘install wall #1’ including other tasks such as ‘install dry wall’, ‘install studs’, ‘wall taping’, and ‘erect wall’ as sub-processes.

Special information relating to a task is asserted using IfcTask.ObjectType (inherited from IfcObject). Examples that may be used include fixed duration, fixed unit, fixed work.

The sequential relationships between tasks are represented by IfcRelSequence in IfcKernel schema.

Resource used by tasks are assigned by IfcRelAssignsToProcess. Quantities of resources consumed by the task are dealt with by defining the IfcElementQuantity for the resource and not at the instance of IfcTask.

An IfcTask may be assigned a Work Breakdown Structure (WBS) code. A WBS code is dealt with as a classification of task and is associated to a task occurrence using the IfcRelAssociatesClassification relationship class. As well as being to designate the code, the classification structure of the IFC model also enables the source of the work breakdown structure classification to be identified.

EXPRESS specification:

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

Attribute definitions:

TaskId  :  An identifying designation given to a task.
Status  :  Current status of the task.
NOTE: Particular values for status are not specified, these should be determined and agreed by local usage. Examples of possible status values include 'Not Yet Started', 'Started', 'Completed'.
WorkMethod  :  The method of work used in carrying out a task.
IsMilestone  :  Identifies whether a task is a milestone task (=TRUE) or not (= FALSE).
NOTE: In small project planning applications, a milestone task may be understood to be a task having no duration. As such, it represents a singular point in time.
Priority  :  A value that indicates the relative priority of the task (in comparison to the priorities of other tasks).

Formal Propositions:

WR1  :  Restrict the relationship 'Nests' inherited from IfcObject to IfcRelNestsProcesses.
WR2  :  Restrict the relationship 'IsNestedBy' inherited from IfcObject to IfcRelNestsProcesses.
WR3  :  The Name attribute should be inserted to describe the task name.

Inheritance graph

ENTITY IfcTask;
ENTITY IfcRoot;
GlobalId  :  IfcGloballyUniqueId;
OwnerHistory  :  IfcOwnerHistory;
Name  :  OPTIONAL IfcLabel;
Description  :  OPTIONAL IfcText;
ENTITY IfcObjectDefinition;
INVERSE
HasAssignments  :  SET OF IfcRelAssigns FOR RelatedObjects;
IsDecomposedBy  :  SET OF IfcRelDecomposes FOR RelatingObject;
Decomposes  :  SET [0:1] OF IfcRelDecomposes FOR RelatedObjects;
HasAssociations  :  SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcObject;
ObjectType  :  OPTIONAL IfcLabel;
INVERSE
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;
ENTITY IfcProcess;
INVERSE
OperatesOn  :  SET OF IfcRelAssignsToProcess FOR RelatingProcess;
IsSuccessorFrom  :  SET OF IfcRelSequence FOR RelatedProcess;
IsPredecessorTo  :  SET OF IfcRelSequence FOR RelatingProcess;
ENTITY IfcTask;
TaskId  :  IfcIdentifier;
Status  :  OPTIONAL IfcLabel;
WorkMethod  :  OPTIONAL IfcLabel;
IsMilestone  :  BOOLEAN;
Priority  :  OPTIONAL INTEGER;
END_ENTITY;