2022-10 - SysML v2 Pilot Implementation
This is an incremental update to the 2022-09 release. It corresponds to Eclipse plugin version 0.29.0.
Language Features
- User-defined keywords.
- User-defined keyword notation (
#keyword) is now available in KerML. - In both KerML and SysML, multiple user-defined keywords can now be used in a single declaration.
- User-defined keyword notation (
- Binding connectors and successions. In KerML only, it is now possible to declare the ends of a binding connector or succession using end feature declarations in the connector body, rather than using the special notation
... = ...orfirst ... then .... - Cast operators. The parsing of the cast operators
asandmetahas been changed to make the target type directly the type of the result parameter of the operator expression. (This is a backward compatible change.) - Flow payloads. Previously, the textual notation only allowed limited declaration of the name and type of the payload feature (
of...) of an item flow (in KerML) or a flow connection usage (in SysML). Now, payload features can have full declarations, including subsetting and redefinition specializations and feature value bindings. This is useful for modeling e.g., a message in SysML with a specific value for its payload.message of fuelCommand : FuelCommand = engineController.engineControlPort.incomingFuelCommand from engineController to engine;
[PR #420]
Model Libraries
- BaseFunctions. The functions in the Kernel Semantic Library package
BaseFunctionscorresponding to the cast operators have been updated consistent with the change noted above.
[PR #420] - Connections. See Bug Fixes below.
Backward Incompatibilities
None.
Jupyter
None
Visualization
-
PlantUML
- Updated PlantUML to 1.2022.7.
Important Note: To work with this release, existing Eclipse installations will need to have their PlantUML installation updated from the update sitehttps://https://github.com/himi/p2-update-puml-sysmlv2/raw/main/updates. - Updated compartment title style to be centered and italic.
[PR #419]
- Updated PlantUML to 1.2022.7.
-
Tom Sawyer
None.
Technical Updates
There were a number of changes to clean up the abstract syntax, which should not effect user models.
- Implementation-specific metaclasses. The abstract syntax as implemented previously contained five metaclasses that were specific to the pilot implementation but not considered part of the normative abstract syntax model documented in the specifications. Two of these (
ItemFeatureandItemFlowEnd) have now been made normative, while three others (ItemFlowFeature,SourceEndandTargetEnd) have been removed, with the pilot implementation updated to not need them. - Multiplicity lower bounds. Previously, the
Feature::typeproperty had a multiplicity lower bound of 1. This has now been changed to 0, as has the multiplicity lower bound for all properties that (directly or indirectly) subset this property. This allows models to be peristed and interchanged without explicit typing, with semanticly necessary types ultimately provided via implied relationships added by tooling. - Ecore. Previously, during preprocessing of the exported MOF model, the property
Feature::isNonuniquewas added toSysML.umlfor use as an workaround in parsing thenonuniquekeyword. In addition, theOperatorExpressions::operandproperty was included in the abstract syntax model as an implementation workaround for parsing operator expressions. Now, these two features are added toSysML.ecoreby the custom UML to Ecore converter and are not included in theSysML.umlmodel.
[PR #420]
Bug Fixes
- Flow connections. In the Systems Library model
Connections, correctedMessageConnectionto specializeActions::ActionandmessageConnectionsto specializeActions::actions.
[PR #421]