Log In   View a printable version of the current page.
Control Maintenance Schedule (FP)
Added by Jeffrey Wix, last edited by Jeffrey Wix on Jan 27, 2007  (view change)
Labels: 
(None)


Control Maintenance Schedule

Overview

A maintenance schedule is a type of work schedule in which the work tasks that are scheduled are specifically related the assets that are to be maintained. That is, the maintenance schedule will describe all the maintenance tasks that must be undertaken and the actual dates on which work is scheduled to be done.
Additionally, a maintenance schedule may define required resources to perform tasks in terms of the skills or capabilities required and/or in terms of specific actors.
For a maintenance schedule, the following information will be needed:

The maintenance tasks that are to be undertaken with, for each task:

Identity of the task (using the general form of identification or breakdown structure adopted for the project)

The name of the task (i.e. how it will be shown in a chart)

Any further useful description (which may be provided if required).

Whether the task is a milestone or has a scheduled duration.

Time related information about the task including earliest/latest start dates, earliest/latest finish dates, scheduled start/finish dates, actual start/finish dates. The extent of time related information specified depends on whether the baseline schedule or actual concept schedule is applied.

Available float times for the task.
The assets on which the work is done

Concept 1: Baseline Schedule

Includes earliest, latest and scheduled start and finish times. Float times may also be included. Actual start and finish times are excluded together with other values that are dependant on start or finish time.

Concept 2: Actual Schedule

Actual start and finish times are includes. Earliest, latest and scheduled start/finish times may be adjusted according to circumstances. Float times may also be adjusted. Remaining time for a task may be identified.

Suggested modifications to IFC model and documentation

* IfcTimeMeasure is specified as a real value that is normally measured in seconds. Many time measures may be measured in much larger units (months/years for a typical building or building component). This fact has to be either dealt with in software (currently as indicated) or an alternative approach to measuring time measure determined for IFC.

Results

Maintenance schedule is established in which all maintenance tasks are defined and the points in time at which the work Depending on when the schedule is established, it may be a baseline schedule specifying expectations for completion of tasks or it may be an actual schedule in which actual start/finish dates are described.

Information Needed Entity/Pset/Functional Part MAN REC OPT
CONCEPT: Baseline Schedule
 
Establish a baseline maintenance schedule defining the maintenance work to be undertaken on a selection of assets and the expected schedule of activities.
 
Note that whilst it would be possible to look at the maintenance of products, it is assumed that such products are grouped together within an asset for the purposes of maintenance. Individual elements of the asset are identifiable within the asset group through the general grouping mechanism.
       
Determine the maintenance tasks to be undertaken. Perform the following actions for each task to be included in the maintenance schedule.
 
Note that tasks within a schedule may be derived from one or more work plans already defined. A relationship between a work schedule and a work plan may be described if necessary through the IfcRelAssignsToControl relationship. This is not specifically described within this functional part.
       

Assert general attributes for the task

       

Set the global unique identifier

IfcTask.GlobalId::fcGloballyUniqueId    

Assert the owner history of the task IfcTask.

OwnerHistory::fp_apply_owner_history    

Specify a name for the task

 

Note that this is the primary presentation of the task; it is the text entry in a plan or schedule.

 

_This attribute must be asserted for a task _

IfcTask.Name::IfcLabel    

Specify a description for the task.

 

Specification of a description is optional but can provide valuable further information

IfcTask.Description IfcLabel    

Special information about the task.

       

Assert special information that may relate to a task

 

Examples that may be used include fixed duration, fixed unit, fixed work etc.

IfcTask.ObjectType::IfcLabel    

Assert specific task related attributes that are relevant to the maintenance plan

 

Note that certain attributes of a task are relevant only to use of a task within a schedule and therefore should not be used for a maintenance plan

       

Set the value of the Task identifier.

 

Note that this is a reference value given to the task in the context of the maintenance plan. It must be locally unique (within the maintenance plan), but is not a globally unique identifier. It may be used as a sequence number in a list of tasks 1,2,3,4 etc. or as work breakdown structure identifier as a lightweight alternative to the use of the classification capability in IFC.

