Webel: SysMLv1.x: AVOID (where possible) SysML Unit names that are the same as unit symbols. Unit names SHOULD start with a lower case Latin alpha letter. Custom Unit names should be a single lower case word or lowerCamelCase.

Icon class
far fa-sticky-note
far fa-sticky-note
Note kind
Policy level
Specification keywords
UML keywords
SysMLv1.x keywords
Click on the image to view it full size

The seven SI base units with symbols are: meter (m), second (s), mole (mole), ampere (A), kelvin (K), candela (cd), kilogram (kg). Of those, only mole has the same symbol 'mole'.

Note that in all base unit cases, the name is a single lower case word. Even 'kelvin', named after William Thomson, 1st Baron Kelvin, is lower case 'kelvin'.

For SysML1.x Units that are derived compound units, the 'lowerCamelCase' naming convention is recommended here. For example (using here the spelling 'metre' rather than the USA spelling 'meter'):

  • metrePerSecond with symbol 'm/s'.
  • newtownMetre with symbol 'N·m'.
  • wattPerMetrePerKelvin with symbol 'W/(m·K)'.

Note also how, in accordance with the NIST style recommendations, the symbols do not contain extra spaces, and use the interpunct (a.k.a. middle dot) '·' for compound symbol multiplication.

The Webel naming convention is much like the examples in the SysPhS-1.1 specification sample diagrams (except SysPhS Unit definitions do not seem to use a 'quantityKind'). For example, from Figure 8-14: Defining Value Types with units of measure from the International System of Units (SI):

Now you might protest that such long unit names make diagrams bloated, but such diagrams showing Unit definitions are not usually intended for consumption by regular stakeholders (indeed it is often sufficient to just have the Unit definitions in your model without appearing on any diagrams at all). Rather, it is the ValueTypes that carries the Units that express themselves on diagrams for human consumption.

If you use MagicDraw SysML Plugin or Magic Cyber-Systems Engineer® (Cameo Systems Modeler®) you'll know that their ISO-80000 ModelLibrary uses verbose unit names with scaling factors like this:

  • cubic metre per pascal
  • kilowatt per kelvin
Where a non-SI scaling is used, the corresponding ValueType name then verbosely also includes the Unit name suffixed in [square brackets] like this:
  • thermal conductance[kilowatt per kelvin]

This can quickly make some BDDs and IBDs quite cluttered.

If you are going to create custom ValueTypes with custom Units anyway, you may prefer to create your own set of Units rather than using the MagicDraw/Cameo ISO-80000 ones, if you prefer consistency over convenience.

What is absolutely NOT recommended here, is using the name of the Unit to carry the symbol of a unit - unless it is like mole, for which the name and symbol 'mole' are the same. This can wreak havoc in some diagrams, especially if the unit name is shown as a tagged value alongside the unit symbol (such as can happen on a value property within a Block symbol).

Webel: Use UpperCamelCase for ValueType names

In Webel Best Practice the following are strict policies:

Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)
External links