The fifth part of the blogpost series about the changes in SysML 1.4 presents the updated concept of units.
But first a big sorry for being quiet for such a long time. But better be quiet than posting spam. I hadn’t enough time to continue my series about the news and updates of SysML 1.4 as well as other interesting things for the MBSE community.
The reason for my absence was one of those interesting things: I was on the final spurt of my new book. Together with some co-authors I’ve written a book about model based system architectures. I’ll publish more details about that project as soon as the book is officially announced by the publisher.
Back to the new things of SysML 1.4. In this blogpost I cover the units of SysML. The modeling of units is part of SysML since the first version 1.0.
In SysML 1.0 a unit was a special value type. A value type could have a reference to a unit and a dimension. The following figure shows the definition and application of some SI units with SysML 1.0. The unit Kilogram is defined with the dimension Mass at the bottom of the diagram.A value type Kg linked with the unit Kilogram is defined at the right side of the diagram. The block My System Component is an example how to use the value type for the value weight. Looks a little bit complicated, but all elements except the block My System Component are supposed to be defined only once in a model library.
The relationships between a value type, unit and dimension in SysML are shown in the next figure that depicts the definition of the appropriate SysML stereotypes. From my perspective it was a little bit inappropriate that unit and dimension were special value types.
The concept of units was slightly changed in the next version SysML 1.1. Instead of being special value types, the unit and dimension elements were now special instance specifications.That makes more sense, because a unit is not a blueprint fot different unit instances, but already a specification of a single unit instance. Same for the dimension concept.
The following figure shows the definition of the SysML 1.1 unit concept.
The next version SysML 1.2 again changed the unit concept. The model element dimension was renamed to quantity kind and some properties for the unit and quantity kind model elements were added.
There were no relevant changes in SysML 1.3 for the unit model elements.
Now the latest version SysML 1.4 comes with another change. The basic concept is the same, but the concrete implementation of the model elements fits now better into the architecture of SysML. The unit and quantity kind are now no longer stereotypes. They are instance specification properties of the value type as depicted in the next figure.
The properties of the unit and the quantity kind concepts are defined in a model library.
The next figure shows the application of the SysML 1.4 unit concept
The SysML 1.4 specification provides a model library with the ISO 8000 units in the appendix. That library is for instance implemented by the modeling tool Cameo Systems Modeler from NoMagic. With that library the modeler has access to a huge set of predefined units.