Type SysML

class Type

Implementation of Type defined in the KerML specification.

Specification:

A Type is a Namespace that is the most general kind of Element supporting the semantics of classification. A Type may be a Classifier or a Feature, defining conditions on what is classified by the Type (see also the description of is_sufficient).

For language description, see section 7.3.2 of the KerML specification. For more details on the model, see section 8.3.3.1.10 of the KerML specification.

%3 Type Type syside.Type Namespace Namespace syside.Namespace Namespace->Type Element Element syside.Element Element->Namespace AstNode AstNode syside.AstNode AstNode->Element
Children
Members defined in Type (38 members)

STD

R

declared_multiplicity

R

The owned multiplicity that is declared before the children block in the textual syntax.

declared_multiplicity_member

R

Syside specific accessor for manipulating declared_multiplicity.

differencing_types

R SysML

Implementation of differencing_type defined in the KerML specification.

directed_features

R SysML

Implementation of directed_feature defined in the KerML specification.

disjoining_types

R

The types that related to this Type through owned_disjoinings.

end_features

R SysML

Implementation of end_feature defined in the KerML specification.

feature_memberships

R SysML

Implementation of feature_membership defined in the KerML specification.

features

R SysML

Implementation of feature defined in the KerML specification.

heritage

R

The specializations and conjugations owned by this Type.

inherited_features

R SysML

Implementation of inherited_feature defined in the KerML specification.

inherited_memberships

R SysML

Implementation of inherited_membership defined in the KerML specification.

inputs

R SysML

Implementation of input defined in the KerML specification.

intersecting_types

R SysML

Implementation of intersecting_type defined in the KerML specification.

is_abstract

RW SysML

Implementation of is_abstract defined in the KerML specification.

is_abstract_explicitly

R

Returns True if this Type was declared as abstract in the textual syntax.

is_conjugated

R SysML

Implementation of is_conjugated defined in the KerML specification.

is_sufficient

RW SysML

Implementation of is_sufficient defined in the KerML specification.

is_sufficient_explicitly

R

Returns True if this Type was declared as sufficient in the textual syntax.

multiplicity

R SysML

Implementation of multiplicity defined in the KerML specification.

outputs

R SysML

Implementation of output defined in the KerML specification.

owned_conjugator

R SysML

Implementation of owned_conjugator defined in the KerML specification.

owned_differencings

R SysML

Implementation of owned_differencing defined in the KerML specification.

owned_directed_features

R

The directed_features that are owned by this Type.

owned_disjoinings

R SysML

Implementation of owned_disjoining defined in the KerML specification.

owned_end_features

R SysML

Implementation of owned_end_feature defined in the KerML specification.

owned_feature_memberships

R SysML

Implementation of owned_feature_membership defined in the KerML specification.

owned_features

R SysML

Implementation of owned_feature defined in the KerML specification.

owned_inputs

R

The inputs that are owned by this Type.

owned_intersectings

R SysML

Implementation of owned_intersecting defined in the KerML specification.

owned_outputs

R

The outputs that are owned by this Type.

owned_specializations

R SysML

Implementation of owned_specialization defined in the KerML specification.

owned_unionings

R SysML

Implementation of owned_unioning defined in the KerML specification.

type_relationships

R

The other type, feature relationships and FeatureChainings owned by this Type.

unioning_types

R SysML

Implementation of unioning_type defined in the KerML specification.

conforms

Returns True if this Type directly or indirectly specializes another Type while following FeatureChainings.

direction_of

Returns the direction of a Feature in this Type.

specializes

Returns True if this Type directly or indirectly specializes another Type while ignoring FeatureChainings.

Members inherited from Namespace (11 members)

children

R

The elements enclosed by curly brackets in textual syntax.

imported_memberships

R SysML

Implementation of imported_membership defined in the KerML specification.

members

R SysML

Implementation of member defined in the KerML specification.

memberships

R SysML

Implementation of membership defined in the KerML specification.

owned_imports

R SysML

Implementation of owned_import defined in the KerML specification.

owned_members

R SysML

Implementation of owned_member defined in the KerML specification.

owned_memberships

R SysML

Implementation of owned_membership defined in the KerML specification.

prefixes

R

Metadata prefixes, prefixed with # in textual syntax.

__getitem__

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

