This blog post presents the requirements about properties, values, and expressions for SysML v2. It is part of a blog post series about the upcoming new SysML v2 and SysML API & Services standard. The blog posts present the requirements for the standard stated in the request for proposals (RFP) published by the OMG. See end of this post for a list of all posts of this series including a link to the first post of the series that provides an overall introduction.
Values are obviously an important part of a system model. Of course, SysML v1 also provides elements for modeling values, especially the value properties and value types.
If you have ever used them more intensively, you know that there are some limits, and you will be happy about the value requirements for SysML v2.
Values in SyML v2 shall be represented in a unified way by a value property. The value property represents constants, variables, as well as parameters of an operation.
In SysML v1 the value type defines the semantics, structure, and allowable values of value properties. SysML v2 shall also provide value types. The value itself should be able to be represented by literals or a value expression stated in an expression language. A non-mandatory requirement requests logical expressions for the expression language that support as a minimum AND, OR, XOR, NOT, and conditional expressions like IF-THEN-ELSE and IF-AND-ONLY-IF.
Also, SysML v2 shall provide further capabilities to restrict the value range, for example, for angle values that are typed by Real and restricted to 0 – 360.
SysML v2 shall also provide reusable constraint expressions, i.e., expressions that are evaluated to true or false. In SysML v1 it is the ConstraintBlock element.
Values are often linked with a unit. SysML v2 shall support quantities and units following ISO/IEC 80000. A non-mandatory requirement asks for the SysML v2 capability to automatically convert a value to another value of a compatible unit.
SysML v2 shall provide some primitive types. The requested list extends the list of available primitive types in SysML v1: signed and unsigned integer, signed and unsigned real, string, Boolean, ISO 8601 date and time, and complex.
SysML v2 shall also provide collection types like sequence, set, ordered set, and bag. In addition, it shall provide compound value types to support vector, matrix, and other richer value types like higher order tensor.
A non-mandatory requirement requests an additional value type. SysML v2 may include a capability to represent datasets resulting from a discretely sampled mathematical function as well as an interpolation scheme for the derivation of values that are in-between sampled values.
With SysML v2 it shall be possible to represent the value of a quantity with a probabilistic value distribution. SysML v1 already provides the distributed property for this capability.
A small, but real novelty, is the capability to represent materials with their material properties. They are stored in model libraries and can be assigned to physical elements to specify, for example, density or hardness.
Another – bigger – novelty, but a non-mandatory requirement, is the capability to represent basic two- and three-dimensional geometry including a coordinate frame.
Finally, a non-mandatory requirement asks for supporting system simulation models including signal flow graphs and lumped parameter models as well as across and through properties of flows on interface ends.
The next blog post covers the requirements about the capability of SysML v2 to model structures. Stay tuned!
Previous blog posts of this series:
- NextGenSysML Part 0 – Next Generation Modeling: SysML v2 and SysML API & Services – Introduction
- NextGenSysML Part 1 – Overview SysML v2 and SysML API & Services RFP’s
- NextGenSysML Part 2 – The General OMG Requirements
- NextGenSysML Part 3 – Language Architecture and Formalism Requirements
- NextGenSysML Part 4 – Cross-cutting Requirements
Planned future blogs posts:
- NextGenSysML Part 6 – Structure Requirements
- NextGenSysML Part 7 – Interface Requirements
- NextGenSysML Part 8 – Behavior Requirements
- NextGenSysML Part 9 – Requirements Requirements
- NextGenSysML Part 10 – Verification Requirements
- NextGenSysML Part 11 – Analysis Requirements
- NextGenSysML Part 12 – Example model and Conformance Requirements
- NextGenSysML Part 13 – SysML API & Services Overview
- NextGenSysML Part 14 – API & Services: Architecture Requirements
- NextGenSysML Part 15 – API & Services: Conformance Requirements
- NextGenSysML Part 16 – API & Services: Service Requirements