Log In   View a printable version of the current page.
Added by Janice Wix, last edited by Janice Wix on Jan 30, 2007  (view change)
Labels: 
(None)


Model Asset

Overview

Provides the information concerning assets where an asset is a grouping of elements that are identified together for financial or operational or maintenance purposes. Any type of physical element or product may be grouped into an asset.
Items grouped within an asset may be individual elements of groups of elements that are already grouped into an asset but that are treated as being further grouped within a 'super' asset. Such contained assets are described below as sub assets but are recognised within the schema as assets in their own right.

Assets
An asset can be either a single object or may be a group of objects upon which a single maintenance action is to be specified. For instance, the following scenarios can be envisaged for asset identification:-

  • A large element such as an air handling unit, boiler or transformer will probably be uniquely identified as an asset.
  • An asset may be an 'assembled group' where several individual elements are physically assembled. An example of a physical association in the illustration is the pump set which is brings together the two pumps and four valves shown (it may also include other elements such as strainers). In this case, the asset may be defined as the grouping of the multiple elements or as a group containing the assembly alone (selection of the approach is a strategic decision by the Facilities Manager and is not relevant to the schema)
  • An asset may be a 'group' where several items are spatially associated. Spatial association means that the individual elements within the group remain distinct but that they are all treated as though they were a single element for maintenance purposes. An example of a spatial association in the illustration is the luminaires, each of which is physically distinct but which act together to illuminate the plant room space and are maintained together e.g. for relamping.
  • An asset may be declared as a group of elements with a system identity such as the steam traps within a system (or subsystem) where a maintenance action can only be carried out when the system is closed down.
  • An asset may be declared as a group of elements that may be geographically located in different buildings or even on different sites within the same project but that are subject to maintenance at the same time. For instance, for an asset that contains specialist equipment, it might be appropriate to arrange for preventive maintenance to be carried out on all items of such equipment within a particular geographical region when the skilled human resource available to perform the maintenance work is available.

Note that for the purposes of this functional part, maintenance is always carried out on an asset and not on an element. Even where an element is sufficiently large or complex to warrant a maintenance action in its own right, it is considered that it should be declared and identified as an asset for the owner as well as being identified as a product by its manufacturer.

Sub-Assets
Although work is carried out against the asset, information may need to be subdivided to take into account smaller element groupings within the asset. These smaller element groupings are referred to here as sub assets.
Sub-assets, and their constituent elements, may have a different life cycle than the asset as a whole. For instance, an air handling unit asset may have a fan motor and drive set specified as a sub-asset. The belts used to drive the fan may be consumable components i.e. they wear out and require replacing far more frequently than the air handling unit.

Sub assets within an air handling unit asset may include:

  • Fan (motor[s], impeller, drive wheels and belts)
  • Filter
  • Preheater coil
  • Reheater coil
  • Cooling coil
  • Dampers (fresh air and recirculation)
  • Moisture eliminator
  • Humidifier

Information Provision
The information that should, or may be provided directly about an asset includes:

  • The specific identifier given to the asset which is unique within the project or enterprise to which the asset is registered
  • Cost values for the asset including original cost (or value) current cost, replacement cost, depreciated cost
  • Actors associated with the asset including owner, user, responsible person

Information that may be provided indirectly about an asset through the provision of property sets includes accounting, tax and insurance type identification.

Suggested modifications to IFC model and documentation
* Documentation for Pset_Asset.AssetAccountingType refers to type of risk and not to accounting type. Change definition.
* In the documentation for Pset_Asset.AssetTaxType, the predefined type 'Capitalised' is spelt in UK form and not in US form as mandated through IFC. Change this to 'Capitalized'

Results

Specification of relevant information concerning the asset and the elements and/or sub-assets from which it is composed.

Description Entity/Pset/Functional Part MAN REC OPT
Establish and identify the asset        

Specify the asset occurrence in which elements and/or sub assets will participate


An asset is directly specified as an occurrence. It does not have a defining type entity.

IfcAsset    

Assert general attributes for the asset

       

Set the global unique identifier

IfcAsset.GlobalId::IfcGloballyUniqueId    

Assert the owner history

IfcAsset.OwnerHistory::fp_apply_owner_history    

Specify the name of the asset.


Assets are not generally specified by name but by the unique asset identifier (see below). However, it may be useful to assert a name for human identification purposes

