Redefinition SysML

class Redefinition

Implementation of Redefinition defined in the KerML specification.

Specification:

Redefinition is a kind of Subsetting that requires the redefined_feature and the redefining_feature to have the same values (on each instance of the domain of the redefining_feature). This means any restrictions on the redefining_feature, such as type or multiplicity, also apply to the redefined_feature (on each instance of the domain of the redefining_feature), and vice versa. The redefined_feature might have values for instances of the domain of the redefining_feature, but only as instances of the domain of the redefined_feature that happen to also be instances of the domain of the redefining_feature. This is supported by the constraints inherited from Subsetting on the domains of the redefining_feature and redefined_feature. However, these constraints are narrowed for Redefinition to require the owning_types of the redefining_feature and redefined_feature to be different and the redefined_feature to not be inherited into the owning_namespace of the redefining_feature.This enables the redefining_feature to have the same name as the redefined_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.9 of the KerML specification.

Redefinition Redefinition syside.Redefinition Subsetting Subsetting syside.Subsetting Subsetting->Redefinition Specialization Specialization syside.Specialization Specialization->Subsetting Relationship Relationship syside.Relationship Relationship->Specialization Element Element syside.Element Element->Relationship AstNode AstNode syside.AstNode AstNode->Element
Members defined in Redefinition (5 members)

STD

R

redefined_feature

R

The Feature that is redefined by the redefining_feature of this Redefinition.

redefined_feature_target

R

SysIDE specific accessor for manipulating the target of redefined_feature.

redefining_feature

R

The Feature that is redefining the redefined_feature of this Redefinition.

redefining_feature_target

R

SysIDE specific accessor for manipulating the target of redefining_feature.

Members inherited from Subsetting (5 members)

owning_feature

R

A subsetting_feature that is also the owning_related_element of this Subsetting.

subsetted_feature

R

The Feature that is subsetted by the subsetting_feature of this Subsetting.

subsetted_feature_target

R

SysIDE specific accessor for manipulating the target of subsetted_feature.

subsetting_feature

R

The Feature that is a subset of the subsetted_feature of this Subsetting.

subsetting_feature_target

R

SysIDE specific accessor for manipulating the target of subsetting_feature.

Members inherited from Specialization (6 members)

children

R

The elements enclosed by curly brackets in textual syntax.

general

R

A Type with a superset of all instances of the specific Type, which might be the same set.

general_target

R

SysIDE specific accessor for manipulating the target of general.

owning_type

R

The Type that is the specific Type of this Specialization and owns it as its owning_related_element.

specific

R

A Type with a subset of all instances of the general Type, which might be the same set.

specific_target

R

SysIDE specific accessor for manipulating the target of specific.

Members inherited from Relationship (12 members)

first_source

R

Convenience method for sources[0].

first_target

R

Convenience method for targets[0].

is_implied

RW

Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.

is_visibility_implied

R

Returns True if this Relationship is using implicit visibility.

owned_related_elements

R

The related_elements of this Relationship that are owned by the Relationship.

owning_related_element

R

The related_element of this Relationship that owns the Relationship, if any.

related_elements

R

The Elements that are related by this Relationship, derived as the union of the source and target Elements of the Relationship.

sources

R

The related_elements from which this Relationship is considered to be directed.

targets

R

The related_elements to which this Relationship is considered to be directed.

visibility

RW

The visibility level of the related elements from this Relationship relative to the owning_related_element.

reset_visibility

try_set_visibility

Members inherited from Element (23 members)

comments

R

The owned Comments related by owned_relationships.

declared_name

RW

The declared name of this Element.

declared_short_name

RW

An optional alternative name for the Element that is intended to be shorter or in some way more succinct than its primary name. It may act as a modeler-specified identifier for the Element, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.

documentation

R

The Documentation owned by this Element.

element_id

RW

The globally unique identifier for this Element. This is intended to be

set by tooling, and it must not change during the lifetime of the Element.

is_implied_included

R

Whether all necessary implied Relationships have been included in the owned_relationships of this Element. This property may be true, even if there are not actually any owned_relationships with is_implied = true, meaning that no such Relationships are actually implied for this Element. However, if it is false, then owned_relationships may not contain any implied Relationships. That is, either all required implied Relationships must be included, or none of them.

is_library_element

R

Whether this Element is contained in the ownership tree of a library model.

metadata

R

The owned metadata related by owned_relationships.

name

R

The name to be used for this Element during name resolution within its owning_namespace. This is derived using the effective_name() operation. By default, it is the same as the declared_name, but this is overridden for certain kinds of Elements to compute a name even when the declared_name is null.

owned_annotations

R

The owned_relationships of this Element that are Annotations, for which this Element is the annotated_element.

owned_elements

R

The Elements owned by this Element, derived as the owned_related_elements of the owned_relationships of this Element.

owned_relationships

R

The Relationships for which this Element is the owning_related_element.

owner

R

The owner of this Element, derived as the owning_related_element of the owning_relationship of this Element, if any.

owning_membership

R

The owning_relationship of this Element, if that Relationship is a Membership.

owning_namespace

R

The Namespace that owns this Element, which is the membership_owning_namespace of the owning_membership of this Element, if any.

owning_relationship

R

The Relationship for which this Element is an owned_related_element, if any.

qualified_name

R

The full ownership-qualified name of this Element, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The qualified_name is null if this Element has no owning_namespace or if there is not a complete ownership chain of named Namespaces from a root Namespace to this Element.

scoped_owner

R

The owner of this Element as the parent of owning_membership or owning_relationship otherwise.

sema_state

RW

The 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.

short_name

R

The short name to be used for this Element during name resolution within its owning_namespace. This is derived using the effective_short_name() operation. By default, it is the same as the declared_short_name, but this is overridden for certain kinds of Elements to compute a short_name even when the declared_name is null.

textual_representations

R

The TextualRepresentations that annotate this Element.

__str__

matches_qualified_name

Members inherited from AstNode (7 members)

cst_node

R

document

R

parent

R

__hash__

cast

isinstance

try_cast

Attributes

STD: tuple[type[syside.Redefinition], ...] = ()
property redefined_feature: syside.Feature | None

The Feature that is redefined by the redefining_feature of this Redefinition.

property redefined_feature_target: syside.ChainedFeatureReference

SysIDE specific accessor for manipulating the target of redefined_feature.

property redefining_feature: syside.Feature | None

The Feature that is redefining the redefined_feature of this Redefinition.

property redefining_feature_target: syside.ChainedFeatureReference

SysIDE specific accessor for manipulating the target of redefining_feature.

Used in