2020-09 - SysML v2 Pilot Implementation
This release corresponds to Eclipse plugin version 0.5.0. The following are changes since the 2020-06 release (the previous public release).
Language features
- Dependencies. Dependencies can now be defined between one or more client elements and one more supplier elements in a model.
- Human IDs. A human-specified ID can now be given to any model element (previously such IDs were only supported on requirements). Unlike an element name, the human ID of an element is inherent to that element rather than being relative to some namespace. The human ID of an element can be used as an alias name for it in a qualified name.
- Comment Bodies. Comment bodies are now processed to removed surrounding
/*and*/markers and line-initial*s, as specified in the initial submission specification. - Documentation Comments. Comments using the doc keyword now identify special documentation comments directly owned by their annotated element. Requirement text is now specified using documentation comments for the requirement, rather than just being the first regular comment.
- Textual Representation. Any element can now have a textual representation annotation. In particular, this can be used to give the text for an “opaque” element in a given language.
- Subject Parameters. Subject parameters for requirements and cases are now specified as features in the bodies of those elements using the subject keyword, rather than as the first parameter.
- Parameter flow-feature syntax. Parameters in general may now be declared inside the body of behavioral elements (actions, states, calculations, constraints, requirements, cases) in the same way that flow features are declared on structural elements, by prefixing the declaration with the appropriate direction (in, out, inout). For calculations and cases, the result parameter can also be so declared by using the keyword return in place of a direction.
- Verification Cases. An initial concrete syntax has been added for verification cases, but this is simply a placeholder and not yet fully supported in the language.
- View and Viewpoint Modeling. An initial concrete syntax has been added for views, viewpoints and renderings, but this is preliminary and not yet complete.
- Quantities and Units. The Quantities and Units model library has been significantly extended to include many quantity kinds and units defined in additional parts of the ISO 80000 standard, including Atomic and Nuclear, Chemistry and Molecular, Electromagnetism, Light, Mechanics, and Thermodynamics (Space and Time was already included in 2020-06).
Backward incompatibilities
-
Keywords. The following new keywords have been added as reserved words:
all, dependency, doc, expose, istype, language, rendering, rep, subject, verification, view, viewpoint -
Action Syntax. The syntax of named perform, accept and send action usages, and named exhibit state usages, has been changed to be more consistent.
-
perform performingAction as performedAction
becomes
perform action performingAction :> performedAction -
exhibit exhibitingState as exhibitedState
becomes
exhibit state exhibitingState :> exhibitedState -
accept acceptingAction (sig : Signal)
becomes
action acceptingAction accept sig : Signal
(note, in particular, the parentheses are no longer required) -
send sendingAction of Signal() to target
becomes
action sendingAction send Signal() to target
-
-
Distinguishibility Validation. A warning validation has been added that checks whether all owned members in a namespace have names that are distinguishable from each other, from the names of inherited members and the human IDs of any owned elements. This check can fail, in particular, if an element is defined with the same name as an inherited element, without explicitly redefining the inherited element.
Visualization
- Tom Sawyer
- Structural modeling has been improved to reflect planned standard visualization for SysML v2.
- Action compartments are now shown on parts and “performed by” compartments on actions.
- Small arrows are now shown in ports to reflect flow feature direction.
- Behavioral modeling has been improved to render control flows and control nodes.
- PlantUML
- Action/activity modeling has been added.
- Guards and effects are now shown on transitions in state machine diagrams.
- Alias names are now properly rendered for elements.