IfcAsset.Name::IfcLabel    

Specify a description for the asset


Whilst the description does not add value to the semantics of the asset, it can provide significant information for use in the asset register and thus should be asserted.

IfcAsset.Description::IfcText    

Assert the locally unique identifier of the asset

       

Set the locally unique identifier of the asset


An asset identifier is a locally unique identification assigned to an asset that enables its differentiation from other assets within an asset register. It differs from the globally unique id assigned to the instance of an entity populating a database

IfcAsset.AssetID::IfcIdentifier    

Assert the date of incorporation of the asset

       

Set the date on which the asset was incorporated into the project.


Incorporation is taken here to mean the date from which the asset started depreciating and will generally be considered to be the same as the date at which construction/ erection/ installation was completed.

IfcAsset.IncorporationDate::IfcCalendarDate    

Set the year value


Note that a year component is a mandatory requirement of a calendar date and therefore must be set even though it is not a requirement in this context.

IfcCalendarDate.YearComponent::IfcYearNumber    

Set the month value

IfcCalendarDate.MonthComponent::IfcMonthInYearNumber    

Set the day value

IfcCalendarDate.DayComponent::IfcDayInMonthNumber    
Assert cost information about the asset
Note that all information asserted below is for costs that are explicitly attributable to an asset and that comprise the key cost information within an asset register. Other costs may be associated with an asset through the IfcRelAssociatesAppliedValue relationship.
       

Define the original value of the asset


Original value should be asserted as the value or cost of the asset at the time when the initial asset register entry was created. Generally, the term value should be used for an asset as opposed to the term cost which is more applicable to the individual elements within the asset. Value is broadly determined here as an amount that would be returned on disposal of the asset.


If all components of the asset were new at initiation, it is probable that value would be equal to the sum of the costs of a given type of all the elements in the asset group. However this is not a rule that can be applied within this functional part.

IfcAsset.OriginalValue::IfcCostValue    

Define the current value of the asset


Current value should be asserted as the value or cost of the asset if purchased at the present time. The value may be shown as an actual current cost or may be related to a baseline date through accounting methods (DCF, NPV etc). The discount factor applied may be visible through the IfcCostValue.CostType = "Discount" assertion.

IfcAsset.OriginalValue::IfcCostValue    

Define the total replacement cost of the asset


Total replacement cost should be asserted as the cost of completely replacing the asset and including all work associated with such replacement. This cost should take account of any factors that are likely to inhibit replacement once a building is complete such location of physical constructions or services or other obstacles that may make removal and replacement uncertain, difficult, unsafe or impossible.


Note that the cost value of total replacement cost should be given in the same terms as current value.

IfcAsset.TotalReplacementCost::IfcCostValue    

Define the depreciated value of the asset


Depreciated value should be asserted as the value or cost of the asset related to the date of incorporation. The value may be shown as related to a baseline date through accounting methods (DCF, NPV etc). The discount factor applied may be visible through the IfcCostValue.CostType = "Discount" assertion

IfcAsset.DepreciatedValue::IfcCostValue    

Assert actor information about the asset


Note that all information asserted below is for actor information that is explicitly attributable to an asset and that comprise the key actor information within an asset register.

       

Assert ownership of the asset


Owner may be defined either as a person or an organization through the actor selection functional part

IfcAsset.Owner::fp_select_actor    

Assert the user of the asset


The user of the asset may be a lessee, tenant or other person or organization obtaining beneficial use of an asset. The user may be distinct from the owner.

IfcAsset.User::fp_select_actor    

Assert the person responsible for the asset


The person responsible may be defined as anyone having a particular fixed duty towards the asset. It may be e.g. a keyholder, someone who is authorized to switch an asset on/off etc.


The person responsible is defined as a PERSON and not as an organization.

IfcAsset.ResponsiblePerson::IfcPerson    

Set accounting information for the asset

       

Set the type of risk to be applied.


Type of risk is taken from a predefined selection that includes:

bq_* Fixed_
bq_* NonFixed_
bq_* Other_
bq_* NotKnown_
bq_* Unset_

Pset_Asset.AssetAccountingType::IfcPropertyEnumeratedValue    

Set the type of taxation group to which the asset belongs.


Type of taxation group is taken from a predefined selection that includes:

