Releases: Systems-Modeling/SysML-v2-Pilot-Implementation
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.
2020-08 - SysML v2 Pilot Implementation
Internal SST release.
2020-07 - SysML v2 Pilot Implementation
Internal SST release.
2020-06 - SysML v2 Pilot Implementation
This release corresponds to Eclipse plugin version 0.4.0. The following are changes since the 2020-03 release (the previous public release).
Language features
- New definition/usage keywords. New keywords have been introduced corresponding to the consistent definition/usage terminology in the 2020-06 baseline of the abstract syntax. The old keywords still work as synonyms for the new keywords.
- block → part def
- assoc block → connection def
- link → connection
- value type → attribute def
- value → attribute
- activity → action def
- Item definition and usage. An item is a model of something that exists in space and time but is not considered to necessarily itself be a system or part of a system. An item may be spatially discrete (like a part) or continuous (like water or fuel), and it may flow through, be stored in or be acted upon by a system.
- Case definition and usage. A case is a model of the steps necessary to produce a desired result regarding some subject, satisfying a specific objective. The objective of a case is modeled as a requirement.
- Analysis case definition and usage. An analysis case is a case carrying out an analysis on its subject. The steps of an analysis case may be drawn from a set of analysis actions that abstract typical capabilities to be applied by analytical tools during an analysis.
- Variability modeling. Any kind of definition or usage may be identified as a variation that models a point at which a selection can be made between a specified set of choices during the configuration of a system. All the members of a variation must be variant usages that model the allowable choices for configuration of the variation.
- Succession shorthand. The then shorthand can now be used to show succession between individual usages (particularly snapshots and time slices).
- Behavioral usages with direction. It is now possible to declare a direction on behavioral usages (e.g, “in action …”).
- Nested behavioral usages. It is now possible to have behavioral usages generally nested in action and state usages (this allows, in particular, the nesting of constraint usages in action and state usages).
- Space and time quantities and units. The new package
ISQSpaceTime
in theQuantities and Units
domain library covers all quantities and units defined in ISO 80000 Part 3 Space and Time.
Backward incompatibilities
- Keywords. The following new keywords have been added as reserved words:
attribute, analysis, calc, case, connection, item, objective, return, variation, variant - Direction and end keyword placement. The keywords in, out, inout and end now always come before other keywords. For example, the previously allowed syntax
part in x;
andpart end x;
must now be writtenin part x;
andend part x;
, respectively. - Behavioral definition and usage specialization. The specialization parts for the declaration of behavioral definitions and usages (actions, states, calculations, constraints, requirements, cases and analysis cases) must now come before the parameter parts. For example, the previously allowed syntax
action def A (in x) :> B;
andaction a: A (in x = y) :>> b;
must now be writtenaction def A :> B (in x);
andaction a: A :>> b (in x = y);
, respectively. - Measurement units. Measurement units are now attributes, rather than parts. This is consistent with the ability to perform arithmetic operations on measurement units (e.g.,
kg*m/s
). This mostly affects user models that define new measurement units. Models that simply use standard units from the SI or US Customary Units libraries should generally be unaffected. - Public imports in quantities and units models. The use of public import in the
Quantities and Units
packages has been limited to the cases listed below. This may result in name resolution errors when reprocessing existing models that importQuantities and Units
library models. Such errors can be fixed by either explicitly qualifying the names in question or by importing them directly from the appropriate package.- The
SI
package re-exports names from theISQ
package (e.g., quantity value types, such asLengthValue
, etc.) andSIPrefixes
(e.g.,centi
,milli
,kilo
, etc.). - The
USCustomaryUnits
package re-exports names from theISQ
package.
- The
Validations
- Default validation. Previous default metamodel validation checking has been disabled (which greatly reduces the cascade of unclear messages due to small errors).
- Typing errors. Validation checks have been implementing for the typing of specific SysML elements (e.g., a port usage must be typed by a port definition, etc.).
- Warnings. The following warning validations have been implemented (some of which were previously errors). Unlike errors, warnings do not prevent a model from being fully syntactically processed, though it may not be semantically valid.
- Connected features should have a common context. This warning indicates that there is no common containing context from which a connector and each of its connected features can be reach by valid ownership paths.
- Bound features should have conforming types. This warning indicates that the types of the features connected by a binding connector do not actually allow for the possibility of the bound features having common values.
- Subsetting/redefining feature should not be nonunique if subsetted/redefined feature is unique (previously an error).
- Subsetting/redefining feature should not have larger multiplicity upper bound (previously an error). This is only checked if the upper bounds are given as literal values.
- Redefining feature should not have smaller multiplicity lower bound (previously an error). This is only checked if the lower bounds are given as literal values.
- Owner of redefining feature should be a specialization of owner of redefined feature. A redefinition is supposed to be of a feature that would otherwise be inherited, and inherited features come from the generalizations of the owner of the redefining feature.
- Owner of redefining feature should not be the same as owner of redefined feature. This also follows from the requirement that a redefinition be of a feature that would otherwise be inherited.
- A package-level feature should not be redefined (by another package-level feature). A feature that is declared in a package that is not a type is effectively considered to be a feature of the most general type
Anything
. Therefore, redefining a feature at “package-level” with another feature at package-level would be like redefining a feature with the same effective owner,Anything
.
Visualization
- Tom Sawyer
- Tree and interconnection views have been significantly updated based on user feedback.
- A basic action model view has been added.
- PlantUML
- PlantUML visualization is now available in Jupyter Notebook using the '%viz' magic command.
- An interconnection view has been added.
- Errors in state visualization have been corrected.
2020-05 - SysML v2 Pilot Implementation
Internal SST release.
2020-04 - SysML v2 Pilot Implementation
Internal SST release.
2020-03 - SysML v2 Pilot Implementation
This release corresponds to Eclipse plugin version 0.3.0. The following are changes since the 2019-12 release (the previous public release).
Language features
- Added constraints
- Added requirements
- Added individuals and snapshots
- Updated alias notation
- Updated conditional successions
- Added Base Functions
- Added Scalar Functions
- Updated Quantities and Units model
Visualization
- Tom Sawyer. Updated.
- PlantUML. Initial release of tree and state machine views for Eclipse editors.
2020-02 - SysML v2 Pilot Implementation
Internal SST release.
2020-01 - SysML v2 Pilot Implementation
Internal SST release.
2019-12a - SysML v2 Pilot Implementation
This release is functionally the same as 2019-12, but fixes a packaging problem with the Eclipse update site org.omg.sysml.site
.