2022-06 - SysML v2 Pilot Implementation
This is an incremental update to the 2022-05 release. It corresponds to Eclipse plugin version 0.25.0.
Language Features
None.
Model Library
Metadata Domain Library
-
Refinement. A metadata definition for
Refinement(short namerefinement) has been added to the existingModelingMetadatapackage. This can be applied to a dependency declaration to model a refinement relationship in which the source elements refine the target elements. No formal semantics is provided for this relationship at this time. For example:part def DesignModel; package Specification; requirement def SystemRequirements; #refinement dependency DesignModel to Specification, SystemRequirements;[PR #377]
-
Parameters of Interest. The new
ParametersOfInterestMetadatapackage contains two metadata definitions for marking attribute usages that as aMeasureOfEffectiveness(short namemoe) or aMeasureOfPerformance(short namemop).
[PR #375] -
Images. The new
ImageMetadatapackage includes the following.-
Imageattribute definition, which captures the data necessary for the physical definition of a graphical image. This can be used directly withinIconannotations (see below), or it can be used to create library models of image usages that can be referenced fromIconannotations. Alternatively, the images themselves can be physically stored in separate resources from the SysML model and referenced by URI. -
Iconmetadata definition, which can be used to annotate a model element with an image to be used to show render the element on a diagram and/or a small image to be used as an adornment on a graphical or textual rendering. Alternatively, another metadata definition can be annotated with anIconto indicate that any model element annotated by the containing metadata can be rendered according to theIcon.
[PR #373]
-
Requirements Derivation Domain Library
This new model library contains two packages to address the modeling of derived requirements.
-
DerivationsConnectionspackage.Derivationis an abstract connection definition with no ends, but having two non-end requirement usages, one for anoriginalRequirementand one for all correspondingderivedRequirements. This connection definition also asserts that theoriginalRequirementvalue is not one of thederivedRequirementsvalues and, if the check of theoriginalRequirementis true, then the checks for all thederivedRequirementsare true.
-
RequirementDerivationpackage.DerivationMetadata(short namederivation) is semantic metadata for declaringDerivationconnections.OriginalRequirementMetadataandDerivedRequirementMetadata(short namesoriginalandderived– note that "derived" is already a reserved word) are semantic metadata for marking usages representing original and derived requirements, particularly on the end features ofDerivationconnections.
A connection definition or usage specializing Derivation can add one end feature for the desired original requirement, subsetting originalRequirement, and one or more end features for the derived requirements, subsetting derivedRequirements. This can be modeled succinctly using the metadata from the RequirementDerivation package (which also publicly reexports the content of the DerivationsConnection package).
For example:
requirement req1;
requirement req1_1;
requirement req1_2;
#derivation connection {
end #original :> req1;
end #derive :> req1_1;
end #derive :> req1_2;
}
[PR #378]
Cause and Effect Domain Library
This new model library contains two packages to address cause-and-effect modeling.
-
CausationConnectionspackage.Multicausationis an abstract connection definition with no ends, but having two non-end features that collect cause occurrences and effect occurrences. This connection definition also asserts constraints that the the intersection of causes and effects is empty and that all causes exist (i.e, have at least started) before all effects.Causationas a binary connection definition that specializesMulticausationfor the simple case of a binary relationship between one cause and one effect.
-
CauseAndEffectpackage.CausationMetadatais a metadata definition that can be used to annotate whether a causationisNecessaryand/orisSufficient, and what itsprobabilityis.MulticausationSemanticMetadataandCausationSemanticMetadata(short namesmulticausationandcausation) are semantic metadata for declaring (respectively)MulticausationandCausationconnection definitions and usages.CauseMetadataandEffectMetadata(short namescauseandeffect) are semantic metadata for marking usages as representing causes or effects in causations (particularly on the end features of multicausation connections).
A connection usage typed by Multicausation can add end features to relate the desired causes and effects. Each such end feature should subset one of the desired causes or effects and subset either the causes (for a cause) or effects (for an effect) feature of Mulitcausation. A binary causation can be modeled by a connection usage typed by Causation, in which case the first related element is the cause and the second one is the effect.
This modeling approach is simplified by use of the semantic metadata from the CauseAndEffect package (which also publicly reexports the content of the CausationConnections package).
// Causes and effects can be any kinds of occurrences.
occurrence a;
item b;
part c;
action d;
// The #multicausation keyword identifies this as a Multicausation connection.
// The ends tagged #cause are the causes, and the ends tagged #effect are the effects.
#multicausation connection {
end #cause :> a;
end #cause :> b;
end #effect :> c;
end #effect :> d;
}
Instead of tagging the ends of the connection, the connected usages can instead be identified as causes and effects, allowing for a more compact connector syntax. Note that each such usage can be a cause or an effect, but not both.
#cause causeA :> a;
#cause causeB :> b;
#effect effectC :> c;
#effect effectD :> d;
#multicausation connect ( causeA, causeB, effectC, effectD );
For a binary causation, it is not necessary to use the #cause and #effect keywords, because the first related element is always the cause and the second related element is always the effect.
#causation connect a to c;
CausationMetadata includes isNecessary, isSufficient and probability attributes that can be used with causation and multicausation connections. (No further formal semantic model has been provided for these attributes at this time.)
#causation connect b to d {
@CausationMetadata {
isNecessary = true;
probability = 0.1;
}
}
[PR #376]
Backward Incompatibilities
None.
Jupyter
None.
Visualization
- PlantUML
None. - Tom Sawyer
None.
Technical Updates
None.