IfcTask.TaskId::IfcIdentifier    

Identify if the task is a milestone.

 

This value must be asserted. It may change between a baseline schedule and an actual schedule

IfcTask.IsMilestone::BOOLEAN    

Set the current status of the task

 

For the baseline schedule, a value should be asserted that identifies the task status asnot yet started

IfcTask.Status::IfcLabel    

Specify the method of work to be used in carrying out the task

 

A method statement for the task should be asserted.

IfcTask.WorkMethod::IfcLabel    

Set the relative priority of the task (in comparison to the priorities of other tasks).

 

It is recommended that this attribute should be asserted when a schedule is extended to include inserted planned tasks as a result of requests for action (e.g. through a helpdesk). For a baseline task, it may not be strictly necessary but is recommended for assertion anyway (even if only as a default value).

IfcTask.Priority::INTEGER    

A task may nest other tasks, only the parent task being related to the asset. For each sub-task, the procedure for assertion of attributes as defined above must be followed. Once the tasks are defined, they can be brought together into a nesting relationship.

fp_nests (IfcTask)    
Define resources that may be associated with a task in a work schedule
 
Resources are allocated through the functional part fp_assign_construction_resource_to_task
       

For a construction equipment resource

fp_assign_construction_resource_to_task
(IfcConstructionEquipmentResource)
   

For a construction material resource

fp_assign_construction_resource_to_task (IfcConstructionMaterialResource)    

For a construction product resource

fp_assign_construction_resource_to_task (IfcConstructionProductResource)    

For a crew resource

fp_assign_construction_resource_to_task
(IfcCrewResource)
   

For a labor resource

fp_assign_construction_resource_to_task
(IfcLaborResource)
   

For a sub-contract resource

fp_assign_construction_resource_to_task (IfcSubContractResource)    
Identify the asset        

Identify the asset to which the task will be assigned

 

Identifying the asset through the functional part also allows for all of the elements that are grouped within the asset to be determined.

fp_model_asset    
Associate the asset with the task
 
In this functional part, the asset is assigned to the task rather than vice versa. This is done because the asset is a group rather than a product
 
Note also that the identification of the asset is not specifically referenced by the work control. Reference to the asset is considered to be implicit through the task
       

Specify the relating task

IfcRelAssignsToProcess.RelatingProcess::IfcTask    

Specify the related objects

 

Note here that specific reference is made to IfcAsset although access to the IfcAsset specification is through the fp_model_asset functional part.

 

A given task may be relevant for multiple assets. This can be managed through the fact that the IfcRelAssignsToProcess allows for multiple related objects.

IfcRelAssignsToProcess.RelatedObjects::IfcAsset    

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

 

This attribute is not relevant to the assigning of tasks to the work schedule and should not be asserted for this purpose.

IfcRelAssignsToProcess.QuantityInProcess::IfcMeasureWithUnit 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    
Define the work schedule to which the tasks will be assigned        

Assert the identity of the work plan

IfcWorkSchedule.GlobalId::IfcGloballyUniqueId    

Assert the owner history of the work plan

IfcWorkSchedule.OwnerHistory::fp_apply_owner_history    

Specify a name of the work plan

IfcWorkSchedule.Name::IfcLabel    

Specify a description of the work plan

IfcWorkSchedule.Description::IfcLabel    

Set identifier of the work plan,

IfcWorkSchedule.Identifier::IfcIdentifier    

Set the date that the plan is created.

IfcWorkSchedule.CreationDate::fp_select_date_time    

Set the authors of the work plan.

IfcWorkSchedule.Creators::fp_select_actor    

Provide a description of the purpose of the work plan.

 

Note that this is a description of purpose and may differ from the text description given above under the general attributes for the entity.

IfcWorkSchedule.Purpose::IfcLabel    

Set the total duration of the entire work schedule.

