There are seven simple data types in EXPRESS as listed.
NUMBER
REAL
INTEGER
LOGICAL
BOOLEAN
STRING
BINARY
All Simple data types defined in EXPRESS are converted to defined UML Primitive data types with the same names.
Remarks:
Perhaps should consider to map them to predefined standard UML Primitive data types.
However, BINARY, NUMBER and LOGICAL do not have equivalents.
As suggested by ISO 10303-25, LOGICAL can be mapped to a UML Enumeration data type with
three Enumeration Items: false, true and unknown.
NUMBER can be mapped to Real, same as Real in EXPRESS. But do we really need to use
NUMBER in IFC? NUMBER is the underlying data type of two Defined data types:
TYPE IfcCountMeasure = NUMBER;
END_TYPE;
TYPE IfcNumericMeasure = NUMBER;
END_TYPE;
From the Rail project, suggested by @BenzclyZhang
Description of the proposal:
There are seven simple data types in EXPRESS as listed.
All Simple data types defined in EXPRESS are converted to defined UML Primitive data types with the same names.
Remarks:
Can REAL be used in these two places instead?
Describe how it contributes to the objectives set in https://github.com/buildingSMART/NextGen-IFC/wiki/Towards-a-technology-independent-IFC: It makes IFC more generic usable in UML and other languages without having strange hacks.
What do we win: Faster adoption of IFC
What do we loose:
Schema impact: Change data types
Instance model impact:
Backwards compatible: no
Automatic migration possible: yes
Additional implications: ?