Greetings!
I’m working on process mapping in IFC. A recurring problem is the necessity to represent object data that varies throughout time. In some cases, only the current value of the data is relevant, but commonly is more interesting to have available all the different occurences to represent the object’s data history.
For example, during a process execution, I want to represent updates on the process, such as comments, status changes, decision justifications, or any relevant information that should be registered and shared with the stakeholders.
The two main approaches that occurred to me were:
- Using IfcEvent to represent any documentable update: IfcEvent instances of documentable updates would be nested by the object in which those updates occur. The “update type”, such as comments, justifies, and status changes, would be specified in the IfcEvent.ObjectType attribute;
- Creating property sets: the object would have a property set for each update, with a unique name and properties to represent the data.
It seems to me that the approach using IfcEvent is far more interesting unless it contradicts the entity’s definition. The created IfcEvent instances do not necessarily “triggers an action or response”, most cases being just the documentation of relevant information.
I would appreciate receiving opinions and suggestions on this matter. Has anyone ever worked with something like this? What approach was used?