IfcWorkSchedule.Duration::IfcTimeMeasure    

Set the total time float of the entire work schedule.

IfcWorkSchedule.TotalFloat::IfcTimeMeasure    

Set the start time of the schedule.

IfcWorkSchedule.StartTime::fp_select_date_time    

Set the finish time of the schedule.

IfcWorkSchedule.FinishTime::fp_select_date_time    

Select the work control type from the list of predefined types

 

For Concept 1: Baseline Schedule, this value must be set to BASELINE

 

For Concept 2: Actual Schedule, this value must be set to ACTUAL

IfcWorkSchedule.WorkControlType::IfcWorkControlTypeEnum    

If the value of the work control type set above is USERDEFINED then set a user defined work control type.

 

This attribute must be asserted when the control type is set to USERDEFINED. For any other value of work control type, the attribute must not be asserted.

IfcWorkSchedule.UserDefinedControlType::IfcLabel    
Assign the task to the work schedule        

Specify the work schedule acting as the relating control.

 

This is the work plan for which the attribute values have been set above.

IfcRelAssignsTasks.RelatingControl::IfcWorkSchedule    

Specify the tasks that are assigned to the work schedule.

IfcRelAssignsTasks.RelatedObjects::IfcTask    

Set the particular type of the assignment relationship.

 

This value is used to describe the subtype of IfcObject to which the related objects belong. In the case of this functional part, occurrences of IfcTask are subtypes of IfcProcess and consequently, the value of the attribute must be set to 'PROCESS'

IfcRelAssignsTasks.RelatedObjectsType::IfcObjectTypeEnum = 'PROCESS'    

Set the time related information for the work control.

IfcRelAssignsTasks.TimeForTask::IfcScheduleTimeControl    

Assert the identity of the relationship

IfcRelAssignsTasks.GlobalId::IfcGloballyUniqueId    

Assert the owner history of the relationship

IfcRelAssignsTasks.OwnerHistory::fp_apply_owner_history    

Specify a name of the relationship

IfcRelAssignsTasks.Name::IfcLabel    

Specify a description of the relationship

IfcRelAssignsTasks.Description::IfcLabel    
Define the time control information for the task in the schedule.
 
CONCEPT 1: Baseline Schedule
       

Set the date on which a task is actually started.

 

Actual finish date of a task in a work schedule cannot be defined for a baseline schedule. Therefore, it should not be asserted at this point.

IfcScheduleTimeControl.ActualStart::fp_select_date_time X X X

Set the earliest date on which a task can be started.

IfcScheduleTimeControl.EarlyStart::fp_select_date_time    

Set the latest date on which a task can be started.

IfcScheduleTimeControl.LateStart::fp_select_date_time    

Set the date on which a task is scheduled to be started.

 

The scheduled start date must be greater than or equal to the earliest start date.

IfcScheduleTimeControl.ScheduleStart::fp_select_date_time    

Set the date on which a task is actually finished.

 

Actual finish date of a task in a work schedule cannot be defined for a baseline schedule. Therefore, it should not be asserted at this point.

IfcScheduleTimeControl.ActualFinish::fp_select_date_time X X X

Set the earliest date on which a task can be finished.

IfcScheduleTimeControl.EarlyFinish::fp_select_date_time    

Set the latest date on which a task can be finished.

IfcScheduleTimeControl.LateFinish::fp_select_date_time    

Set the date on which a task is scheduled to be finished.

 

The scheduled finish date must be greater than or equal to the earliest finish date.

IfcScheduleTimeControl.ScheduleFinish::fp_select_date_time    

Set the amount of time which is scheduled for completion of a task.

 

Scheduled Duration may be calculated as the time from scheduled start date to scheduled finish date where these values are available. Otherwise, value should be set.

IfcScheduleTimeControl.ScheduleDuration::IfcTimeMeasure    

Set the actual duration of the task.

 

Actual duration of a task in a work schedule cannot be defined for a baseline schedule. Therefore, it should not be asserted at this point.

