2023-01 - SysML v2 Pilot Implementation
This is an incremental update to the 2022-12 release. It corresponds to Eclipse plugin version 0.32.0.
(Note: This is an SST-internal release. There is no public release planned for 2023-01.)
Language Features
-
Index expressions. The bracket notation
...[...]for index expressions has been replaced with a new notation...#(...)(parentheses are required). The bracket notation continues to be used for constructing quantities with units (e.g.,10.0[km]).attribute list [*] ordered = ("a", "b", "c"); attribute a = list#(1); // value is "a" attribute b = list#(2); // value is "b" attribute arr : Collections::Array { :>> dimensions = (2, 3); :>> elements = ("a", "b", "c", "x", "y", "z"); } attribute c = arr#(1,3); // value is "c" attribute y = arr#(2,2); // value is "y"[PR #466]
-
Timeslices and snapshots. The abstract syntax has been simplified for occurrence usages that are time slices and snapshots, eliminating the concept of a "portioning feature". The textual notation is unchanged, but now time slices and snapshot usages implicitly subset the
timeSlicesorsnapshotsfeatures (respectively) of each occurrence definition by which they are explicitly defined, if any, or, otherwise, the occurrence definition or usage in which they are nested.occurrence def AircraftFlight { // Implicitly subsets "timeSlices" of AircraftFlight. timeslice occurrence inAir; } // Implicitly featured by AircraftFlight. // Implicitly subsets "timeSlices" of AircraftFlight. timeslice occurrence preFlight : AircraftFlight;[PR #454]
Model Libraries
- Deterministic UUIDs. Implemented the generation of deterministic, named-based (version 5) UUIDs as the
elementIdsfor standard model library elements with a non-nullqualifiedName.
[PR #457]
Kernel Semantic Library
- BaseFunctions. Added an abstract function for
#.
[PR #466] - SequenceFunctions and CollectionFunctions. Changed the specializations of
[to corresponding specializations of#.
[PR #466] - StatePerformances. Added the feature
incomingTransitionTriggertoStatePerformance, whose value is theMessageTransferaccepted to trigger a transition into aStatePerformance. (This is inherited byStateActionin SysML.)
[PR #455]
Systems Model Library
- Geometry. Simplified the
SpatialItemsmodel to eliminate the need forCompoundSpatialItem. Now, anySpatialItemwith one or morecomponentItemsis considered to be a compound union of those items, while aSpatialItemwithout anycompoundItemsoccurs on its own, separately from itssubitems.
[PR #468] - Quantities and Units.
- Added definitions for curved definitions for curved spatial coordinate frames (3D spherical, cylindrical and planetary) and associated vector quantities in addition to existing Cartesian frames and vectors.
[PR #406] - Added a
universalCartesianSpatial3dCoordinateFramesingleton to be used as a default coordinate frame (similar to theTime::universalClocksingleton).
[PR #406] - Added a
transformcalculation definition toVectorCalculations, which transforms aVectorQuantityValuefrom a source to a targetCoordinateFrame.
[PR #406] - Added models for
TensorCalculationsandMeasurementRefCalculations.
[PR #467]
- Added definitions for curved definitions for curved spatial coordinate frames (3D spherical, cylindrical and planetary) and associated vector quantities in addition to existing Cartesian frames and vectors.
Backward Incompatibilities
-
Bracket notation. The following validation checks have been added, to catch previous uses of the bracket notation for indexing:
- KerML. A warning whenever the bracket notation is used: "Use #(...) for indexing".
- SysML. A warning when the bracket notation is used and the second argument is not a measurement reference: "Should be a measurement reference (unit)".
[PR #466]
-
Vector quantities and coordinate frames. A consistent naming convention has been adopted for the names of vector and coordinate frame types and features in library packages
Quantities.sysml,MeasurementReferences.sysmlandISQSpaceTime.sysml. As a result, some names of existing elements have changed. The following is an example of successive levels of specialization:VectorQuantityValue,ThreeVectorValue(from KerML)'3dVectorQuantityValue'(aliasThreeDVectorQuantityValue)Position3dVectorCartesianPosition3dVectorCylindricalPosition3dVectorSphericalPosition3dVectorPlanetaryPosition3dVector
[PR #406]
Jupyter
None.
Visualization
-
PlantUML
None. -
Tom Sawyer
None.
Technical Updates
-
Abstract syntax files. The following UML abstract syntax model files are now available in the
org.omg.sysml/modeldirectory, reflecting the normative metamodel URIs that will be used for the OMG submission.KerML_only.uml– Contains just the KerML abstract syntax metaclasses, all in a single flat package namedkerml.
URI:https://www.omg.org/spec/KerML/20230201SysML_only.uml– Contains just the SysML abstract syntax metaclasses, all in a single flat package namedsysml, referencing KerML elements fromKerML_only.uml.
URI:https://www.omg.org/spec/SysML/20230201SysML.uml– Contains the combined SysML and KerML abstract syntax metaclasses (as before), all in a single flat package namedsysml.
URI:https://www.omg.org/spec/SysML/20230201
[PR #452]
-
ECore metamodel. Since the Ecore metamodel
SysML.ecoreis generated fromSysML.uml, thesysmlEPackagefrom it is now registered using the URIhttps://www.omg.org/spec/SysML/20230201(rather thanhttp://www.omg.org/spec/SysML/2.0, as it has been previously).
[PR #452] -
XMI editor features. A
omg.org.sysml.editor.featurehas been created for theomg.org.sysml.editandomg.org.sysml.editorplugins introduced in the last release, and this new feature has been added toomg.org.sysml.sitefor the Eclipse installation.
[PR #453]
Bug Fixes
- ControlPerformances. Constrained the earlier/later occurrences of
DecisionPerformance::outgoingHBLink/MergePerformance::incomingHBLinkto be the performance.
[PR #456] - Links and Transfers. Made the following read-only:
Link::participant,BinaryLink::source/target,Transfer::isInstant,FlowTransfer::isMove/isPush.
[PR #459] - Exponential operator. Implemented
^as an exponential operator for model-level evaluable expression evaluation.
[PR #460] - ItemFlows and FlowConnectionUsages. Corrected the implicit specialization for
ItemFlowsandFlowConnectionUsages.
[PR #461] - ActionUsages. Corrected the implicit specialization for an
ActionUsageas anenclosedPerformance.
[PR #462] - StateActions. Corrected the subsettings of
StateAction::entryAction,exitActionanddoAction.
[PR #463] - Requirements. Made
RequirementCheck::assumptions,constraints,subrequirementsandconcernsall composite. Also corrected various specializations ofActions::subactionsthat should have been composite.
[PR #464] - Occurrences.