I had a phone discussion last week with some of the QUDV folks. One interesting difference between QUDV and the date-time approach is around how we define what Date-Time calls "measurement units" and QUDV calls "SimpleUnits". QUDV expects to define M0 instance libraries for "metre", "gram", "second", etc -- as shown in QUDV's figure C.11. Date-Time exploits SBVR's "individual concept", which is an M1 class that has an extension containing a single instance. Date-Time defines "second" as an "individual concept" of type "time unit" and "duration", where "time unit" itself is a type of "measurement unit". Hence "second " is an M1 concept with a single M0 instance.
The benefit of the SBVR approach is that it permits "second" to be referenced in other M1 concepts. For example, the definition of "minute" is "60 seconds". In QUDV, one would provide an M0 instance called "minute" of type "LinearConversionUnit" with a conversion factor of "60".
Defining individual concepts at the M1 level permits structural rules to reference these individual concepts. For example, the Date-Time definition of "February" references the individual concept "day" in order to specify rules about the number of days in February in leap years versus common years. This seems to be beyond what is possible at the M0 level.
We have arranged to continue this conversation next Wednesday morning at the Long Beach OMG meeting. The Ontology PSIG folks are kindly letting us use their meeting room. Interested parties are welcome to attend.
--------------------------------
Mark H. Linehan
STSM, Model Driven Business Transformation
IBM Research
phone: (914) 784-7002 or IBM tieline 863-7002
internet: [email protected]