AnnotatingElement SysML

class AnnotatingElement

Implementation of AnnotatingElement defined in the KerML specification.

Specification:

An AnnotatingElement is an Element that provides additional description of or metadata on some other Element. An AnnotatingElement is either attached to its annotated_elements by Annotation Relationships, or it implicitly annotates its owning_namespace.

For language description, see section 7.2.4 of the KerML specification. For more details on the model, see section 8.3.2.3.2 of the KerML specification.

Children
Members defined in AnnotatingElement (6 members)

STD

R

All subtypes of AnnotatingElement according to the specification.

about

R

Container for owned annotations.

annotated_elements

R SysML

Implementation of annotated_element defined in the KerML specification.

annotations

R SysML

Implementation of annotation defined in the KerML specification.

owned_annotating_relationships

R SysML

Implementation of owned_annotating_relationship defined in the KerML specification.

owning_annotating_relationship

R SysML

Implementation of owning_annotating_relationship defined in the KerML specification.

Members inherited from Element (25 members)

alias_ids

R SysML

Implementation of alias_ids defined in the KerML specification.

comments

R

The owned Comments related by owned_relationships.

declared_name

RW SysML

Implementation of declared_name defined in the KerML specification.

declared_short_name

RW SysML

Implementation of declared_short_name defined in the KerML specification.

documentation

R SysML

Implementation of documentation defined in the KerML specification.

element_id

RW SysML

Implementation of element_id defined in the KerML specification.

is_implied_included

R SysML

Implementation of is_implied_included defined in the KerML specification.

is_library_element

R SysML

Implementation of is_library_element defined in the KerML specification.

metadata

R

The owned metadata related by owned_relationships.

name

R SysML

Implementation of name defined in the KerML specification.

owned_annotations

R SysML

Implementation of owned_annotation defined in the KerML specification.

owned_elements

R SysML

Implementation of owned_element defined in the KerML specification.

owned_relationships

R SysML

Implementation of owned_relationship defined in the KerML specification.

owner

R SysML

Implementation of owner defined in the KerML specification.

owning_membership

R SysML

Implementation of owning_membership defined in the KerML specification.

owning_namespace

R SysML

Implementation of owning_namespace defined in the KerML specification.

owning_relationship

R SysML

Implementation of owning_relationship defined in the KerML specification.

path

R

Return a unique description of the location of this Element in the containment structure rooted in a root Namespace. In most cases the segments will be identical to QualifiedName.

qualified_name

R SysML

Implementation of qualified_name defined in the KerML specification.

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 SysML

Implementation of short_name defined in the KerML specification.

textual_representations

R SysML

Implementation of textual_representation defined in the KerML specification.

__str__

matches_qualified_name

Check if the qualified name of this Element matches the provided segments of a qualified name.

Members inherited from AstNode (7 members)

cst_node

R

The source CST node of self if one exists.

document

R

The document that owns this node.

parent

R

The parent node of self.

__hash__

Identity based hash of this node.

cast

  1. cast(self, *type: type[TNode]) -> TNode

isinstance

Chainable equivalent to isintance(self, type)

try_cast

Checked cast to type.

Attributes

STD: tuple[Union[type[syside.AnnotatingElement], type[MetadataFeature], type[MetadataUsage]], ...] = Ellipsis

All subtypes of AnnotatingElement according 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 AnnotatingElement.Std.

When working with standard metamodel types, use:

if isinstance(element, AnnotatingElement.STD):
    ...

For type hints, instead use AnnotatingElement.Std:

def function(element: Element) -> AnnotatingElement.Std:
    ...

Note that AnnotatingElement.Std is only defined during TYPE_CHECKING, depending on the Python version used either from __future__ import annotations or def function(...) -> "AnnotatingElement.Std" may be required to ensure that annotations are resolved lazily without an actual object present.

property about: syside.Annotations

Container for owned annotations.

property annotated_elements: syside.ContainerView[syside.Element]

Implementation of annotated_element defined in the KerML specification.

Specification:

The Elements that are annotated by this AnnotatingElement. If annotation is not empty, these are the annotated_elements of the annotations. If annotation is empty, then it is the owning_namespace of the AnnotatingElement.

See section 8.3.2.3.2 of the KerML specification for more details.

property annotations: syside.ContainerView[syside.Annotation]

Implementation of annotation defined in the KerML specification.

Specification:

The Annotations that relate this AnnotatingElement to its annotated_elements. This includes the owning_annotating_relationship (if any) followed by all the owned_annotating_relationships.

See section 8.3.2.3.2 of the KerML specification for more details.

property owned_annotating_relationships: syside.ContainerView[syside.Annotation]

Implementation of owned_annotating_relationship defined in the KerML specification.

Specification:

The owned_relationships of this AnnotatingElement that are Annotations, for which this AnnotatingElement is the annotating_element.

See section 8.3.2.3.2 of the KerML specification for more details.

property owning_annotating_relationship: syside.Annotation | None

Implementation of owning_annotating_relationship defined in the KerML specification.

Specification:

The owning_relationship of this AnnotatingRelationship, if it is an Annotation

See section 8.3.2.3.2 of the KerML specification for more details.

Used in