EXPR_TYPE_DEF is specified in two files:
-
components/LANG/Release-1.0.0/openehr_lang_100.bmm
-
components/BASE/Release-1.0.4/openehr_expression_104.bmm
.
All the other types in “lang_100” have the name “TYPE_abc”. Only “EXPR_TYPE_DEF” has the “EXPR_” prefix.
All the types in “expression_104” have the prefix “EXPR_”.
expression_104:
"EXPRESSION",
"EXPR_VALUE",
"EXPR_VARIABLE_REF",
"EXPR_LEAF",
"EXPR_OPERATOR",
"EXPR_LITERAL",
"EXPR_UNARY_OPERATOR",
"EXPR_BINARY_OPERATOR",
"EXPR_VALUE_REF",
"EXPR_FUNCTION",
"EXPR_TYPE_DEF"
lang_100:
"EXPR_TYPE_DEF", <== the odd one
"TYPE_DEF_BOOLEAN",
"TYPE_DEF_INTEGER",
"TYPE_DEF_REAL",
"TYPE_DEF_DATE",
"TYPE_DEF_DATE_TIME",
"TYPE_DEF_TIME",
"TYPE_DEF_DURATION",
"TYPE_DEF_STRING",
"TYPE_DEF_URI",
"TYPE_DEF_TERMINOLOGY_CODE"
Name “TYPE_DEF” is not used anywhere else. Shouldn’t “EXPR_TYPE_DEF” in the “lang_100” use “TYPE_DEF” to follow the same pattern as the rest of the classes?
“expression_104” is included in components/AM/openEHR_am_230.bmm
which is also odd since the “am_230” also includes “base_110”. I would expect there would also be “expression_110” (even if it is the same as expression_104).
I found out this when an UML diagram for EXPR_LEAF included “EXPR_TYPE_DEF” from “lang_100” instead of “expression_104”.
As @thomas.beale mentioned before, using full package names for classes solves this. However I try to keep URLs for the diagrams as short as possible (also specifying classes to include on the custom diagrams can be done only using a name).
Using unique class names (if possible) would also simplify mentioning them in an unambiguous way.
So far I found only 2 non-unique class names:
- EXPR_TYPE_DEF in “lang_100” and “expression_104”
- EVENT in “proc_160” and “rm_structures_nnn”
I guess it isn’t possible to change the naming at this point (?) and I’ll have to use longer URLs for the diagrams?
First option is to add model_name
to the URLs. But “TASK_PLANNING” is much longer than “PROC”.
The second option is to add “PROC”, “LANG”,… to the urls.
What are the community’s preferences for the URL naming?