Namespace SysML

class Namespace

Implementation of Namespace defined in the KerML specification.

Specification:

A Namespace is an Element that contains other Elements, known as its members, via Membership Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased in the Namespace, or imported into the Namespace via Import Relationships.

A Namespace can provide names for its members via the member_names and member_short_names specified by the Memberships in the Namespace. If a Membership specifies a member_name and/or member_short_name, then those are names of the corresponding member_element relative to the Namespace. For an OwningMembership, the owning_member_name and owning_member_short_name are given by the Element name and short_name. Note that the same Element may be the member_element of multiple Memberships in a Namespace (though it may be owned at most once), each of which may define a separate alias for the Element relative to the Namespace.

For language description, see section 7.2.5 of the KerML specification. For more details on the model, see section 8.3.2.4.5 of the KerML specification.

Namespace Namespace syside.Namespace Element Element syside.Element Element->Namespace AstNode AstNode syside.AstNode AstNode->Element
Children
Members defined in Namespace (11 members)

STD

R

children

R

The elements enclosed by curly brackets in textual syntax.

members

R

The set of all member Elements of this Namespace, which are the member_elements of all memberships of the Namespace.

memberships

R

All Memberships in this Namespace, including (at least) the union of owned_memberships and imported_memberships.

owned_imports

R

The owned_relationships of this Namespace that are Imports, for which the Namespace is the import_owning_namespace.

owned_members

R

The owned members of this Namespace, which are the owned_member_elements of the owned_memberships of the Namespace.

owned_memberships

R

The owned_relationships of this Namespace that are Memberships, for which the Namespace is the membership_owning_namespace.

prefixes

R

Metadata prefixes, prefixed with # in textual syntax.

__getitem__

get_member

get_membership

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.Namespace], ...] = ()
property children: syside.NamespaceBody

The elements enclosed by curly brackets in textual syntax.

property members: syside.LazyIterator[syside.Element]

The set of all member Elements of this Namespace, which are the member_elements of all memberships of the Namespace.

namespace
property memberships: syside.LazyIterator[syside.Membership]

All Memberships in this Namespace, including (at least) the union of owned_memberships and imported_memberships.

membership_namespace
property owned_imports: syside.LazyIterator[syside.Import]

The owned_relationships of this Namespace that are Imports, for which the Namespace is the import_owning_namespace.

property owned_members: syside.LazyIterator[syside.Element]

The owned members of this Namespace, which are the owned_member_elements of the owned_memberships of the Namespace.

property owned_memberships: syside.LazyIterator[syside.Membership]

The owned_relationships of this Namespace that are Memberships, for which the Namespace is the membership_owning_namespace.

property prefixes: syside.NamespacePrefixes

Metadata prefixes, prefixed with # in textual syntax.

Methods

__getitem__(arg: str, /) syside.Element

Access owned named members by name. Throws KeyError if a member with such name does not exist.

get_member(arg: str, /) syside.Element | None

Non-throwing variant of __getitem__. Returns None if a named member was not found.

get_member(arg0: str, arg1: syside.Element, /) syside.Element

Overload for get_member that returns the last argument if a member was not found.

get_membership(arg: str, /) syside.Membership | None

Access owned memberships by name. Returns None if an owned member or membership with such name does not exist.

get_membership(arg0: str, arg1: syside.Membership, /) syside.Membership

Overload for get_membership that returns the last argument if a member was not found.

Used in