bq_* Capitalized_
bq_* Expensed_
bq_* Other_
bq_* NotKnown_
bq_* Unset_

Pset_Asset.AssetTaxType::IfcPropertyEnumeratedValue    

Set the type of insurance rating given to the asset.


Type of insurancerating is taken from a predefined selection that includes:

bq_* Personal_
bq_* Real_
bq_* Other_
bq_* NotKnown_
bq_* Unset_

Pset_Asset.AssetInsuranceType::IfcPropertyEnumeratedValue    

Assert the accounting property set for the asset

       

Define the property set(s) for asset


The entity for which the property set is defined is IfcAsset whilst the property set defined is Pset_Asset

fp_define_by_properties    
Specify the elements that are to participate in the asset.
Note that, for an asset, a WHERE rule is applied that constrains the related objects to be subtypes of IfcElement
IfcElement<subtype>    

Note that there is no specific placement or shape representation of an asset. The actual placement and shape of the system is determined by the products that participate in the system.


For practical reasons, to establish a coherent shape representation for the system as a whole, the type of shape representation of the participating products must be consistent (this does not necessarily mean that each participating product must have the same type of shape representation but that the combination of types must provide a consistent representation form).


Placement and shape representation are only relevant for a system where it is to be visually represented.

IfcElement.ObjectPlacement::fp_place_object    

There is no requirement for an asset to have a shape representation (although it is legal within IFC for such a shape representation to be asserted if appropriate). Asset shape may therefore be considered as derived from the combined shape of the constituent elements.

IfcElement.Representation::fp_represent_product    
Specify any sub assets that are to be contained within the asset
See above in this functional part for attributes to be asserted.
IfcAsset    
Assert the relationship that assigns the set of elements and sub assets that will participate in the asset
This is defined in a separate functional part.
Note that where an asset incorporates one or more sub assets, the specification of elements must be disjoint. That is, there can only be one occurrence of any element within the fully expanded asset container. This means that an occurrence of an element can only appear once within an asset element hierarchy regardless of the level at which it appears within that hierarchy.
fp_assigns_to_group (asset)    

IFC Entities Required

  • IfcAppliedValue
  • IfcAsset
  • IfcCalendarDate
  • IfcCostValue
  • IfcElement
  • IfcGroup
  • IfcObject
  • IfcProduct
  • IfcProxy
  • IfcRelationship
  • IfcRelAssociates
  • IfcRelAssociatesAppliedValue
  • IfcRoot
  • IfcSystem

IFC Datatypes Required

  • IfcAppliedValueSelect
  • IfcDayInMonthNumber
  • IfcGloballyUniqueId
  • IfcIdentifier
  • IfcLabel
  • IfcMonetaryMeasure
  • IfcMonthInYearNumber
  • IfcObjectTypeEnum
  • IfcText
  • IfcYearNumber

IFC Functions Required

  • IfcValidCalendarDate

IFC Property Sets Required

  • Pset_Asset

IDM Functional Parts Required

  • fp_apply_owner_history
  • fp_define_by_properties
  • fp_place_object
  • fp_measure_with_unit
  • fp_represent_product
  • fp_select_actor
  • fp_select_date_time

EXPRESS-G

EXPRESS Schema