get_member

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

get_membership

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

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

document

R

parent

R

__hash__

cast

isinstance

try_cast

Attributes

STD: tuple[type[syside.Type], ...] = ()
property declared_multiplicity: syside.MultiplicityRange | None

The owned multiplicity that is declared before the children block in the textual syntax.

property declared_multiplicity_member: syside.OwnedMultiplicityAccessor

Syside specific accessor for manipulating declared_multiplicity.

property differencing_types: syside.LazyIterator[syside.Type]

Implementation of differencing_type defined in the KerML specification.

Specification:

The interpretations of a Type with differencing_types are asserted to be those of the first of those Types, but not including those of the remaining Types. For example, a Classifier might be the difference of a Classifier for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a Classifier for people of a particular sex, identifying their children not of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

See section 8.3.3.1.10 of the KerML specification for more details.

property directed_features: syside.LazyIterator[syside.Feature]

Implementation of directed_feature defined in the KerML specification.

Specification:

The features of this Type that have a non-null direction.

See section 8.3.3.1.10 of the KerML specification for more details.

property disjoining_types: syside.LazyIterator[syside.Type]

The types that related to this Type through owned_disjoinings.

property end_features: syside.LazyIterator[syside.Feature]

Implementation of end_feature defined in the KerML specification.

Specification:

All features of this Type with is_end = true.

See section 8.3.3.1.10 of the KerML specification for more details.

property feature_memberships: syside.LazyIterator[syside.FeatureMembership]

Implementation of feature_membership defined in the KerML specification.

Specification:

The FeatureMemberships for features of this Type, which include all owned_feature_memberships and those inherited_memberships that are FeatureMemberships (but does not include any imported_memberships).

See section 8.3.3.1.10 of the KerML specification for more details.

property features: syside.LazyIterator[syside.Feature]

Implementation of feature defined in the KerML specification.

Specification:

The owned_member_features of the feature_memberships of this Type.

See section 8.3.3.1.10 of the KerML specification for more details.

property heritage: syside.Heritage

The specializations and conjugations owned by this Type.

property inherited_features: syside.LazyIterator[syside.Feature]

Implementation of inherited_feature defined in the KerML specification.

Specification:

All the member_features of the inherited_memberships of this Type that are FeatureMemberships.

See section 8.3.3.1.10 of the KerML specification for more details.

property inherited_memberships: syside.LazyIterator[syside.Membership]

Implementation of inherited_membership defined in the KerML specification.

Specification:

All Memberships inherited by this Type via Specialization or Conjugation. These are included in the derived union for the memberships of the Type.

See section 8.3.3.1.10 of the KerML specification for more details.

property inputs: syside.LazyIterator[syside.Feature]

Implementation of input defined in the KerML specification.

Specification:

All features related to this Type by FeatureMemberships that have direction in or inout.

See section 8.3.3.1.10 of the KerML specification for more details.

property intersecting_types: syside.LazyIterator[syside.Type]

Implementation of intersecting_type defined in the KerML specification.

Specification:

The interpretations of a Type with intersecting_types are asserted to be those in common among the intersecting_types, which are the Types derived from the intersecting_type of the owned_intersectings of this Type. For example, a Classifier might be an intersection of Classifiers for people of a particular sex and of a particular nationality. Similarly, a feature for people’s children of a particular sex might be the intersection of a Feature for their children and a Classifier for people of that sex (because the interpretations of the children Feature that identify those of that sex are also interpretations of the Classifier for that sex).

See section 8.3.3.1.10 of the KerML specification for more details.

property is_abstract: bool

Implementation of is_abstract defined in the KerML specification.

Specification:

Indicates whether instances of this Type must also be instances of at least one of its specialized Types.

See section 8.3.3.1.10 of the KerML specification for more details.

property is_abstract_explicitly: bool

Returns True if this Type was declared as abstract in the textual syntax.

property is_conjugated: bool

Implementation of is_conjugated defined in the KerML specification.

Specification:

Indicates whether this Type has an owned_conjugator.

See section 8.3.3.1.10 of the KerML specification for more details.

property is_sufficient: bool

Implementation of is_sufficient defined in the KerML specification.

Specification:

Whether all things that meet the classification conditions of this Type must be classified by the Type.

