I’ve been working for a while on the back end of IfcDoc, in particular relating to serializing and deserializing the data model used to store the definition of IFC (including documentation). This is particularly for the use case of version control, so that simultaneous efforts to improve IFC can be conducted and the resultant changes merged and tracked.
We have been using git for version control, and part of this work has been the conversion of documentation being stored in html format to markdown.
You can see an example here or markdown documentation:
Having tested and used the repository a bit, I’d like to flush it and recreate it one more time (hopefully the last). Here’s what I’d like to change.
Remove the global ids from as many folder paths as possible. This was implemented for uniqueness but we could define a rule that concepts at a folder level have to have a unique name. Concepts such as properties and quantities would retain the global id.
I’d like to either remove of expand out attributes specific to the definition of a concept. For example, localizations could be moved into a sub folder so it’s clearer when a localization changed rather than the definition of a concept. This will have an effect on processing time due to the extra folders. I’d personally like to remove the diagram definitions as this creates a lot of change noise. But I either need to refactor the way they are stored and referenced so they aren’t nested into the concept, or we need to automate their creation. For the time being, I’d nominate the former.
If anyone else has suggestions, I look forward to hearing them.
great work. Having the figures showing inline is a great improvement. I would support to move all additional information (like translations, the snippets to place the express-g graphics, etc.) out, to separate the normative part from additional information.
Given that we might want to change the graphical representation of the IFC schema (most likely to UML) it would be another argument to move the graphic lines out of the normative text, so that a later mass change would not create a complete set of change notifications for each type and entity.
I think Jon is in a right path. His effort will cause we all have all schema content in a way that has the ability to improve them or build them again from scratch.
If we want develop IFC schema based on UML (UML 2) we need develop them from scratch
I think it’d be good to check CityGML and their approach which is more advanced than current approach in IFC schema and even IFD
just to be explicit - there is no plan to develop IFC from scratch using UML. There is a method in place to convert current IFC EXPRESS source into XMI to be visualized (and eventually edited) in UML (UML tool, like Enterprise Architect). So UML class diagrams could be an alternative graphical representation, replacing (or accompaning) the current EXPRESS-G graphical representation.
@ReD_CoDE - please don’t misinterpret - the statement was, that IFC does not have to be rebuilt from scratch in order to utilize UML. Whether eventually UML (or better XMI) becomes the master, from which other data definition standards can be derived (as OGC does it with GML in general (not only with CityGML), i.e. deriving an XSD by a set of conventions from UML/XMI) is a different, but next question. And it will be properly addressed.
Secondly, the logic behind the IfcDoc tool makes the IFC schema and the IFC schema development more dependent on its data modeling tool which today has issues and buildingSMART International has started to develop it again based on UML, but in reality, UML will not solve the dependency barrier, likewise.
And the current approach through UML and XMI I don’t think solves this