Control Service Life
Overview
The service life of an element is an appropriately reliable estimate of its durability in service. It describes the length of time that an element may be expected to perform its required function including the provision of any material, component, assembly or system maintenance or replacement that may be required.
An element may be an assembly or systematic grouping of other elements each of which may also have their own service life assessment. Within IFC, any subtype of IfcProduct may have a service life assigned as also may groups that are assets or systems.
Within the service life of a containing element (such as a building), the service life of contained elements may be significantly less and therefore such items may need to be replaced within the containing element lifecycle. Service life planning may need to include projections of the needs for, and timing of element replacement and end of life recovery.
These facts may all be used to determine life cycle cost profiles and estimate whole life costs. It is also information that informs environmental assessments. Service life planning is increasingly being linked with sustainable development and wholelife value.
Service life may be assessed in various ways depending on who is doing the assessing and the purpose of the assessment. These can include:
| Actual Service Life | The service life that an artefact has given. |
| Design Service Life | The period of time during which the artefact is expected by its designers to work within its specified parameters; in other words, the life expectancy of the item. Note that for product artefacts, design life may also be designated as a mean time between failure (MTBF), which tells the user that they may expect the average product to last for the specified design time. However an MTBF rating is no guarantee that any single example of the product will not fail before the mean time specified. |
| Estimated Service Life | The service life that an artefact is expected to have under current operating conditions. |
| Optimistic Service Life | The best or most optimistic estimate of service life that is quoted for an artefact under reference operating conditions. |
| Pessimistic Service Life | The least or most pessimistic estimate of service life that is quoted for an artefact under reference operating conditions. |
| Reference Service Life | The typical service life that is quoted for an artefact under reference operating conditions. |
Service Life Factors
Service life planning is typically carried out using a factor method such as is defined in ISO 15686. This is based on the assumption that several parameters have an impact on the service life of an artifact. These factors are:
A= Quality of components e.g. natural durability or preservative treatment
B = Design level e.g. protection by design
C= Work execution e.g. joints gaps
D= Indoor environment e.g. temp., RH, condensation
E= Outdoor Environment e.g. climate, driving rain, shadow
F= In use conditions e.g. wear, mechanical impacts
G= Maintenance level e.g. revisions, repainting
These parameters are brought together in the following general formula:
ESL = RSL * f(A,B,C,D,E,F,G)
Where:
ESL = estimated service life
RSL = reference service life
The function involved may be a simple multiplication, but in many cases the parameters may be interdependent, and more sophisticated combinations may be necessary. The parameter values may also be probabilistic in nature.
The ISO factor method is fully explained in ISO15686, which should be consulted for a broader understanding.
References
http://www.answers.com/topic/iso-15686![]()
ISO 15686 Buildings and constructed assets - Service life planning (published parts)
Suggested modifications to IFC model and documentation
* Model currently refers to 'Expected Service Life'. This should be changed to Estimated Service Life
* Design Life should be introduced as a 'Service Life Type'
* IfcServiceLife.ServiceLifeType should be changed to PredefinedType to be similar to other type specifications. This will also allow a USERDEFINED/NOTDEFINED addition to the IfcServiceLifeTypeEnum
* IfcServiceLife.ServiceLifeDuration is an IfcTimeMeasure which is specified as a real value that is normally measured in seconds. Typically, service life (or mean time between failure) 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
A service life specification is assigned to an artefact. Note that there are several types of service life that may be defined and it is possible to assign an instance of more than one type of service life to a particular artefact (so that, for instance, both design life and expected life may be captured).
| Information Needed | Entity/Pset/Functional Part | MAN | REC | OPT |
|---|---|---|---|---|
| CONCEPT: Control the service life of a product type or an occurrence of a product This is the assignment of a service life value to an instance of a product type or to an individual product occurrence as defined within the product structure of the IFC model. It may be a constructed or assembled product such as a building storey or a building or a physical product such as a pump or a window. Note that it is not expected that a service life would be applied to a product that is an IfcSpace. |
||||
|
||||
|
IfcSeviceLife.GlobalId::fcGloballyUniqueId | |
||
|
IfcSeviceLife.OwnerHistory::fp_apply_owner_history | |
||
|
IfcSeviceLife.Name::IfcLabel | |
||
|
IfcSeviceLife.Description::IfcLabel | |
||
|
IfcSeviceLife.ObjectType::IfcLabel | X | X | X |
Select the type attributes for the service life |
||||
|
IfcServiceLife.ServiceLifeType::IfcServiceLifeTypeEnum | |
||
|
IfcServiceLife.ServiceLifeDuration::IfcTimeMeasure | |
||
|
||||
|
IfcServiceLifeFactor.PredefinedType::IfcServiceLifeFactorTypeEnum | |
||
|
IfcServiceLifeFactor.MostUsedValue::IfcParameterValue | |
||
|
IfcServiceLifeFactor.LowerValue::IfcParameterValue | |
||
|
IfcServiceLifeFactor.UpperValue::IfcParameterValue | |
||
|
||||
|
fp_define_by_propertikes | |
||
| Assert the attributes of the relationship Note that it might be expected to a service life would be assigned to the product rather than vice versa as is the case in the description below. However, by assigning the products to the service that they may expect to have, the relationship between product and service life is easier to control within IFC |
||||
|
IfcRelAssignsToControl.RelatingControl::IfcServiceLife | |
||
|
IfcRelAssignsToControl.RelatedObjects::IfcObjectDefinition | |
||
|
IfcRelAssignsToControl.RelatedObjectsType::IfcObjectTypeEnum | |
||
|
IfcRelAssignsToControl.GlobalId::IfcGloballyUniqueId | |
||
|
IfcRelAssignsToControl.OwnerHistory::fp_apply_owner_history | |
||
|
IfcRelAssignsToControl.Name::IfcLabel | |
||
|
IfcRelAssignsToControl.Description::IfcLabel | |
IFC Entities Required
- IfcAsset
- IfcCalendarDate
- IfcControl
- IfcCostValue
- IfcElectricalCircuit
- IfcElement
- IfcElementType
- IfcGroup
- IfcObject
- IfcObjectDefinition
- IfcProduct
- IfcPropertyDefinition
- IfcPropertySetDefinition
- IfcRelationship
- IfcRelAssigns
- IfcRelAssignsToActor
- IfcRelAssignsToControl
- IfcRelAssignsToProduct
- IfcRoot
- IfcServiceLife
- IfcServiceLifeFactor
- IfcSystem
- IfcTypeObject
- IfcTypeProduct
IFC Datatypes Required
- IfcDayInMonthNumber
- IfcGloballyUniqueId
- IfcIdentifier
- IfcLabel
- IfcMonthInYearNumber
- IfcParameterValue
- IfcText
- IfcTimeMeasure
- IfcYearNumber
- IfcObjectTypeEnum
- IfcServiceLifeFactorTypeEnum
- IfcServiceLifeTypeEnum
IFC Functions Required
- -
IFC Property Sets Required
- -
IDM Functional Parts Required
- fp_apply_owner_history;
- fp_define_by_properties;
- fp_define_by_type;
- fp_map_representation;
- fp_measure_with_unit;
- fp_place_object;
- fp_represent_product;
- fp_select_actor;
- fp_select_date_time;
EXPRESS Schema
SCHEMA FP_CONTROL_SERVICE_LIFE;
TYPE IfcDayInMonthNumber = INTEGER;
END_TYPE;
TYPE IfcGloballyUniqueId = STRING (22) FIXED;
END_TYPE;
TYPE IfcIdentifier = STRING;
END_TYPE;
TYPE IfcLabel = STRING;
END_TYPE;
TYPE IfcMonthInYearNumber = INTEGER;
WHERE
WR1 : { 1<= SELF <= 12 };
END_TYPE;
TYPE IfcParameterValue = REAL;
END_TYPE;
TYPE IfcText = STRING;
END_TYPE;
TYPE IfcTimeMeasure = REAL;
END_TYPE;
TYPE IfcYearNumber = INTEGER;
END_TYPE;
TYPE IfcObjectTypeEnum = ENUMERATION OF
(PRODUCT,
PROCESS,
CONTROL,
RESOURCE,
ACTOR,
GROUP,
PROJECT,
NOTDEFINED);
END_TYPE;
TYPE IfcServiceLifeFactorTypeEnum = ENUMERATION OF
(A_QUALITYOFCOMPONENTS,
B_DESIGNLEVEL,
C_WORKEXECUTIONLEVEL,
D_INDOORENVIRONMENT,
E_OUTDOORENVIRONMENT,
F_INUSECONDITIONS,
G_MAINTENANCELEVEL,
USERDEFINED,
NOTDEFINED);
END_TYPE;
TYPE IfcServiceLifeTypeEnum = ENUMERATION OF
(ACTUALSERVICELIFE,
EXPECTEDSERVICELIFE,
OPTIMISTICREFERENCESERVICELIFE,
PESSIMISTICREFERENCESERVICELIFE,
REFERENCESERVICELIFE);
END_TYPE;
ENTITY IfcCalendarDate;
DayComponent : IfcDayInMonthNumber;
MonthComponent : IfcMonthInYearNumber;
YearComponent : IfcYearNumber;
WHERE
WR21 : IfcValidCalendarDate (SELF);
END_ENTITY;
ENTITY IfcCostValue;
CostType : IfcLabel;
Condition : OPTIONAL IfcText;
END_ENTITY;
ENTITY IfcProduct
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
Representation : OPTIONAL fp_represent_product;
ObjectPlacement : OPTIONAL fp_place_object;
INVERSE
ReferencedBy : SET OF IfcRelAssignsToProduct FOR RelatingProduct;
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, IfcGroup, IfcProduct))
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(IfcPropertDdefinition, IfcRelationship, IfcObjectDefinition));
GlobalId : IfcGloballyUniqueId;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
OwnerHistory : fp_apply_owner_history;
UNIQUE
UR1 : GlobalId;
END_ENTITY;
ENTITY IfcPropertyDefinition
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcPropertySetDefinition
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcPropertDdefinition);
INVERSE
DefinesType : SET [0:1] OF IfcTypeObject FOR HasPropertySets;
END_ENTITY;
ENTITY IfcServiceLifeFactor
SUBTYPE OF(IfcPropertySetDefinition);
PredefinedType : IfcServiceLifeFactorTypeEnum;
UpperValue : OPTIONAL IfcParameterValue;
MostUsedValue : IfcParameterValue;
LowerValue : OPTIONAL IfcParameterValue;
WHERE
WR31 : NOT(PredefinedType = IfcServiceLifeFactorTypeEnum.USERDEFINED)
OR EXISTS(SELF\IfcObject.ObjectType);
END_ENTITY;
ENTITY IfcTypeObject
SUBTYPE OF(IfcObjectDefinition);
ApplicableOccurrence : OPTIONAL IfcLabel;
HasPropertySets : OPTIONAL LIST [1:?] OF IfcPropertySetDefinition;
WHERE
WR1 : EXISTS(SELF\IfcRoot.Name);
END_ENTITY;
ENTITY IfcTypeProduct
SUBTYPE OF(IfcTypeObject);
Tag : OPTIONAL IfcLabel;
RepresentationMaps : SET [1:?] OF fp_map_representation;
WHERE
WR41 : NOT(EXISTS(SELF\IfcTypeObject.ObjectTypeOf[1])) OR
(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.ObjectTypeOf[1].RelatedObjects |
NOT('IFC2X2_FINAL.IFCPRODUCT' IN TYPEOF(temp)))
) = 0);
END_ENTITY;
ENTITY IfcElementType
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcTypeProduct);
ElementType : OPTIONAL IfcLabel;
END_ENTITY;
ENTITY IfcRelationship
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcRoot);
END_ENTITY;
ENTITY IfcRelAssigns
ABSTRACT SUPERTYPE OF (ONEOF(IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToProduct))
SUBTYPE OF(IfcRelationship);
RelatedObjects : SET [1:?] OF IfcObjectDefinition;
RelatedObjectsType : OPTIONAL IfcObjectTypeEnum;
WHERE
WR1 : IfcCorrectObjectAssignment(RelatedObjectsType, RelatedObjects);
END_ENTITY;
ENTITY IfcRelAssignsToActor
SUBTYPE OF(IfcRelAssigns);
ActingRole : OPTIONAL fp_select_actor;
WHERE
WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingActor :=: Temp)) = 0;
END_ENTITY;
ENTITY IfcRelAssignsToControl
SUBTYPE OF(IfcRelAssigns);
RelatingControl : IfcControl;
WHERE
WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingControl :=: Temp)) = 0;
END_ENTITY;
ENTITY IfcControl
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcObject);
INVERSE
Controls : SET OF IfcRelAssignsToControl FOR RelatingControl;
END_ENTITY;
ENTITY IfcServiceLife
SUBTYPE OF(IfcControl);
ServiceLifeType : IfcServiceLifeTypeEnum;
ServiceLifeDuration : IfcTimeMeasure;
END_ENTITY;
ENTITY IfcGroup
SUPERTYPE OF (ONEOF(IfcSystem, IfcAsset))
SUBTYPE OF(IfcObject);
END_ENTITY;
ENTITY IfcAsset
SUBTYPE OF(IfcGroup);
AssetId : IfcIdentifier;
OriginalValue : IfcCostValue;
CurrentValue : IfcCostValue;
TotalReplacementCost : IfcCostValue;
Owner : fp_select_actor;
User : fp_select_actor;
IncorporationDate : IfcCalendarDate;
DepreciatedValue : IfcCostValue;
WHERE
WR1 : SIZEOF(QUERY(Temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT('IFC2X2_FINAL.IFCELEMENT' IN TYPEOF(Temp)))) = 0;
END_ENTITY;
ENTITY IfcSystem
SUBTYPE OF(IfcGroup);
WHERE
WR1 : SIZEOF (QUERY (temp <* SELF\IfcGroup.IsGroupedBy.RelatedObjects | NOT('IFC2X2_FINAL.IFCELEMENT' IN TYPEOF(temp)))) = 0;
END_ENTITY;
ENTITY IfcElement
ABSTRACT SUPERTYPE
SUBTYPE OF(IfcProduct);
Tag : OPTIONAL IfcIdentifier;
END_ENTITY;
ENTITY IfcElectricalCircuit
SUBTYPE OF(IfcSystem);
END_ENTITY;
ENTITY IfcRelAssignsToProduct
SUBTYPE OF(IfcRelAssigns);
RelatingProduct : IfcProduct;
WHERE
WR1 : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProduct :=: Temp)) = 0;
END_ENTITY;
ENTITY IfcObjectDefinition
SUPERTYPE OF (ONEOF(IfcObject, IfcTypeObject))
SUBTYPE OF(IfcRoot);
INVERSE
HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
END_ENTITY;
ENTITY fp_apply_owner_history;
END_ENTITY;
ENTITY fp_define_by_properties;
END_ENTITY;
ENTITY fp_define_by_type;
END_ENTITY;
ENTITY fp_map_representation;
END_ENTITY;
ENTITY fp_measure_with_unit;
END_ENTITY;
ENTITY fp_place_object;
END_ENTITY;
ENTITY fp_represent_product;
END_ENTITY;
ENTITY fp_select_actor;
END_ENTITY;
ENTITY fp_select_date_time;
END_ENTITY;
END_SCHEMA;