(A Type gives conditions that must be met by whatever it classifies, but when is_sufficient is false, things may meet those conditions but still not be classified by the Type. For example, a Type Car that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would classify all four-wheeled things.)

See section 8.3.3.1.10 of the KerML specification for more details.

property is_sufficient_explicitly: bool

Returns True if this Type was declared as sufficient in the textual syntax.

property multiplicity: syside.Multiplicity | None

Implementation of multiplicity defined in the KerML specification.

Specification:

An owned_member of this Type that is a Multiplicity, which constraints the cardinality of the Type. If there is no such owned_member, then the cardinality of this Type is constrained by all the Multiplicity constraints applicable to any direct supertypes.

See section 8.3.3.1.10 of the KerML specification for more details.

property outputs: syside.LazyIterator[syside.Feature]

Implementation of output defined in the KerML specification.

Specification:

All features related to this Type by FeatureMemberships that have direction out or inout.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_conjugator: syside.Conjugation | None

Implementation of owned_conjugator defined in the KerML specification.

Specification:

A Conjugation owned by this Type for which the Type is the original_type.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_differencings: syside.LazyIterator[syside.Differencing]

Implementation of owned_differencing defined in the KerML specification.

Specification:

The owned_relationships of this Type that are Differencings, having this Type as their type_differenced.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_directed_features: syside.LazyIterator[syside.Feature]

The directed_features that are owned by this Type.

property owned_disjoinings: syside.LazyIterator[syside.Disjoining]

Implementation of owned_disjoining defined in the KerML specification.

Specification:

The owned_relationships of this Type that are Disjoinings, for which the Type is the type_disjoined Type.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_end_features: syside.LazyIterator[syside.Feature]

Implementation of owned_end_feature defined in the KerML specification.

Specification:

All end_features of this Type that are owned_features.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_feature_memberships: syside.LazyIterator[syside.FeatureMembership]

Implementation of owned_feature_membership defined in the KerML specification.

Specification:

The owned_memberships of this Type that are FeatureMemberships, for which the Type is the owning_type. Each such FeatureMembership identifies an owned_feature of the Type.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_features: syside.LazyIterator[syside.Feature]

Implementation of owned_feature defined in the KerML specification.

Specification:

The owned_member_features of the owned_feature_memberships of this Type.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_inputs: syside.LazyIterator[syside.Feature]

The inputs that are owned by this Type.

property owned_intersectings: syside.LazyIterator[syside.Intersecting]

Implementation of owned_intersecting defined in the KerML specification.

Specification:

The owned_relationships of this Type that are Intersectings, have the Type as their type_intersected.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_outputs: syside.LazyIterator[syside.Feature]

The outputs that are owned by this Type.

property owned_specializations: syside.LazyIterator[syside.Specialization]

Implementation of owned_specialization defined in the KerML specification.

Specification:

The owned_relationships of this Type that are Specializations, for which the Type is the specific Type.

See section 8.3.3.1.10 of the KerML specification for more details.

property owned_unionings: syside.LazyIterator[syside.Unioning]

Implementation of owned_unioning defined in the KerML specification.

Specification:

The owned_relationships of this Type that are Unionings, having the Type as their type_unioned.

See section 8.3.3.1.10 of the KerML specification for more details.

property type_relationships: syside.TypeRelationships

The other type, feature relationships and FeatureChainings owned by this Type.

property unioning_types: syside.LazyIterator[syside.Type]

Implementation of unioning_type defined in the KerML specification.

Specification:

The interpretations of a Type with unioning_types are asserted to be the same as those of all the unioning_types together, which are the Types derived from the unioning_type of the owned_unionings of this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. Similarly, a feature for people’s children might be the union of features dividing them in the same ways as people in general.

See section 8.3.3.1.10 of the KerML specification for more details.

Methods

conforms(arg: Sequence[str], /) bool

Returns True if this Type directly or indirectly specializes another Type while following FeatureChainings.

conforms(arg: syside.Type, /) bool
direction_of(arg: syside.Feature, /) syside.FeatureDirectionKind | None

Returns the direction of a Feature in this Type.

specializes(arg: Sequence[str], /) bool

Returns True if this Type directly or indirectly specializes another Type while ignoring FeatureChainings.

specializes(arg: syside.Type, /) bool
Used in