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.

SysML 1.0 Units

SysML 1.0 Units

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.

SysML 1.0 Definition of Unit and Dimension

SysML 1.0 Definition of Unit and Dimension

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.

SysML 1.1 Definition of Unit and Dimension

SysML 1.1 Definition of Unit and Dimension

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.

SysML 1.2 Definition of Unit and Quantity Kind

SysML 1.2 Definition of Unit and Quantity Kind

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.

SysML 1.4 Definition of Unit and Quantity Kind

SysML 1.4 Definition of Unit and Quantity Kind

The properties of the unit and the quantity kind concepts are defined in a model library.

SysML 1.4 Model Library for Unit and Quantity Kind

SysML 1.4 Model Library for Unit and Quantity Kind

The next figure shows the application of the SysML 1.4 unit concept

SysML 1.4 Example of Unit Kilogram

SysML 1.4 Example of Unit Kilogram

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.

Parts of the ISO-8000 library in Cameo Systems Modeler

Parts of the ISO-8000 library in Cameo Systems Modeler

2 Comments

  • Dan George

    Reply
    16. April 2015at19:35

    Is there a quantityType stereotype that has a QuantityKind property but no Unit? Can I express f=ma without assigning units to f, m, and a (only quantityKind property)? Or, if I do assign units to the variables, should a model validation tool flag if there are conflicting units. At any point where a quantity must be presented as a “measureType,” the measure must have units and those units must be bindable to the subject quantity. Is my made-up “measureType” equivalent, or at least congruent, to valueType?

    Ich entschuldige mich für die englische Kommentar . Ich hoffe, es übersetzt in Deutsch deutlich genug .

Post a Comment