IfcScheduleTimeControl.ActualDuration::IfcTimeMeasure X X X

Set the amount of time remaining to complete a task.

 

The time remaining in which to complete a task may be determined both for tasks which have not yet started and those which have.

 

Remaining time for a task not yet started has the same value as the scheduled duration.

 

For a task already started, remaining time is calculated as the difference between the scheduled finish and the point of analysis.

IfcScheduleTimeControl.RemainingTime::IfcTimeMeasure    

Set the amount of time during which the start or finish of a task may be varied without any effect on the overall programme of work.

IfcScheduleTimeControl.FreeFloat::IfcTimeMeasure    

Set the difference between the duration available to carry out a task and the scheduled duration of the task.

 

Total Float time may be calculated as being the difference between the scheduled duration of a task and the available duration from earliest start to latest finish. Float time may be either positive, zero or negative. Where it is zero or negative, the task becomes critical.

 

Generally, it is not expected that this value will be asserted for a maintenance work order.

IfcScheduleTimeControl.TotalFloat::IfcTimeMeasure    

Set a flag which identifies whether a scheduled task is a critical item within the programme.

 

A task becomes critical when the total float determined above becomes zero or negative.

IfcScheduleTimeControl.IsCritical::BOOLEAN    

Set the date or time at which the status of the tasks within the schedule is analyzed.

 

This value will not be asserted for a baseline schedule

IfcScheduleTimeControl.StatusTime::fp_select_date_time X X X

Set the difference between the late start and early start of a task.

 

Start float measures how long the start of a task can be delayed and still not have an impact on the overall duration of a schedule.

IfcScheduleTimeControl.StartFloat::IfcTimeMeasure    

Set the difference between the late finish and early finish of a task.

 

Finish float measures how long an task's finish can be delayed and still not have an impact on the overall duration of a schedule.

 

Generally, it is not expected that this value will be asserted for a maintenance work order.

IfcScheduleTimeControl.FinishFloat::IfcTimeMeasure    

Set the extent of completion expressed as a ratio or percentage.

 

This value must be set to 0 for a baseline schedule.

IfcScheduleTimeControl.Completion::IfcPositiveRatioMeasure    
Define the time control information for the task in the schedule.
 
CONCEPT 2: Actual Schedule
 
For the actual schedule, all attributes shown above in CONCEPT 1 as having values asserted are still relevant. Additionally, the following values which were not asserted for a baseline schedule should be asserted as described below for an actual schedule.
       

Set the date on which a task is actually started.

 

No constraint is applied to the actual start date with respect to the scheduled start date since a task may be started earlier than had originally been scheduled if circumstances allow.

IfcScheduleTimeControl.ActualStart::fp_select_date_time    

Set the date on which a task is actually finished.

 

Actual finish date of a task in a work schedule can only be defined when a work task is completed.

IfcScheduleTimeControl.ActualFinish::fp_select_date_time    

Set the actual duration of the task.

 

Actual duration of a task in a work schedule can only be defined when the actual start and finish times are both specified

IfcScheduleTimeControl.ActualDuration::IfcTimeMeasure    

Set the date or time at which the status of the tasks within the schedule is analyzed.

 

This value must be asserted for an actual schedule

IfcScheduleTimeControl.StatusTime::fp_select_date_time    
Specify the logic of the task sequence
 
For tasks that have a logical sequence relationship, this should be asserted
       

Assert the identity of the relationship

IfcRelSequence.GlobalId::IfcGloballyUniqueId    

Assert the owner history of the relationship

IfcRelSequence.OwnerHistory::fp_apply_owner_history    

Specify a name of the relationship

IfcRelSequence.Name::IfcLabel    

Specify a description of the relationship

IfcRelSequence.Description::IfcLabel    

Specify the relating or predecessor process in a sequence relationship

IfcRelSequence.RelatingProcess::IfcTask    

Specify the related or successor process in a sequence relationship

