CrossSubsetting SysML
- class CrossSubsetting
Implementation of
CrossSubsettingdefined in the KerML specification.Specification:
CrossSubsettingis a kind ofSubsettingfor endFeatures, as identified bycrossing_feature, to subset a chainedFeature, identified bycrossed_feature.It navigates to instances of the endFeature’s type from instances of other endFeaturetypes on the sameowning_type(at least two endFeaturesare required for any of them to have aCrossSubsetting).The
crossed_featureof aCrossSubsettingmust have a feature chain of exactly twoFeatures. The secondFeaturein the chain is thecross_featureof thecrossing_feature(endFeature), which has the same type as thecrossing_feature. When theowning_typeof thecrossing_featurehas exactly two endFeatures, the firstFeaturein the chain of thecrossed_featureis the other endFeature. Thecross_feature’sfeaturing_typein this case is the other endFeature. When theowning_typehas more than two endFeatures, the firstFeaturein the chain is aFeaturethatCrossMultipliesall the other endFeatures, which is also thefeaturing_typeof thecross_feature.A
cross_featuremust be owned by itsfeature_crossing(endFeature) when thefeature_crossingowning_typehas more than two endFeatures. Otherwise, for exactly two endFeatures, thecross_featuresof each the ends can instead optionally be inherited by the other end from one of itstypesor a subsettedFeature.For language description, see section 7.4.6.2 of the KerML specification. For more details on the model, see section 8.3.3.3.2 of the KerML specification.
Inheritance:
Members defined in
CrossSubsetting(6 members)RWhether this relationship can be used with chained features.
RAll subtypes of
CrossSubsettingaccording to the specification.RSysMLImplementation of
crossed_featuredefined in the KerML specification.RSyside specific accessor for manipulating the target of
crossed_feature.RSysMLImplementation of
crossing_featuredefined in the KerML specification.RSyside specific accessor for manipulating the target of
crossing_feature.Members inherited from
Subsetting(5 members)RSysMLImplementation of
owning_featuredefined in the KerML specification.RSysMLImplementation of
subsetted_featuredefined in the KerML specification.RSyside specific accessor for manipulating the target of
subsetted_feature.RSysMLImplementation of
subsetting_featuredefined in the KerML specification.RSyside specific accessor for manipulating the target of
subsetting_feature.Members inherited from
Specialization(6 members)RThe elements enclosed by curly brackets in textual syntax.
RSysMLImplementation of
generaldefined in the KerML specification.RSyside specific accessor for manipulating the target of
general.RSysMLImplementation of
owning_typedefined in the KerML specification.RSysMLImplementation of
specificdefined in the KerML specification.RSyside specific accessor for manipulating the target of
specific.Members inherited from
Relationship(12 members)RConvenience method for sources[0].
RConvenience method for targets[0].
RWSysMLImplementation of
is_implieddefined in the KerML specification.RReturns
Trueif thisRelationshipis using implicit visibility.RSysMLImplementation of
owned_related_elementdefined in the KerML specification.RSysMLImplementation of
owning_related_elementdefined in the KerML specification.RSysMLImplementation of
related_elementdefined in the KerML specification.RSysMLImplementation of
sourcedefined in the KerML specification.RSysMLImplementation of
targetdefined in the KerML specification.RWThe visibility level of the related elements from this
Relationshiprelative to theowning_related_element.Reset visibility to its implicit value.
Non-throwing alternative to
visibilitysetter.Members inherited from
Element(25 members)RSysMLImplementation of
alias_idsdefined in the KerML specification.RThe owned
Commentsrelated byowned_relationships.RWSysMLImplementation of
declared_namedefined in the KerML specification.RWSysMLImplementation of
declared_short_namedefined in the KerML specification.RSysMLImplementation of
documentationdefined in the KerML specification.RWSysMLImplementation of
element_iddefined in the KerML specification.RSysMLImplementation of
is_implied_includeddefined in the KerML specification.RSysMLImplementation of
is_library_elementdefined in the KerML specification.RThe owned metadata related by
owned_relationships.RSysMLImplementation of
namedefined in the KerML specification.RSysMLImplementation of
owned_annotationdefined in the KerML specification.RSysMLImplementation of
owned_elementdefined in the KerML specification.RSysMLImplementation of
owned_relationshipdefined in the KerML specification.RSysMLImplementation of
ownerdefined in the KerML specification.RSysMLImplementation of
owning_membershipdefined in the KerML specification.RSysMLImplementation of
owning_namespacedefined in the KerML specification.RSysMLImplementation of
owning_relationshipdefined in the KerML specification.RReturn a unique description of the location of this
Elementin the containment structure rooted in a rootNamespace. In most cases the segments will be identical toQualifiedName.RSysMLImplementation of
qualified_namedefined in the KerML specification.RThe owner of this
Elementas the parent ofowning_membershiporowning_relationshipotherwise.RWThe state of semantic resolution for this
Element. Based on this, sema may skip elements to avoid duplicate work, e.g. when resolving elements in a group of related documents.RSysMLImplementation of
short_namedefined in the KerML specification.RSysMLImplementation of
textual_representationdefined in the KerML specification.Check if the qualified name of this
Elementmatches the provided segments of a qualified name.Members inherited from
AstNode(7 members)RThe source CST node of
selfif one exists.RThe
documentthat owns this node.RThe parent node of
self.Identity based hash of this node.
cast(self, *type: type[TNode]) -> TNode
Chainable equivalent to
isintance(self, type)Checked cast to
type.Attributes
- CHAINABLE: bool = True
Whether this relationship can be used with chained features.
Using this in, e.g.
append_chain, will not raiseTypeError.
- STD: tuple[type[syside.CrossSubsetting], ...] = Ellipsis
All subtypes of
CrossSubsettingaccording to the specification.This is needed because the implementation does not use multiple inheritance like the standard metamodel. However, all would-be inherited attributes are implemented explicitly on classes in
CrossSubsetting.Std.When working with standard metamodel types, use:
if isinstance(element, CrossSubsetting.STD): ...
For type hints, instead use
CrossSubsetting.Std:Note that
CrossSubsetting.Stdis only defined duringTYPE_CHECKING, depending on the Python version used eitherfrom __future__ import annotationsordef function(...) -> "CrossSubsetting.Std"may be required to ensure that annotations are resolved lazily without an actual object present.
- property crossed_feature: syside.Feature | None
Implementation of
crossed_featuredefined in the KerML specification.Specification:
The chained
Featurethat is cross subset by thecrossing_featureof thisCrossSubsetting.See section 8.3.3.3.2 of the KerML specification for more details.
- property crossed_feature_target: syside.ChainedFeatureReference
Syside specific accessor for manipulating the target of
crossed_feature.
- property crossing_feature: syside.Feature | None
Implementation of
crossing_featuredefined in the KerML specification.Specification:
The end
Featurethat owns thisCrossSubsettingrelationship and is also its subsetting_feature.See section 8.3.3.3.2 of the KerML specification for more details.
- property crossing_feature_target: syside.ChainedFeatureReference
Syside specific accessor for manipulating the target of
crossing_feature.