Redefinition SysML
- class Redefinition
Implementation of
Redefinitiondefined in the KerML specification.Specification:
Redefinitionis a kind ofSubsettingthat requires theredefined_featureand theredefining_featureto have the same values (on each instance of the domain of theredefining_feature). This means any restrictions on theredefining_feature, such astypeormultiplicity, also apply to theredefined_feature(on each instance of the domain of theredefining_feature), and vice versa. Theredefined_featuremight have values for instances of the domain of theredefining_feature, but only as instances of the domain of theredefined_featurethat happen to also be instances of the domain of theredefining_feature. This is supported by the constraints inherited fromSubsettingon the domains of theredefining_featureandredefined_feature. However, these constraints are narrowed forRedefinitionto require theowning_typesof theredefining_featureandredefined_featureto be different and theredefined_featureto not be inherited into theowning_namespaceof theredefining_feature.This enables theredefining_featureto have the same name as theredefined_feature, if desired.For language description, see section 7.3.4.5 of the KerML specification. For more details on the model, see section 8.3.3.3.8 of the KerML specification.
Inheritance:
Members defined in
Redefinition(6 members)RWhether this relationship can be used with chained features.
RAll subtypes of
Redefinitionaccording to the specification.RSysMLImplementation of
redefined_featuredefined in the KerML specification.RSyside specific accessor for manipulating the target of
redefined_feature.RSysMLImplementation of
redefining_featuredefined in the KerML specification.RSyside specific accessor for manipulating the target of
redefining_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.Redefinition], ...] = Ellipsis
All subtypes of
Redefinitionaccording 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
Redefinition.Std.When working with standard metamodel types, use:
if isinstance(element, Redefinition.STD): ...
For type hints, instead use
Redefinition.Std:Note that
Redefinition.Stdis only defined duringTYPE_CHECKING, depending on the Python version used eitherfrom __future__ import annotationsordef function(...) -> "Redefinition.Std"may be required to ensure that annotations are resolved lazily without an actual object present.
- property redefined_feature: syside.Feature | None
Implementation of
redefined_featuredefined in the KerML specification.Specification:
The
Featurethat is redefined by theredefining_featureof thisRedefinition.See section 8.3.3.3.8 of the KerML specification for more details.
- property redefined_feature_target: syside.ChainedFeatureReference
Syside specific accessor for manipulating the target of
redefined_feature.
- property redefining_feature: syside.Feature | None
Implementation of
redefining_featuredefined in the KerML specification.Specification:
The
Featurethat is redefining theredefined_featureof thisRedefinition.See section 8.3.3.3.8 of the KerML specification for more details.
- property redefining_feature_target: syside.ChainedFeatureReference
Syside specific accessor for manipulating the target of
redefining_feature.