IfcRelSequence.RelatedProcess::IfcTask    

Select the sequence type from the predefined list of types available.

 

Types available include:

START_START

START_FINISH

FINISH_START

FINISH_FINISH

IfcRelSequence.SequenceType::IfcSequenceTypeEnum    

Select the time duration of the sequence

 

This is the time lag between the predecessor and the successor as specified by the SequenceType above

IfcRelSequence.TimeLag::IfcTimeMeasure    

IFC Entities Required

  • IfcControl
  • IfcGroup
  • IfcObject
  • IfcObjectDefinition
  • IfcProcess
  • IfcProduct
  • IfcRelationship
  • IfcRelAssigns
  • IfcRelAssignsTasks
  • IfcRelAssignsToControl
  • IfcRelAssignsToProcess
  • IfcRelConnects
  • IfcRelSequence
  • IfcRoot
  • IfcScheduleTimeControl
  • IfcTask
  • IfcWorkControl
  • IfcWorkSchedule

IFC Datatypes Required

  • IfcGloballyUniqueId
  • IfcIdentifier
  • IfcLabel
  • IfcObjectTypeEnum
  • IfcPositiveRatioMeasure
  • IfcRatioMeasure
  • IfcSequenceEnum
  • IfcText
  • IfcTimeMeasure
  • IfcWorkControlTypeEnum

IFC Functions Required

  • -

IFC Property Sets Required

  • -

IDM Functional Parts Required

  • fp_apply_owner_history;
  • fp_assign_construction_resource_to_task
  • fp_measure_with_unit;
  • fp_model_asset
  • fp_nests
  • fp_place_object;
  • fp_represent_product;
  • fp_select_date_time;

EXPRESS Schema

SCHEMA FP_CONTROL_MAINTENANCE_SCHEDULE;

TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;

TYPE IfcIdentifier = STRING;
END_TYPE;

TYPE IfcLabel = STRING;
END_TYPE;

TYPE IfcRatioMeasure = REAL;
END_TYPE;

TYPE IfcPositiveRatioMeasure = IfcRatioMeasure;
WHERE
WR1 : SELF > 0;
END_TYPE;

TYPE IfcText = STRING;
END_TYPE;

TYPE IfcTimeMeasure = REAL;
END_TYPE;

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

TYPE IfcWorkControlTypeEnum = ENUMERATION OF
(ACTUAL,
BASELINE,
PLANNED,
USERDEFINED,
NOTDEFINED);
END_TYPE;

TYPE IfcSequenceEnum = ENUMERATION OF
(START_START,
START_FINISH,
FINISH_START,
FINISH_FINISH,
NOTDEFINED);
END_TYPE;

ENTITY IfcProduct
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
Representation : OPTIONAL fp_represent_product;
ObjectPlacement : OPTIONAL fp_place_object;
WHERE
WR1 : (EXISTS(Representation) AND EXISTS(ObjectPlacement))
OR (EXISTS(Representation) AND
(NOT('IFC2X2_FINAL.IFCPRODUCTDEFINITIONSHAPE' IN TYPEOF(Representation))))
OR (NOT(EXISTS(Representation)));
END_ENTITY;

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

ENTITY IfcObjectDefinition
SUBTYPE OF(IfcRoot);
INVERSE
HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
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 OF (ONEOF(IfcRelAssigns, IfcRelConnects))
SUBTYPE OF(IfcRoot);
END_ENTITY;

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

ENTITY IfcRelAssignsToControl
SUBTYPE OF(IfcRelAssigns);
RelatingControl : IfcControl;
WHERE
WR1 : SIZEOF(QUERY(Temp <\* SELF\IfcRelAssigns.RelatedObjects \| RelatingControl :=: Temp)) = 0;
END_ENTITY;