SCHEMA FP_MODEL_ASSET;

  TYPE IfcDayInMonthNumber = INTEGER;
  END_TYPE;

  TYPE IfcGloballyUniqueId = STRING (22) FIXED;
  END_TYPE;

  TYPE IfcIdentifier = STRING;
  END_TYPE;

  TYPE IfcLabel = STRING;
  END_TYPE;

  TYPE IfcMonetaryMeasure = REAL;
  END_TYPE;

  TYPE IfcMonthInYearNumber = INTEGER;
    WHERE
      WR1 : { 1<= SELF <= 12 };
  END_TYPE;

  TYPE IfcText = STRING;
  END_TYPE;

  TYPE IfcYearNumber = INTEGER;
  END_TYPE;

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

  TYPE IfcAppliedValueSelect = SELECT
    (IfcMonetaryMeasure,
     fp_measure_with_unit);
  END_TYPE;

  ENTITY IfcCalendarDate;
      DayComponent   : IfcDayInMonthNumber;
      MonthComponent : IfcMonthInYearNumber;
      YearComponent  : IfcYearNumber;
    WHERE
      WR21 : IfcValidCalendarDate (SELF);
  END_ENTITY;

  ENTITY IfcCostValue
    SUBTYPE OF(IfcAppliedValue);
      CostType  : IfcLabel;
      Condition : OPTIONAL IfcText;
  END_ENTITY;

  ENTITY IfcAppliedValue
    ABSTRACT SUPERTYPE;
      Name           : OPTIONAL IfcLabel;
      Description    : OPTIONAL IfcText;
      AppliedValue   : OPTIONAL IfcAppliedValueSelect;
      UnitBasis      : fp_measure_with_unit;
      ApplicableDate : fp_select_date_time;
      FixedUntilDate : fp_select_date_time;
    WHERE
      WR1 : EXISTS (AppliedValue) OR 
            EXISTS (ValueOfComponents);
  END_ENTITY;

  ENTITY IfcProduct
    ABSTRACT SUPERTYPE OF (ONEOF(IfcElement, IfcProxy))
    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(IfcGroup, IfcProduct))
    SUBTYPE OF(IfcRoot);
      ObjectType      : OPTIONAL IfcLabel;
    INVERSE
      HasAssociations : SET OF IfcRelAssociates FOR RelatedObjects;
    WHERE
      WR1 : SIZEOF(QUERY(temp <* IsDefinedBy | 'IFC2X2_FINAL.IFCRELDEFINESBYTYPE' IN TYPEOF(temp))) <= 1;
  END_ENTITY;

  ENTITY IfcRoot
    ABSTRACT SUPERTYPE OF (ONEOF(IfcObject, IfcRelationship));
      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 IfcElement
    ABSTRACT SUPERTYPE
    SUBTYPE OF(IfcProduct);
      Tag : OPTIONAL IfcIdentifier;
  END_ENTITY;

  ENTITY IfcGroup
    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 IfcRelAssociates
    SUBTYPE OF(IfcRelationship);
      RelatedObjects : SET [1:?] OF IfcRoot;
    WHERE
      WR1 : SIZEOF(QUERY(temp <* RelatedObjects |
            NOT(('IFC2X2_FINAL.IFCOBJECT' IN TYPEOF(temp)) 
            OR ('IFC2X2_FINAL.IFCPROPERTYDEFINITION' IN TYPEOF(temp)))
            )) = 0;
  END_ENTITY;

  ENTITY IfcRelAssociatesAppliedValue
    SUBTYPE OF(IfcRelAssociates);
      RelatingAppliedValue : IfcAppliedValue;
  END_ENTITY;

  ENTITY IfcProxy
    SUBTYPE OF(IfcProduct);
      ProxyType : IfcObjectTypeEnum;
      Tag       : OPTIONAL IfcLabel;
    WHERE
      WR1 : EXISTS(SELF\IfcRoot.Name);
  END_ENTITY;

  ENTITY fp_apply_owner_history;
  END_ENTITY;

  ENTITY fp_represent_product;
  END_ENTITY;

  ENTITY fp_measure_with_unit;
  END_ENTITY;

  ENTITY fp_place_object;
  END_ENTITY;

  ENTITY fp_define_by_properties;
  END_ENTITY;

  ENTITY fp_select_actor;
  END_ENTITY;

  ENTITY fp_select_date_time;
  END_ENTITY;

  FUNCTION IfcValidCalendarDate
  (Date : IfcCalendarDate)
  	: LOGICAL;
    IF NOT ({1 <= Date.DayComponent <= 31}) THEN    
      RETURN(FALSE);  
    END_IF;
    CASE Date.MonthComponent OF
      4         : RETURN({ 1<= Date.DayComponent <= 30});
      6         : RETURN({ 1<= Date.DayComponent <= 30});
      9         : RETURN({ 1<= Date.DayComponent <= 30});
      11        : RETURN({ 1<= Date.DayComponent <= 30});    
      2         :    
      BEGIN
        IF (IfcLeapYear(Date.YearComponent)) THEN
          RETURN({ 1<= Date.DayComponent <= 29});      
        ELSE
          RETURN({ 1<= Date.DayComponent <= 28});      
        END_IF;    
      END;
      OTHERWISE : RETURN(TRUE);  
    END_CASE;
  END_FUNCTION;

END_SCHEMA;

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