ENTITY IfcRelAssignsTasks
SUBTYPE OF(IfcRelAssignsToControl);
TimeForTask : OPTIONAL IfcScheduleTimeControl;
WHERE
WR1 : HIINDEX(SELF\IfcRelAssigns.RelatedObjects) = 1;
WR2 : 'IFC2X2_FINAL.IFCTASK' IN TYPEOF(SELF\IfcRelAssigns.RelatedObjects[1]);
WR3 : 'IFC2X2_FINAL.IFCWORKCONTROL' IN TYPEOF(SELF\IfcRelAssignsToControl.RelatingControl);
END_ENTITY;

ENTITY IfcScheduleTimeControl
SUBTYPE OF(IfcControl);
ActualStart : OPTIONAL fp_select_date_time;
EarlyStart : OPTIONAL fp_select_date_time;
LateStart : OPTIONAL fp_select_date_time;
ScheduleStart : OPTIONAL fp_select_date_time;
ActualFinish : OPTIONAL fp_select_date_time;
EarlyFinish : OPTIONAL fp_select_date_time;
LateFinish : OPTIONAL fp_select_date_time;
ScheduledFinish : OPTIONAL fp_select_date_time;
ScheduleDuration : OPTIONAL IfcTimeMeasure;
ActualDuration : OPTIONAL IfcTimeMeasure;
RemainingTime : OPTIONAL IfcTimeMeasure;
FreeFloat : OPTIONAL IfcTimeMeasure;
TotalFloat : OPTIONAL IfcTimeMeasure;
IsCritical : OPTIONAL BOOLEAN;
StatusTime : OPTIONAL fp_select_date_time;
StartFloat : OPTIONAL IfcTimeMeasure;
FinishFloat : OPTIONAL IfcTimeMeasure;
Completion : OPTIONAL IfcPositiveRatioMeasure;
INVERSE
ScheduleTimeControlAssigned : IfcRelAssignsTasks FOR TimeForTask;
END_ENTITY;

ENTITY IfcControl
ABSTRACT SUPERTYPE OF (ONEOF(IfcScheduleTimeControl, IfcWorkControl))
SUBTYPE OF(IfcObject);
INVERSE
Controls : SET OF IfcRelAssignsToControl FOR RelatingControl;
END_ENTITY;

ENTITY IfcWorkControl
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcControl);
Identifier : IfcIdentifier;
CreationDate : fp_select_date_time;
Purpose : OPTIONAL IfcLabel;
Duration : OPTIONAL IfcTimeMeasure;
TotalFloat : OPTIONAL IfcTimeMeasure;
StartTime : fp_select_date_time;
FinishTime\_ : fp_select_date_time;
WorkControlType : OPTIONAL IfcWorkControlTypeEnum;
UserDefinedControlType : OPTIONAL IfcLabel;
WHERE
WR1 : (WorkControlType <> IfcWorkControlTypeEnum.USERDEFINED) OR
((WorkControlType = IfcWorkControlTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcWorkControl.UserDefinedControlType));
END_ENTITY;

ENTITY IfcWorkSchedule
SUBTYPE OF(IfcWorkControl);
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 IfcProcess
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
INVERSE
IsSuccessorFrom : SET OF IfcRelSequence FOR RelatedProcess;
IsPredecessorTo : SET OF IfcRelSequence FOR RelatingProcess;
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 IfcRelSequence
SUBTYPE OF(IfcRelConnects);
RelatingProcess : IfcProcess;
RelatedProcess : IfcProcess;
TtimeLag : IfcTimeMeasure;
SequenceType : IfcSequenceEnum;
WHERE
WR1 : RelatingProcess :<>: RelatedProcess;
END_ENTITY;

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

ENTITY fp_apply_owner_history;
END_ENTITY;

ENTITY fp_assign_construction_resource_to_task;
END_ENTITY;

ENTITY fp_measure_with_unit;
END_ENTITY;

ENTITY fp_model_asset;
END_ENTITY;

ENTITY fp_nests;
END_ENTITY;

ENTITY fp_place_object;
END_ENTITY;

ENTITY fp_represent_product;
END_ENTITY;

ENTITY fp_select_date_time;
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