export declare const SYSML_ECORE_SHA256 = "7f6bf7851ea5a732e004415f4b9b7d6dd685e7a2f89a6c800b5df1fbfd34a4f0"; export declare const SYSML_ECORE_RELEASE = "2026-05"; export declare const SYSML_ECORE_COMMIT = "fa709f2"; /** `FeatureDirectionKind` enumeration. */ export type FeatureDirectionKind = "in" | "inout" | "out"; export declare const FEATURE_DIRECTION_KIND_LITERALS: readonly FeatureDirectionKind[]; /** `PortionKind` enumeration. */ export type PortionKind = "timeslice" | "snapshot"; export declare const PORTION_KIND_LITERALS: readonly PortionKind[]; /** `RequirementConstraintKind` enumeration. */ export type RequirementConstraintKind = "assumption" | "requirement"; export declare const REQUIREMENT_CONSTRAINT_KIND_LITERALS: readonly RequirementConstraintKind[]; /** `StateSubactionKind` enumeration. */ export type StateSubactionKind = "entry" | "do" | "exit"; export declare const STATE_SUBACTION_KIND_LITERALS: readonly StateSubactionKind[]; /** `TransitionFeatureKind` enumeration. */ export type TransitionFeatureKind = "trigger" | "guard" | "effect"; export declare const TRANSITION_FEATURE_KIND_LITERALS: readonly TransitionFeatureKind[]; /** `TriggerKind` enumeration. */ export type TriggerKind = "when" | "at" | "after"; export declare const TRIGGER_KIND_LITERALS: readonly TriggerKind[]; /** `VisibilityKind` enumeration. */ export type VisibilityKind = "private" | "protected" | "public"; export declare const VISIBILITY_KIND_LITERALS: readonly VisibilityKind[]; /** * `AcceptActionUsage`. * Generalizes: `ActionUsage`. */ export interface AcceptActionUsage extends ActionUsage { /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * payloadArgument = argument(1) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly payloadArgument?: Expression; /** * Reference 1..1, derived. * Subsets: `Usage/nestedReference`, `Step/parameter`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * payloadParameter = * if parameter->isEmpty() then null * else parameter->first() endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly payloadParameter?: ReferenceUsage; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * receiverArgument = argument(2) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly receiverArgument?: Expression; } /** * `ActionDefinition`. * Generalizes: `OccurrenceDefinition`, `Behavior`. */ export interface ActionDefinition extends OccurrenceDefinition, Behavior { /** * Reference 0..*, ordered, derived. * Subsets: `Behavior/step`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * action = usage->selectByKind(ActionUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly action?: ActionUsage[]; } /** * `ActionUsage`. * Generalizes: `OccurrenceUsage`, `Step`. */ export interface ActionUsage extends OccurrenceUsage, Step { /** * Reference 0..*, ordered, derived. * Redefines: `Step/behavior`, `OccurrenceUsage/occurrenceDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly actionDefinition?: Behavior[]; } /** * `ActorMembership`. * Generalizes: `ParameterMembership`. */ export interface ActorMembership extends ParameterMembership { /** * Reference 1..1, derived. * Redefines: `ParameterMembership/ownedMemberParameter`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedActorParameter?: PartUsage; } /** * `AllocationDefinition`. * Generalizes: `ConnectionDefinition`. */ export interface AllocationDefinition extends ConnectionDefinition { /** * Reference 0..*, ordered, derived. * Subsets: `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * allocation = usage->selectAsKind(AllocationUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly allocation?: AllocationUsage[]; } /** * `AllocationUsage`. * Generalizes: `ConnectionUsage`. */ export interface AllocationUsage extends ConnectionUsage { /** * Reference 0..*, ordered, derived. * Redefines: `ConnectionUsage/connectionDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly allocationDefinition?: AllocationDefinition[]; } /** * `AnalysisCaseDefinition`. * Generalizes: `CaseDefinition`. */ export interface AnalysisCaseDefinition extends CaseDefinition { /** * Reference 0..1, derived. * Subsets: `Function/expression`, `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * resultExpression = * let results : OrderedSet(ResultExpressionMembership) = * featureMembersip-> * selectByKind(ResultExpressionMembership) in * if results->isEmpty() then null * else results->first().ownedResultExpression * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly resultExpression?: Expression; } /** * `AnalysisCaseUsage`. * Generalizes: `CaseUsage`. */ export interface AnalysisCaseUsage extends CaseUsage { /** * Reference 0..1, derived. * Redefines: `CaseUsage/caseDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly analysisCaseDefinition?: AnalysisCaseDefinition; /** * Reference 0..1, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * resultExpression = * let results : OrderedSet(ResultExpressionMembership) = * featureMembersip-> * selectByKind(ResultExpressionMembership) in * if results->isEmpty() then null * else results->first().ownedResultExpression * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly resultExpression?: Expression; } /** * `AnnotatingElement`. * Generalizes: `Element`. */ export interface AnnotatingElement extends Element { /** * Reference 1..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * annotatedElement = * if annotation->notEmpty() then annotation.annotatedElement * else Sequence{owningNamespace} endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly annotatedElement?: Element[]; /** * Reference 0..*, ordered, derived. * Opposite: `Annotation/annotatingElement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * annotation = * if owningAnnotatingRelationship = null then ownedAnnotatingRelationship * else owningAnnotatingRelationship->prepend(owningAnnotatingRelationship) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly annotation?: Annotation[]; /** * Reference 0..*, ordered, derived. * Opposite: `Annotation/owningAnnotatingElement`. * Subsets: `AnnotatingElement/annotation`, `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedAnnotatingRelationship = ownedRelationship-> * selectByKind(Annotation)-> * select(a | a.annotatedElement <> self) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedAnnotatingRelationship?: Annotation[]; /** * Reference 0..1, derived. * Opposite: `Annotation/ownedAnnotatingElement`. * Subsets: `Element/owningRelationship`, `AnnotatingElement/annotation`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningAnnotatingRelationship?: Annotation; } /** * `Annotation`. * Generalizes: `Relationship`. */ export interface Annotation extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/target`. */ annotatedElement: Element; /** * Reference 1..1, derived. * Opposite: `AnnotatingElement/annotation`. * Redefines: `Relationship/source`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * annotatingElement = * if ownedAnnotatingElement <> null then ownedAnnotatingElement * else owningAnnotatingElement * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly annotatingElement?: AnnotatingElement; /** * Reference 0..1, derived. * Opposite: `AnnotatingElement/owningAnnotatingRelationship`. * Subsets: `Annotation/annotatingElement`, `Relationship/ownedRelatedElement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedAnnotatingElement = * let ownedAnnotatingElements : Sequence(AnnotatingElement) = * ownedRelatedElement->selectByKind(AnnotatingElement) in * if ownedAnnotatingElements->isEmpty() then null * else ownedAnnotatingElements->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedAnnotatingElement?: AnnotatingElement; /** * Reference 0..1, derived. * Opposite: `Element/ownedAnnotation`. * Subsets: `Annotation/annotatedElement`, `Relationship/owningRelatedElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningAnnotatedElement?: Element; /** * Reference 0..1, derived. * Opposite: `AnnotatingElement/ownedAnnotatingRelationship`. * Subsets: `Annotation/annotatingElement`, `Relationship/owningRelatedElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningAnnotatingElement?: AnnotatingElement; } /** * `AssertConstraintUsage`. * Generalizes: `ConstraintUsage`, `Invariant`. */ export interface AssertConstraintUsage extends ConstraintUsage, Invariant { /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * assertedConstraint = * if referencedFeatureTarget() = null then self * else if referencedFeatureTarget().oclIsKindOf(ConstraintUsage) then * referencedFeatureTarget().oclAsType(ConstraintUsage) * else null * endif endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly assertedConstraint?: ConstraintUsage; } /** * `AssignmentActionUsage`. * Generalizes: `ActionUsage`. */ export interface AssignmentActionUsage extends ActionUsage { /** * Reference 1..1, derived. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * referent = * let unownedFeatures : Sequence(Feature) = ownedMembership-> * reject(oclIsKindOf(FeatureMembership)).memberElement-> * select(oclIsKindOf(Feature) and * not oclIsKindOf(MetadataFeature)) in * if unownedFeatures->isEmpty() then null * else unownedFeatures->first().oclAsType(Feature) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly referent?: Feature; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * targetArgument = argument(1) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly targetArgument?: Expression; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * valueExpression = argument(2) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly valueExpression?: Expression; } /** * `Association`. * Generalizes: `Classifier`, `Relationship`. */ export interface Association extends Classifier, Relationship { /** * Reference 0..*, derived. * Redefines: `Type/endFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly associationEnd?: Feature[]; /** * Reference 0..*, ordered, derived. * Redefines: `Relationship/relatedElement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * relatedType = associationEnd.type * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly relatedType?: Type[]; /** * Reference 0..1, derived. * Subsets: `Association/relatedType`. * Redefines: `Relationship/source`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * sourceType = * if relatedType->isEmpty() then null * else relatedType->first() endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly sourceType?: Type; /** * Reference 0..*, derived. * Subsets: `Association/relatedType`. * Redefines: `Relationship/target`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * targetType = * if relatedType->size() < 2 then OrderedSet{} * else * relatedType-> * subSequence(2, relatedType->size())-> * asOrderedSet() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly targetType?: Type[]; } /** * `AssociationStructure`. * Generalizes: `Association`, `Structure`. */ export interface AssociationStructure extends Association, Structure { } /** * `AttributeDefinition`. * Generalizes: `Definition`, `DataType`. */ export interface AttributeDefinition extends Definition, DataType { } /** * `AttributeUsage`. * Generalizes: `Usage`. */ export interface AttributeUsage extends Usage { /** * Reference 0..*, ordered, derived. * Redefines: `Usage/definition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly attributeDefinition?: DataType[]; } /** * `Behavior`. * Generalizes: `Class`. */ export interface Behavior extends Class { /** * Reference 0..*, ordered, derived. * Redefines: `Type/directedFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly parameter?: Feature[]; /** * Reference 0..*, derived. * Subsets: `Type/feature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * step = feature->selectByKind(Step) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly step?: Step[]; } /** * `BindingConnector`. * Generalizes: `Connector`. */ export interface BindingConnector extends Connector { } /** * `BindingConnectorAsUsage`. * Generalizes: `ConnectorAsUsage`, `BindingConnector`. */ export interface BindingConnectorAsUsage extends ConnectorAsUsage, BindingConnector { } /** * `BooleanExpression`. * Generalizes: `Expression`. */ export interface BooleanExpression extends Expression { /** * Reference 0..1, derived. * Redefines: `Expression/function`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly predicate?: Predicate; } /** * `CalculationDefinition`. * Generalizes: `ActionDefinition`, `Function`. */ export interface CalculationDefinition extends ActionDefinition, Function { /** * Reference 0..*, ordered, derived. * Subsets: `ActionDefinition/action`, `Function/expression`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * calculation = action->selectByKind(CalculationUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly calculation?: CalculationUsage[]; } /** * `CalculationUsage`. * Generalizes: `ActionUsage`, `Expression`. */ export interface CalculationUsage extends ActionUsage, Expression { /** * Reference 0..1, ordered, derived. * Redefines: `Expression/function`, `ActionUsage/actionDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly calculationDefinition?: Function; } /** * `CaseDefinition`. * Generalizes: `CalculationDefinition`. */ export interface CaseDefinition extends CalculationDefinition { /** * Reference 0..*, ordered, derived. * Subsets: `Behavior/parameter`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * actorParameter = featureMembership-> * selectByKind(ActorMembership). * ownedActorParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly actorParameter?: PartUsage[]; /** * Reference 0..1, ordered, derived. * Subsets: `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * objectiveRequirement = * let objectives: OrderedSet(RequirementUsage) = * featureMembership-> * selectByKind(ObjectiveMembership). * ownedRequirement in * if objectives->isEmpty() then null * else objectives->first().ownedObjectiveRequirement * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly objectiveRequirement?: RequirementUsage; /** * Reference 1..1, derived. * Subsets: `Behavior/parameter`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * subjectParameter = * let subjectMems : OrderedSet(SubjectMembership) = * featureMembership->selectByKind(SubjectMembership) in * if subjectMems->isEmpty() then null * else subjectMems->first().ownedSubjectParameter * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly subjectParameter?: Usage; } /** * `CaseUsage`. * Generalizes: `CalculationUsage`. */ export interface CaseUsage extends CalculationUsage { /** * Reference 0..*, ordered, derived. * Subsets: `Step/parameter`, `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * actorParameter = featureMembership-> * selectByKind(ActorMembership). * ownedActorParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly actorParameter?: PartUsage[]; /** * Reference 0..1, derived. * Redefines: `CalculationUsage/calculationDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly caseDefinition?: CaseDefinition; /** * Reference 0..1, ordered, derived. * Subsets: `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * objectiveRequirement = * let objectives: OrderedSet(RequirementUsage) = * featureMembership-> * selectByKind(ObjectiveMembership). * ownedRequirement in * if objectives->isEmpty() then null * else objectives->first().ownedObjectiveRequirement * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly objectiveRequirement?: RequirementUsage; /** * Reference 1..1, derived. * Subsets: `Step/parameter`, `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * subjectParameter = * let subjects : OrderedSet(SubjectMembership) = * featureMembership->selectByKind(SubjectMembership) in * if subjects->isEmpty() then null * else subjects->first().ownedSubjectParameter * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly subjectParameter?: Usage; } /** * `Class`. * Generalizes: `Classifier`. */ export interface Class extends Classifier { } /** * `Classifier`. * Generalizes: `Type`. */ export interface Classifier extends Type { /** * Reference 0..*, derived. * Opposite: `Subclassification/owningClassifier`. * Subsets: `Type/ownedSpecialization`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedSubclassification = * ownedSpecialization->selectByKind(Subclassification) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedSubclassification?: Subclassification[]; } /** * `CollectExpression`. * Generalizes: `OperatorExpression`. */ export interface CollectExpression extends OperatorExpression { } /** * `Comment`. * Generalizes: `AnnotatingElement`. */ export interface Comment extends AnnotatingElement { /** Attribute 1..1. */ body: string; /** Attribute 0..1. */ locale?: string; } /** * `ConcernDefinition`. * Generalizes: `RequirementDefinition`. */ export interface ConcernDefinition extends RequirementDefinition { } /** * `ConcernUsage`. * Generalizes: `RequirementUsage`. */ export interface ConcernUsage extends RequirementUsage { /** * Reference 0..1, derived. * Redefines: `RequirementUsage/requirementDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly concernDefinition?: ConcernDefinition; } /** * `ConjugatedPortDefinition`. * Generalizes: `PortDefinition`. */ export interface ConjugatedPortDefinition extends PortDefinition { /** * Reference 1..1, derived. * Opposite: `PortDefinition/conjugatedPortDefinition`. * Redefines: `Element/owningNamespace`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly originalPortDefinition?: PortDefinition; /** * Reference 1..1, derived. * Opposite: `PortConjugation/conjugatedPortDefinition`. * Redefines: `Type/ownedConjugator`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedPortConjugator?: PortConjugation; } /** * `ConjugatedPortTyping`. * Generalizes: `FeatureTyping`. */ export interface ConjugatedPortTyping extends FeatureTyping { /** * Reference 1..1. * Redefines: `FeatureTyping/type`. */ conjugatedPortDefinition: ConjugatedPortDefinition; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * portDefinition = conjugatedPortDefinition.originalPortDefinition * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly portDefinition?: PortDefinition; } /** * `Conjugation`. * Generalizes: `Relationship`. */ export interface Conjugation extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/source`. */ conjugatedType: Type; /** * Reference 1..1. * Redefines: `Relationship/target`. */ originalType: Type; /** * Reference 0..1, derived. * Opposite: `Type/ownedConjugator`. * Subsets: `Conjugation/conjugatedType`, `Relationship/owningRelatedElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningType?: Type; } /** * `ConnectionDefinition`. * Generalizes: `PartDefinition`, `AssociationStructure`. */ export interface ConnectionDefinition extends PartDefinition, AssociationStructure { /** * Reference 0..*, ordered, derived. * Redefines: `Association/associationEnd`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly connectionEnd?: Usage[]; } /** * `ConnectionUsage`. * Generalizes: `ConnectorAsUsage`, `PartUsage`. */ export interface ConnectionUsage extends ConnectorAsUsage, PartUsage { /** * Reference 0..*, ordered, derived. * Subsets: `ItemUsage/itemDefinition`. * Redefines: `Connector/association`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly connectionDefinition?: AssociationStructure[]; } /** * `Connector`. * Generalizes: `Feature`, `Relationship`. */ export interface Connector extends Feature, Relationship { /** * Reference 0..*, ordered, derived. * Redefines: `Feature/type`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly association?: Association[]; /** * Reference 0..*, ordered, derived. * Redefines: `Type/endFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly connectorEnd?: Feature[]; /** * Reference 0..1, derived. * * No OCL clause and no derivation annotation: must be read out of the specification text. * Resolved by the hand-written resolution core, never by a generated body. */ readonly defaultFeaturingType?: Type; /** * Reference 0..*, ordered, derived. * Redefines: `Relationship/relatedElement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * relatedFeature = connectorEnd.ownedReferenceSubsetting-> * select(s | s <> null).subsettedFeature * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly relatedFeature?: Feature[]; /** * Reference 0..1, ordered, derived. * Subsets: `Connector/relatedFeature`. * Redefines: `Relationship/source`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * sourceFeature = * if relatedFeature->isEmpty() then null * else relatedFeature->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly sourceFeature?: Feature; /** * Reference 0..*, ordered, derived. * Subsets: `Connector/relatedFeature`. * Redefines: `Relationship/target`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * targetFeature = * if relatedFeature->size() < 2 then OrderedSet{} * else * relatedFeature-> * subSequence(2, relatedFeature->size())-> * asOrderedSet() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly targetFeature?: Feature[]; } /** * `ConnectorAsUsage` (abstract). * Generalizes: `Usage`, `Connector`. */ export interface ConnectorAsUsage extends Usage, Connector { } /** * `ConstraintDefinition`. * Generalizes: `OccurrenceDefinition`, `Predicate`. */ export interface ConstraintDefinition extends OccurrenceDefinition, Predicate { } /** * `ConstraintUsage`. * Generalizes: `OccurrenceUsage`, `BooleanExpression`. */ export interface ConstraintUsage extends OccurrenceUsage, BooleanExpression { /** * Reference 0..1, derived. * Redefines: `BooleanExpression/predicate`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly constraintDefinition?: Predicate; } /** * `ConstructorExpression`. * Generalizes: `InstantiationExpression`. */ export interface ConstructorExpression extends InstantiationExpression { } /** * `ControlNode` (abstract). * Generalizes: `ActionUsage`. */ export interface ControlNode extends ActionUsage { } /** * `CrossSubsetting`. * Generalizes: `Subsetting`. */ export interface CrossSubsetting extends Subsetting { /** * Reference 1..1. * Redefines: `Subsetting/subsettedFeature`. */ crossedFeature: Feature; /** * Reference 1..1, derived. * Opposite: `Feature/ownedCrossSubsetting`. * Redefines: `Subsetting/owningFeature`, `Subsetting/subsettingFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly crossingFeature?: Feature; } /** * `DataType`. * Generalizes: `Classifier`. */ export interface DataType extends Classifier { } /** * `DecisionNode`. * Generalizes: `ControlNode`. */ export interface DecisionNode extends ControlNode { } /** * `Definition`. * Generalizes: `Classifier`. */ export interface Definition extends Classifier { /** * Reference 0..*, ordered, derived. * Subsets: `Type/directedFeature`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * directedUsage = directedFeature->selectByKind(Usage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly directedUsage?: Usage[]; /** Attribute 1..1. */ isVariation: boolean; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedOccurrence`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedAction = ownedUsage->selectByKind(ActionUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedAction?: ActionUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedConnection`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedAllocation = ownedUsage->selectByKind(AllocationUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedAllocation?: AllocationUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedCase`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedAnalysisCase?: AnalysisCaseUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedAttribute = ownedUsage->selectByKind(AttributeUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedAttribute?: AttributeUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedAction`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedCalculation = ownedUsage->selectByKind(CalculationUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedCalculation?: CalculationUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedCalculation`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedCase = ownedUsage->selectByKind(CaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedCase?: CaseUsage[]; /** * Reference 0..*, derived. * Subsets: `Definition/ownedRequirement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedConcern = ownedUsage->selectByKind(ConcernUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedConcern?: ConcernUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedConnection?: ConnectorAsUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedOccurrence`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedConstraint?: ConstraintUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedAttribute`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedEnumeration?: EnumerationUsage[]; /** * Reference 0..*, derived. * Subsets: `Definition/ownedConnection`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedFlow = ownedUsage->selectByKind(FlowUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedFlow?: FlowUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedConnection`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedInterface = ownedUsage->selectByKind(ReferenceUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedInterface?: InterfaceUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedOccurrence`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedItem = ownedUsage->selectByKind(ItemUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedItem?: ItemUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedItem`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedMetadata = ownedMember->selectByKind(MetadataUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMetadata?: MetadataUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedOccurrence?: OccurrenceUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedItem`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedPart = ownedUsage->selectByKind(PartUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedPart?: PartUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedPort = ownedUsage->selectByKind(PortUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedPort?: PortUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedReference = ownedUsage->selectByKind(ReferenceUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedReference?: ReferenceUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedPart`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedRendering = ownedUsage->selectByKind(RenderingUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedRendering?: RenderingUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedConstraint`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedRequirement = ownedUsage->selectByKind(RequirementUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedRequirement?: RequirementUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedAction`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedState = ownedUsage->selectByKind(StateUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedState?: StateUsage[]; /** * Reference 0..*, derived. * Subsets: `Definition/ownedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedTransition = ownedUsage->selectByKind(TransitionUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedTransition?: TransitionUsage[]; /** * Reference 0..*, ordered, derived. * Opposite: `Usage/owningDefinition`. * Subsets: `Type/ownedFeature`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedUsage = ownedFeature->selectByKind(Usage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedUsage?: Usage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedCase`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedUseCase?: UseCaseUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedCase`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedVerificationCase?: VerificationCaseUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedPart`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedView = ownedUsage->selectByKind(ViewUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedView?: ViewUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedRequirement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedViewpoint?: ViewpointUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/feature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * usage = feature->selectByKind(Usage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly usage?: Usage[]; /** * Reference 0..*, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * variant = variantMembership.ownedVariantUsage * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly variant?: Usage[]; /** * Reference 0..*, derived. * Subsets: `Namespace/ownedMembership`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * variantMembership = ownedMembership->selectByKind(VariantMembership) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly variantMembership?: VariantMembership[]; } /** * `Dependency`. * Generalizes: `Relationship`. */ export interface Dependency extends Relationship { /** * Reference 1..*, ordered. * Redefines: `Relationship/source`. */ client: Element[]; /** * Reference 1..*, ordered. * Redefines: `Relationship/target`. */ supplier: Element[]; } /** * `Differencing`. * Generalizes: `Relationship`. */ export interface Differencing extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/target`. */ differencingType: Type; /** * Reference 1..1, derived. * Opposite: `Type/ownedDifferencing`. * Subsets: `Relationship/owningRelatedElement`. * Redefines: `Relationship/source`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly typeDifferenced?: Type; } /** * `Disjoining`. * Generalizes: `Relationship`. */ export interface Disjoining extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/target`. */ disjoiningType: Type; /** * Reference 0..1, derived. * Opposite: `Type/ownedDisjoining`. * Subsets: `Relationship/owningRelatedElement`, `Disjoining/typeDisjoined`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningType?: Type; /** * Reference 1..1. * Redefines: `Relationship/source`. */ typeDisjoined: Type; } /** * `Documentation`. * Generalizes: `Comment`. */ export interface Documentation extends Comment { /** * Reference 1..1, derived. * Opposite: `Element/documentation`. * Subsets: `Element/owner`. * Redefines: `AnnotatingElement/annotatedElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly documentedElement?: Element; } /** * `Element` (abstract). * Root metaclass. */ export interface Element { /** Attribute 0..*, ordered. */ aliasIds?: string[]; /** Attribute 0..1. */ declaredName?: string; /** Attribute 0..1. */ declaredShortName?: string; /** * Reference 0..*, ordered, derived. * Opposite: `Documentation/documentedElement`. * Subsets: `Element/ownedElement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * documentation = ownedElement->selectByKind(Documentation) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly documentation?: Documentation[]; /** Attribute 1..1. */ elementId: string; /** Attribute 1..1. */ isImpliedIncluded: boolean; /** * Attribute 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * isLibraryElement = libraryNamespace() <> null * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly isLibraryElement?: boolean; /** * Attribute 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * name = effectiveName() * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly name?: string; /** * Reference 0..*, ordered, derived. * Opposite: `Annotation/owningAnnotatedElement`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedAnnotation = ownedRelationship-> * selectByKind(Annotation)-> * select(a | a.annotatedElement = self) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedAnnotation?: Annotation[]; /** * Reference 0..*, ordered, derived. * Opposite: `Element/owner`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedElement = ownedRelationship.ownedRelatedElement * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedElement?: Element[]; /** * Containment 0..*, ordered. * Opposite: `Relationship/owningRelatedElement`. */ ownedRelationship?: Relationship[]; /** * Reference 0..1, derived. * Opposite: `Element/ownedElement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * owner = owningRelationship.owningRelatedElement * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly owner?: Element; /** * Reference 0..1, derived. * Opposite: `OwningMembership/ownedMemberElement`. * Subsets: `Element/owningRelationship`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningMembership?: OwningMembership; /** * Reference 0..1, derived. * Opposite: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * owningNamespace = * if owningMembership = null then null * else owningMembership.membershipOwningNamespace * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningNamespace?: Namespace; /** * Reference 0..1. * Opposite: `Relationship/ownedRelatedElement`. */ owningRelationship?: Relationship; /** * Attribute 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * qualifiedName = * if owningNamespace = null then null * else if name <> null and * owningNamespace.ownedMember-> * select(m | m.name = name).indexOf(self) <> 1 then null * else if owningNamespace.owner = null then escapedName() * else if owningNamespace.qualifiedName = null or * escapedName() = null then null * else owningNamespace.qualifiedName + '::' + escapedName() * endif endif endif endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly qualifiedName?: string; /** * Attribute 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * shortName = effectiveShortName() * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly shortName?: string; /** * Reference 0..*, ordered, derived. * Opposite: `TextualRepresentation/representedElement`. * Subsets: `Element/ownedElement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * textualRepresentation = ownedElement->selectByKind(TextualRepresentation) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly textualRepresentation?: TextualRepresentation[]; } /** * `ElementFilterMembership`. * Generalizes: `OwningMembership`. */ export interface ElementFilterMembership extends OwningMembership { /** * Reference 1..1, derived. * Redefines: `OwningMembership/ownedMemberElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly condition?: Expression; } /** * `EndFeatureMembership`. * Generalizes: `FeatureMembership`. */ export interface EndFeatureMembership extends FeatureMembership { } /** * `EnumerationDefinition`. * Generalizes: `AttributeDefinition`. */ export interface EnumerationDefinition extends AttributeDefinition { /** * Reference 0..*, ordered, derived. * Redefines: `Definition/variant`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly enumeratedValue?: EnumerationUsage[]; } /** * `EnumerationUsage`. * Generalizes: `AttributeUsage`. */ export interface EnumerationUsage extends AttributeUsage { /** * Reference 1..1, derived. * Redefines: `AttributeUsage/attributeDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly enumerationDefinition?: EnumerationDefinition; } /** * `EventOccurrenceUsage`. * Generalizes: `OccurrenceUsage`. */ export interface EventOccurrenceUsage extends OccurrenceUsage { /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * eventOccurrence = * if referencedFeatureTarget() = null then self * else if referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) then * referencedFeatureTarget().oclAsType(OccurrenceUsage) * else null * endif endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly eventOccurrence?: OccurrenceUsage; } /** * `ExhibitStateUsage`. * Generalizes: `StateUsage`, `PerformActionUsage`. */ export interface ExhibitStateUsage extends StateUsage, PerformActionUsage { /** * Reference 1..1, derived. * Redefines: `PerformActionUsage/performedAction`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly exhibitedState?: StateUsage; } /** * `Expose` (abstract). * Generalizes: `Import`. */ export interface Expose extends Import { } /** * `Expression`. * Generalizes: `Step`. */ export interface Expression extends Step { /** * Reference 0..1, derived. * Redefines: `Step/behavior`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly function?: Function; /** * Attribute 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly isModelLevelEvaluable?: boolean; /** * Reference 1..1, derived. * Subsets: `Type/output`, `Step/parameter`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * result = * let resultParams : Sequence(Feature) = * featureMemberships-> * selectByKind(ReturnParameterMembership). * ownedMemberParameter in * if resultParams->notEmpty() then resultParams->first() * else null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly result?: Feature; } /** * `Feature`. * Generalizes: `Type`. */ export interface Feature extends Type { /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * chainingFeature = ownedFeatureChaining.chainingFeature * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly chainingFeature?: Feature[]; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * crossFeature = * if ownedCrossSubsetting = null then null * else * let chainingFeatures: Sequence(Feature) = * ownedCrossSubsetting.crossedFeature.chainingFeature in * if chainingFeatures->size() < 2 then null * else chainingFeatures->at(2) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly crossFeature?: Feature; /** Attribute 0..1. */ direction?: FeatureDirectionKind; /** * Reference 0..1, derived. * Opposite: `Type/ownedEndFeature`. * Subsets: `Feature/owningType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly endOwningType?: Type; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * featureTarget = if chainingFeature->isEmpty() then self else chainingFeature->last() endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly featureTarget?: Feature; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * featuringType = * let featuringTypes : OrderedSet(Type) = * typeFeaturing.type->asOrderedSet() in * if chainingFeature->isEmpty() then featuringTypes * else * featuringTypes-> * union(chainingFeature->first().featuringType)-> * asOrderedSet() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly featuringType?: Type[]; /** Attribute 1..1. */ isComposite: boolean; /** Attribute 1..1. */ isConstant: boolean; /** Attribute 1..1. */ isDerived: boolean; /** Attribute 1..1. */ isEnd: boolean; /** Attribute 1..1. */ isOrdered: boolean; /** Attribute 1..1. */ isPortion: boolean; /** Attribute 1..1. */ isUnique: boolean; /** Attribute 1..1. */ isVariable: boolean; /** * Reference 0..1, derived. * Opposite: `CrossSubsetting/crossingFeature`. * Subsets: `Feature/ownedSubsetting`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedCrossSubsetting = * let crossSubsettings: Sequence(CrossSubsetting) = * ownedSubsetting->selectByKind(CrossSubsetting) in * if crossSubsettings->isEmpty() then null * else crossSubsettings->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedCrossSubsetting?: CrossSubsetting; /** * Reference 0..*, ordered, derived. * Opposite: `FeatureChaining/featureChained`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedFeatureChaining?: FeatureChaining[]; /** * Reference 0..*, derived. * Opposite: `FeatureInverting/owningFeature`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> * select(fi | fi.featureInverted = self) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedFeatureInverting?: FeatureInverting[]; /** * Reference 0..*, derived. * Subsets: `Feature/ownedSubsetting`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedRedefinition?: Redefinition[]; /** * Reference 0..1, derived. * Opposite: `ReferenceSubsetting/referencingFeature`. * Subsets: `Feature/ownedSubsetting`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedReferenceSubsetting = * let referenceSubsettings : OrderedSet(ReferenceSubsetting) = * ownedSubsetting->selectByKind(ReferenceSubsetting) in * if referenceSubsettings->isEmpty() then null * else referenceSubsettings->first() endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedReferenceSubsetting?: ReferenceSubsetting; /** * Reference 0..*, derived. * Opposite: `Subsetting/owningFeature`. * Subsets: `Type/ownedSpecialization`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedSubsetting?: Subsetting[]; /** * Reference 0..*, ordered, derived. * Opposite: `TypeFeaturing/owningFeatureOfType`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> * select(tf | tf.featureOfType = self) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedTypeFeaturing?: TypeFeaturing[]; /** * Reference 0..*, ordered, derived. * Opposite: `FeatureTyping/owningFeature`. * Subsets: `Type/ownedSpecialization`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedTyping?: FeatureTyping[]; /** * Reference 0..1, derived. * Opposite: `FeatureMembership/ownedMemberFeature`. * Subsets: `Element/owningMembership`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningFeatureMembership?: FeatureMembership; /** * Reference 0..1, derived. * Opposite: `Type/ownedFeature`. * Subsets: `Element/owningNamespace`, `Feature/featuringType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningType?: Type; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * type = * let types : OrderedSet(Types) = OrderedSet{self}-> * -- Note: The closure operation automatically handles circular relationships. * closure(typingFeatures()).typing.type->asOrderedSet() in * types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly type?: Type[]; } /** * `FeatureChainExpression`. * Generalizes: `OperatorExpression`. */ export interface FeatureChainExpression extends OperatorExpression { /** * Reference 1..1, derived. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * targetFeature = * let nonParameterMemberships : Sequence(Membership) = ownedMembership-> * reject(oclIsKindOf(ParameterMembership)) in * if nonParameterMemberships->isEmpty() or * not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) * then null * else nonParameterMemberships->first().memberElement.oclAsType(Feature) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly targetFeature?: Feature; } /** * `FeatureChaining`. * Generalizes: `Relationship`. */ export interface FeatureChaining extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/target`. */ chainingFeature: Feature; /** * Reference 1..1, derived. * Opposite: `Feature/ownedFeatureChaining`. * Subsets: `Relationship/owningRelatedElement`. * Redefines: `Relationship/source`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly featureChained?: Feature; } /** * `FeatureInverting`. * Generalizes: `Relationship`. */ export interface FeatureInverting extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/source`. */ featureInverted: Feature; /** * Reference 1..1. * Redefines: `Relationship/target`. */ invertingFeature: Feature; /** * Reference 0..1, derived. * Opposite: `Feature/ownedFeatureInverting`. * Subsets: `FeatureInverting/featureInverted`, `Relationship/owningRelatedElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningFeature?: Feature; } /** * `FeatureMembership`. * Generalizes: `OwningMembership`. */ export interface FeatureMembership extends OwningMembership { /** * Reference 1..1, derived. * Opposite: `Feature/owningFeatureMembership`. * Redefines: `OwningMembership/ownedMemberElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMemberFeature?: Feature; /** * Reference 1..1, derived. * Opposite: `Type/ownedFeatureMembership`. * Redefines: `Membership/membershipOwningNamespace`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningType?: Type; } /** * `FeatureReferenceExpression`. * Generalizes: `Expression`. */ export interface FeatureReferenceExpression extends Expression { /** * Reference 1..1, derived. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * referent = * let nonParameterMemberships : Sequence(Membership) = ownedMembership-> * reject(oclIsKindOf(ParameterMembership)) in * if nonParameterMemberships->isEmpty() or * not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) * then null * else nonParameterMemberships->first().memberElement.oclAsType(Feature) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly referent?: Feature; } /** * `FeatureTyping`. * Generalizes: `Specialization`. */ export interface FeatureTyping extends Specialization { /** * Reference 0..1, derived. * Opposite: `Feature/ownedTyping`. * Subsets: `FeatureTyping/typedFeature`. * Redefines: `Specialization/owningType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningFeature?: Feature; /** * Reference 1..1. * Redefines: `Specialization/general`. */ type: Type; /** * Reference 1..1. * Redefines: `Specialization/specific`. */ typedFeature: Feature; } /** * `FeatureValue`. * Generalizes: `OwningMembership`. */ export interface FeatureValue extends OwningMembership { /** * Reference 1..1, derived. * Subsets: `Membership/membershipOwningNamespace`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly featureWithValue?: Feature; /** Attribute 1..1. */ isDefault: boolean; /** Attribute 1..1. */ isInitial: boolean; /** * Reference 1..1, derived. * Redefines: `OwningMembership/ownedMemberElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly value?: Expression; } /** * `Flow`. * Generalizes: `Connector`, `Step`. */ export interface Flow extends Connector, Step { /** * Reference 0..2, ordered, derived. * Subsets: `Connector/connectorEnd`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * flowEnd = connectorEnd->selectByKind(FlowEnd) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly flowEnd?: FlowEnd[]; /** * Reference 0..*, ordered, derived. * Redefines: `Connector/association`, `Step/behavior`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly interaction?: Interaction[]; /** * Reference 0..1, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * payloadFeature = * let payloadFeatures : Sequence(PayloadFeature) = * ownedFeature->selectByKind(PayloadFeature) in * if payloadFeatures->isEmpty() then null * else payloadFeatures->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly payloadFeature?: PayloadFeature; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * payloadType = * if payloadFeature = null then Sequence{} * else payloadFeature.type * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly payloadType?: Classifier[]; /** * Reference 0..1, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * sourceOutputFeature = * if connectorEnd->isEmpty() or * connectorEnd.ownedFeature->isEmpty() * then null * else connectorEnd.ownedFeature->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly sourceOutputFeature?: Feature; /** * Reference 0..1, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * targetInputFeature = * if connectorEnd->size() < 2 or * connectorEnd->at(2).ownedFeature->isEmpty() * then null * else connectorEnd->at(2).ownedFeature->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly targetInputFeature?: Feature; } /** * `FlowDefinition`. * Generalizes: `ActionDefinition`, `Interaction`. */ export interface FlowDefinition extends ActionDefinition, Interaction { /** * Reference 0..*, derived. * Redefines: `Association/associationEnd`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly flowEnd?: Usage[]; } /** * `FlowEnd`. * Generalizes: `Feature`. */ export interface FlowEnd extends Feature { } /** * `FlowUsage`. * Generalizes: `ConnectorAsUsage`, `ActionUsage`, `Flow`. */ export interface FlowUsage extends ConnectorAsUsage, ActionUsage, Flow { /** * Reference 0..*, ordered, derived. * Redefines: `ActionUsage/actionDefinition`, `Flow/interaction`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly flowDefinition?: Interaction[]; } /** * `ForLoopActionUsage`. * Generalizes: `LoopActionUsage`. */ export interface ForLoopActionUsage extends LoopActionUsage { /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * loopVariable = * if ownedFeature->isEmpty() or * not ownedFeature->first().oclIsKindOf(ReferenceUsage) then * null * else * ownedFeature->first().oclAsType(ReferenceUsage) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly loopVariable?: ReferenceUsage; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * seqArgument = argument(1) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly seqArgument?: Expression; } /** * `ForkNode`. * Generalizes: `ControlNode`. */ export interface ForkNode extends ControlNode { } /** * `FramedConcernMembership`. * Generalizes: `RequirementConstraintMembership`. */ export interface FramedConcernMembership extends RequirementConstraintMembership { /** * Reference 1..1, derived. * Redefines: `RequirementConstraintMembership/ownedConstraint`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedConcern?: ConcernUsage; /** * Reference 1..1, derived. * Redefines: `RequirementConstraintMembership/referencedConstraint`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly referencedConcern?: ConcernUsage; } /** * `Function`. * Generalizes: `Behavior`. */ export interface Function extends Behavior { /** * Reference 0..*, derived. * Subsets: `Behavior/step`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly expression?: Expression[]; /** * Attribute 1..1, derived. * * No OCL clause and no derivation annotation: must be read out of the specification text. * Resolved by the hand-written resolution core, never by a generated body. */ readonly isModelLevelEvaluable?: boolean; /** * Reference 1..1, derived. * Subsets: `Type/output`, `Behavior/parameter`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * result = * let resultParams : Sequence(Feature) = * featureMemberships-> * selectByKind(ReturnParameterMembership). * ownedMemberParameter in * if resultParams->notEmpty() then resultParams->first() * else null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly result?: Feature; } /** * `IfActionUsage`. * Generalizes: `ActionUsage`. */ export interface IfActionUsage extends ActionUsage { /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * elseAction = * let parameter : Feature = inputParameter(3) in * if parameter <> null and parameter.oclIsKindOf(ActionUsage) then * parameter.oclAsType(ActionUsage) * else * null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly elseAction?: ActionUsage; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ifArgument = * let parameter : Feature = inputParameter(1) in * if parameter <> null and parameter.oclIsKindOf(Expression) then * parameter.oclAsType(Expression) * else * null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ifArgument?: Expression; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * thenAction = * let parameter : Feature = inputParameter(2) in * if parameter <> null and parameter.oclIsKindOf(ActionUsage) then * parameter.oclAsType(ActionUsage) * else * null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly thenAction?: ActionUsage; } /** * `Import` (abstract). * Generalizes: `Relationship`. */ export interface Import extends Relationship { /** * Reference 1..1, derived. * Opposite: `Namespace/ownedImport`. * Subsets: `Relationship/owningRelatedElement`. * Redefines: `Relationship/source`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly importOwningNamespace?: Namespace; /** * Reference 1..1, derived. * * No OCL clause and no derivation annotation: must be read out of the specification text. * Resolved by the hand-written resolution core, never by a generated body. */ readonly importedElement?: Element; /** Attribute 1..1. */ isImportAll: boolean; /** Attribute 1..1. */ isRecursive: boolean; /** Attribute 1..1. */ visibility: VisibilityKind; } /** * `IncludeUseCaseUsage`. * Generalizes: `UseCaseUsage`, `PerformActionUsage`. */ export interface IncludeUseCaseUsage extends UseCaseUsage, PerformActionUsage { /** * Reference 1..1, derived. * Redefines: `PerformActionUsage/performedAction`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly useCaseIncluded?: UseCaseUsage; } /** * `IndexExpression`. * Generalizes: `OperatorExpression`. */ export interface IndexExpression extends OperatorExpression { } /** * `InstantiationExpression` (abstract). * Generalizes: `Expression`. */ export interface InstantiationExpression extends Expression { /** * Reference 0..*, ordered, derived. * * No OCL clause and no derivation annotation: must be read out of the specification text. * Resolved by the hand-written resolution core, never by a generated body. */ readonly argument?: Expression[]; /** * Reference 1..1, derived. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * instantiatedType = instantiatedType() * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly instantiatedType?: Type; } /** * `Interaction`. * Generalizes: `Association`, `Behavior`. */ export interface Interaction extends Association, Behavior { } /** * `InterfaceDefinition`. * Generalizes: `ConnectionDefinition`. */ export interface InterfaceDefinition extends ConnectionDefinition { /** * Reference 0..*, ordered, derived. * Redefines: `ConnectionDefinition/connectionEnd`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly interfaceEnd?: PortUsage[]; } /** * `InterfaceUsage`. * Generalizes: `ConnectionUsage`. */ export interface InterfaceUsage extends ConnectionUsage { /** * Reference 0..*, derived. * Redefines: `ConnectionUsage/connectionDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly interfaceDefinition?: InterfaceDefinition[]; } /** * `Intersecting`. * Generalizes: `Relationship`. */ export interface Intersecting extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/target`. */ intersectingType: Type; /** * Reference 1..1, derived. * Opposite: `Type/ownedIntersecting`. * Subsets: `Relationship/owningRelatedElement`. * Redefines: `Relationship/source`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly typeIntersected?: Type; } /** * `Invariant`. * Generalizes: `BooleanExpression`. */ export interface Invariant extends BooleanExpression { /** Attribute 1..1. */ isNegated: boolean; } /** * `InvocationExpression`. * Generalizes: `InstantiationExpression`. */ export interface InvocationExpression extends InstantiationExpression { /** * Containment 0..*, ordered, derived. * * No OCL clause and no derivation annotation: must be read out of the specification text. * Resolved by the hand-written resolution core, never by a generated body. */ readonly operand?: Expression[]; } /** * `ItemDefinition`. * Generalizes: `OccurrenceDefinition`, `Structure`. */ export interface ItemDefinition extends OccurrenceDefinition, Structure { } /** * `ItemUsage`. * Generalizes: `OccurrenceUsage`. */ export interface ItemUsage extends OccurrenceUsage { /** * Reference 0..*, ordered, derived. * Subsets: `OccurrenceUsage/occurrenceDefinition`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * itemDefinition = occurrenceDefinition->selectByKind(Structure) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly itemDefinition?: Structure[]; } /** * `JoinNode`. * Generalizes: `ControlNode`. */ export interface JoinNode extends ControlNode { } /** * `LibraryPackage`. * Generalizes: `Package`. */ export interface LibraryPackage extends Package { /** Attribute 1..1. */ isStandard: boolean; } /** * `LiteralBoolean`. * Generalizes: `LiteralExpression`. */ export interface LiteralBoolean extends LiteralExpression { /** Attribute 1..1. */ value: boolean; } /** * `LiteralExpression`. * Generalizes: `Expression`. */ export interface LiteralExpression extends Expression { } /** * `LiteralInfinity`. * Generalizes: `LiteralExpression`. */ export interface LiteralInfinity extends LiteralExpression { } /** * `LiteralInteger`. * Generalizes: `LiteralExpression`. */ export interface LiteralInteger extends LiteralExpression { /** Attribute 1..1. */ value: number; } /** * `LiteralRational`. * Generalizes: `LiteralExpression`. */ export interface LiteralRational extends LiteralExpression { /** Attribute 1..1. */ value: number; } /** * `LiteralString`. * Generalizes: `LiteralExpression`. */ export interface LiteralString extends LiteralExpression { /** Attribute 1..1. */ value: string; } /** * `LoopActionUsage` (abstract). * Generalizes: `ActionUsage`. */ export interface LoopActionUsage extends ActionUsage { /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * bodyAction = * let parameter : Feature = inputParameter(2) in * if parameter <> null and parameter.oclIsKindOf(Action) then * parameter.oclAsType(Action) * else * null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly bodyAction?: ActionUsage; } /** * `Membership`. * Generalizes: `Relationship`. */ export interface Membership extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/target`. */ memberElement: Element; /** * Attribute 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * memberElementId = memberElement.elementId * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly memberElementId?: string; /** Attribute 0..1. */ memberName?: string; /** Attribute 0..1. */ memberShortName?: string; /** * Reference 1..1, derived. * Opposite: `Namespace/ownedMembership`. * Subsets: `Relationship/owningRelatedElement`. * Redefines: `Relationship/source`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly membershipOwningNamespace?: Namespace; /** Attribute 1..1. */ visibility: VisibilityKind; } /** * `MembershipExpose`. * Generalizes: `MembershipImport`, `Expose`. */ export interface MembershipExpose extends MembershipImport, Expose { } /** * `MembershipImport`. * Generalizes: `Import`. */ export interface MembershipImport extends Import { /** * Reference 1..1. * Redefines: `Relationship/target`. */ importedMembership: Membership; } /** * `MergeNode`. * Generalizes: `ControlNode`. */ export interface MergeNode extends ControlNode { } /** * `Metaclass`. * Generalizes: `Structure`. */ export interface Metaclass extends Structure { } /** * `MetadataAccessExpression`. * Generalizes: `Expression`. */ export interface MetadataAccessExpression extends Expression { /** * Reference 1..1, derived. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * referencedElement = * let elements : Sequence(Element) = ownedMembership-> * reject(oclIsKindOf(FeatureMembership)).memberElement in * if elements->isEmpty() then null * else elements->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly referencedElement?: Element; } /** * `MetadataDefinition`. * Generalizes: `ItemDefinition`, `Metaclass`. */ export interface MetadataDefinition extends ItemDefinition, Metaclass { } /** * `MetadataFeature`. * Generalizes: `Feature`, `AnnotatingElement`. */ export interface MetadataFeature extends Feature, AnnotatingElement { /** * Reference 0..1, derived. * Subsets: `Feature/type`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * metaclass = * let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in * if metaclassTypes->isEmpty() then null * else metaClassTypes->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly metaclass?: Metaclass; } /** * `MetadataUsage`. * Generalizes: `ItemUsage`, `MetadataFeature`. */ export interface MetadataUsage extends ItemUsage, MetadataFeature { /** * Reference 0..1, derived. * Redefines: `ItemUsage/itemDefinition`, `MetadataFeature/metaclass`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly metadataDefinition?: Metaclass; } /** * `Multiplicity`. * Generalizes: `Feature`. */ export interface Multiplicity extends Feature { } /** * `MultiplicityRange`. * Generalizes: `Multiplicity`. */ export interface MultiplicityRange extends Multiplicity { /** * Reference 1..2, ordered, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * bound = * if upperBound = null then Sequence{} * else if lowerBound = null then Sequence{upperBound} * else Sequence{lowerBound, upperBound} * endif endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly bound?: Expression[]; /** * Reference 0..1, derived. * Subsets: `MultiplicityRange/bound`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * lowerBound = * let ownedExpressions : Sequence(Expression) = * ownedMember->selectByKind(Expression) in * if ownedExpressions->size() < 2 then null * else ownedExpressions->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly lowerBound?: Expression; /** * Reference 1..1, derived. * Subsets: `MultiplicityRange/bound`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * upperBound = * let ownedExpressions : Sequence(Expression) = * ownedMember->selectByKind(Expression) in * if ownedExpressions->isEmpty() then null * else if ownedExpressions->size() = 1 then ownedExpressions->at(1) * else ownedExpressions->at(2) * endif endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly upperBound?: Expression; } /** * `Namespace`. * Generalizes: `Element`. */ export interface Namespace extends Element { /** * Reference 0..*, ordered, derived. * Subsets: `Namespace/membership`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * importedMembership = importedMemberships(Set{}) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly importedMembership?: Membership[]; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * member = membership.memberElement * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly member?: Element[]; /** * Reference 0..*, ordered, derived. * Derived union. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly membership?: Membership[]; /** * Reference 0..*, ordered, derived. * Opposite: `Import/importOwningNamespace`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedImport = ownedRelationship->selectByKind(Import) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedImport?: Import[]; /** * Reference 0..*, ordered, derived. * Opposite: `Element/owningNamespace`. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMember?: Element[]; /** * Reference 0..*, ordered, derived. * Opposite: `Membership/membershipOwningNamespace`. * Subsets: `Namespace/membership`, `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedMembership = ownedRelationship->selectByKind(Membership) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMembership?: Membership[]; } /** * `NamespaceExpose`. * Generalizes: `NamespaceImport`, `Expose`. */ export interface NamespaceExpose extends NamespaceImport, Expose { } /** * `NamespaceImport`. * Generalizes: `Import`. */ export interface NamespaceImport extends Import { /** * Reference 1..1. * Redefines: `Relationship/target`. */ importedNamespace: Namespace; } /** * `NullExpression`. * Generalizes: `Expression`. */ export interface NullExpression extends Expression { } /** * `ObjectiveMembership`. * Generalizes: `FeatureMembership`. */ export interface ObjectiveMembership extends FeatureMembership { /** * Reference 1..1, derived. * Redefines: `FeatureMembership/ownedMemberFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedObjectiveRequirement?: RequirementUsage; } /** * `OccurrenceDefinition`. * Generalizes: `Definition`, `Class`. */ export interface OccurrenceDefinition extends Definition, Class { /** Attribute 1..1. */ isIndividual: boolean; } /** * `OccurrenceUsage`. * Generalizes: `Usage`. */ export interface OccurrenceUsage extends Usage { /** * Reference 0..1, derived. * Subsets: `OccurrenceUsage/occurrenceDefinition`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * individualDefinition = * let individualDefinitions : OrderedSet(OccurrenceDefinition) = * occurrenceDefinition-> * selectByKind(OccurrenceDefinition)-> * select(isIndividual) in * if individualDefinitions->isEmpty() then null * else individualDefinitions->first() endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly individualDefinition?: OccurrenceDefinition; /** Attribute 1..1. */ isIndividual: boolean; /** * Reference 0..*, ordered, derived. * Redefines: `Usage/definition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly occurrenceDefinition?: Class[]; /** Attribute 0..1. */ portionKind?: PortionKind; } /** * `OperatorExpression`. * Generalizes: `InvocationExpression`. */ export interface OperatorExpression extends InvocationExpression { /** Attribute 1..1. */ operator: string; } /** * `OwningMembership`. * Generalizes: `Membership`. */ export interface OwningMembership extends Membership { /** * Reference 1..1, derived. * Opposite: `Element/owningMembership`. * Subsets: `Relationship/ownedRelatedElement`. * Redefines: `Membership/memberElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMemberElement?: Element; /** * Attribute 1..1, derived. * Redefines: `Membership/memberElementId`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMemberElementId?: string; /** * Attribute 0..1, derived. * Redefines: `Membership/memberName`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedMemberName = ownedMemberElement.name * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMemberName?: string; /** * Attribute 0..1, derived. * Redefines: `Membership/memberShortName`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedMemberShortName = ownedMemberElement.shortName * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMemberShortName?: string; } /** * `Package`. * Generalizes: `Namespace`. */ export interface Package extends Namespace { /** * Reference 0..*, ordered, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * filterCondition = ownedMembership-> * selectByKind(ElementFilterMembership).condition * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly filterCondition?: Expression[]; } /** * `ParameterMembership`. * Generalizes: `FeatureMembership`. */ export interface ParameterMembership extends FeatureMembership { /** * Reference 1..1, derived. * Redefines: `FeatureMembership/ownedMemberFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedMemberParameter?: Feature; } /** * `PartDefinition`. * Generalizes: `ItemDefinition`. */ export interface PartDefinition extends ItemDefinition { } /** * `PartUsage`. * Generalizes: `ItemUsage`. */ export interface PartUsage extends ItemUsage { /** * Reference 0..*, ordered, derived. * Subsets: `ItemUsage/itemDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly partDefinition?: PartDefinition[]; } /** * `PayloadFeature`. * Generalizes: `Feature`. */ export interface PayloadFeature extends Feature { } /** * `PerformActionUsage`. * Generalizes: `ActionUsage`, `EventOccurrenceUsage`. */ export interface PerformActionUsage extends ActionUsage, EventOccurrenceUsage { /** * Reference 1..1, derived. * Redefines: `EventOccurrenceUsage/eventOccurrence`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly performedAction?: ActionUsage; } /** * `PortConjugation`. * Generalizes: `Conjugation`. */ export interface PortConjugation extends Conjugation { /** * Reference 1..1, derived. * Opposite: `ConjugatedPortDefinition/ownedPortConjugator`. * Redefines: `Conjugation/owningType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly conjugatedPortDefinition?: ConjugatedPortDefinition; /** * Reference 1..1. * Redefines: `Conjugation/originalType`. */ originalPortDefinition: PortDefinition; } /** * `PortDefinition`. * Generalizes: `OccurrenceDefinition`, `Structure`. */ export interface PortDefinition extends OccurrenceDefinition, Structure { /** * Reference 0..1, derived. * Opposite: `ConjugatedPortDefinition/originalPortDefinition`. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * conjugatedPortDefinition = * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly conjugatedPortDefinition?: ConjugatedPortDefinition; } /** * `PortUsage`. * Generalizes: `OccurrenceUsage`. */ export interface PortUsage extends OccurrenceUsage { /** * Reference 0..*, ordered, derived. * Redefines: `OccurrenceUsage/occurrenceDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly portDefinition?: PortDefinition[]; } /** * `Predicate`. * Generalizes: `Function`. */ export interface Predicate extends Function { } /** * `Redefinition`. * Generalizes: `Subsetting`. */ export interface Redefinition extends Subsetting { /** * Reference 1..1. * Redefines: `Subsetting/subsettedFeature`. */ redefinedFeature: Feature; /** * Reference 1..1. * Redefines: `Subsetting/subsettingFeature`. */ redefiningFeature: Feature; } /** * `ReferenceSubsetting`. * Generalizes: `Subsetting`. */ export interface ReferenceSubsetting extends Subsetting { /** * Reference 1..1. * Redefines: `Subsetting/subsettedFeature`. */ referencedFeature: Feature; /** * Reference 1..1, derived. * Opposite: `Feature/ownedReferenceSubsetting`. * Redefines: `Subsetting/owningFeature`, `Subsetting/subsettingFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly referencingFeature?: Feature; } /** * `ReferenceUsage`. * Generalizes: `Usage`. */ export interface ReferenceUsage extends Usage { } /** * `Relationship` (abstract). * Generalizes: `Element`. */ export interface Relationship extends Element { /** Attribute 1..1. */ isImplied: boolean; /** * Containment 0..*, ordered. * Opposite: `Element/owningRelationship`. * Subsets: `Relationship/relatedElement`. */ ownedRelatedElement?: Element[]; /** * Reference 0..1. * Opposite: `Element/ownedRelationship`. * Subsets: `Relationship/relatedElement`. */ owningRelatedElement?: Element; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * relatedElement = source->union(target) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly relatedElement?: Element[]; /** * Reference 0..*, ordered. * Subsets: `Relationship/relatedElement`. */ source?: Element[]; /** * Reference 0..*, ordered. * Subsets: `Relationship/relatedElement`. */ target?: Element[]; } /** * `RenderingDefinition`. * Generalizes: `PartDefinition`. */ export interface RenderingDefinition extends PartDefinition { /** * Reference 0..*, ordered, derived. * Subsets: `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * rendering = usages->selectByKind(RenderingUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly rendering?: RenderingUsage[]; } /** * `RenderingUsage`. * Generalizes: `PartUsage`. */ export interface RenderingUsage extends PartUsage { /** * Reference 0..1, derived. * Redefines: `PartUsage/partDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly renderingDefinition?: RenderingDefinition; } /** * `RequirementConstraintMembership`. * Generalizes: `FeatureMembership`. */ export interface RequirementConstraintMembership extends FeatureMembership { /** Attribute 1..1. */ kind: RequirementConstraintKind; /** * Reference 1..1, derived. * Redefines: `FeatureMembership/ownedMemberFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedConstraint?: ConstraintUsage; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * referencedConstraint = * let referencedFeature : Feature = * ownedConstraint.referencedFeatureTarget() in * if referencedFeature = null then ownedConstraint * else if referencedFeature.oclIsKindOf(ConstraintUsage) then * refrencedFeature.oclAsType(ConstraintUsage) * else null * endif endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly referencedConstraint?: ConstraintUsage; } /** * `RequirementDefinition`. * Generalizes: `ConstraintDefinition`. */ export interface RequirementDefinition extends ConstraintDefinition { /** * Reference 0..*, ordered, derived. * Subsets: `Behavior/parameter`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * actorParameter = featureMembership-> * selectByKind(ActorMembership). * ownedActorParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly actorParameter?: PartUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * assumedConstraint = ownedFeatureMembership-> * selectByKind(RequirementConstraintMembership)-> * select(kind = RequirementConstraintKind::assumption). * ownedConstraint * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly assumedConstraint?: ConstraintUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `RequirementDefinition/requiredConstraint`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * framedConcern = featureMembership-> * selectByKind(FramedConcernMembership). * ownedConcern * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly framedConcern?: ConcernUsage[]; /** * Attribute 0..1. * Redefines: `Element/declaredShortName`. */ reqId?: string; /** * Reference 0..*, ordered, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * requiredConstraint = ownedFeatureMembership-> * selectByKind(RequirementConstraintMembership)-> * select(kind = RequirementConstraintKind::requirement). * ownedConstraint * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly requiredConstraint?: ConstraintUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Behavior/parameter`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * stakeholderParameter = featureMembership-> * selectByKind(StakholderMembership). * ownedStakeholderParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly stakeholderParameter?: PartUsage[]; /** * Reference 1..1, derived. * Subsets: `Behavior/parameter`, `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * subjectParameter = * let subjects : OrderedSet(SubjectMembership) = * featureMembership->selectByKind(SubjectMembership) in * if subjects->isEmpty() then null * else subjects->first().ownedSubjectParameter * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly subjectParameter?: Usage; /** * Attribute 0..*, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * text = documentation.body * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly text?: string[]; } /** * `RequirementUsage`. * Generalizes: `ConstraintUsage`. */ export interface RequirementUsage extends ConstraintUsage { /** * Reference 0..*, ordered, derived. * Subsets: `Step/parameter`, `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * actorParameter = featureMembership-> * selectByKind(ActorMembership). * ownedActorParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly actorParameter?: PartUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * assumedConstraint = ownedFeatureMembership-> * selectByKind(RequirementConstraintMembership)-> * select(kind = RequirementConstraintKind::assumption). * ownedConstraint * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly assumedConstraint?: ConstraintUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `RequirementUsage/requiredConstraint`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * framedConcern = featureMembership-> * selectByKind(FramedConcernMembership). * ownedConcern * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly framedConcern?: ConcernUsage[]; /** * Attribute 0..1. * Redefines: `Element/declaredShortName`. */ reqId?: string; /** * Reference 0..*, ordered, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * requiredConstraint = ownedFeatureMembership-> * selectByKind(RequirementConstraintMembership)-> * select(kind = RequirementConstraintKind::requirement). * ownedConstraint * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly requiredConstraint?: ConstraintUsage[]; /** * Reference 0..1, derived. * Redefines: `ConstraintUsage/constraintDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly requirementDefinition?: RequirementDefinition; /** * Reference 0..*, ordered, derived. * Subsets: `Step/parameter`, `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * stakeholderParameter = featureMembership-> * selectByKind(AStakholderMembership). * ownedStakeholderParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly stakeholderParameter?: PartUsage[]; /** * Reference 1..1, derived. * Subsets: `Step/parameter`, `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * subjectParameter = * let subjects : OrderedSet(SubjectMembership) = * featureMembership->selectByKind(SubjectMembership) in * if subjects->isEmpty() then null * else subjects->first().ownedSubjectParameter * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly subjectParameter?: Usage; /** * Attribute 0..*, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * text = documentation.body * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly text?: string[]; } /** * `RequirementVerificationMembership`. * Generalizes: `RequirementConstraintMembership`. */ export interface RequirementVerificationMembership extends RequirementConstraintMembership { /** * Reference 1..1, derived. * Redefines: `RequirementConstraintMembership/ownedConstraint`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedRequirement?: RequirementUsage; /** * Reference 1..1, derived. * Redefines: `RequirementConstraintMembership/referencedConstraint`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly verifiedRequirement?: RequirementUsage; } /** * `ResultExpressionMembership`. * Generalizes: `FeatureMembership`. */ export interface ResultExpressionMembership extends FeatureMembership { /** * Reference 1..1, derived. * Redefines: `FeatureMembership/ownedMemberFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedResultExpression?: Expression; } /** * `ReturnParameterMembership`. * Generalizes: `ParameterMembership`. */ export interface ReturnParameterMembership extends ParameterMembership { } /** * `SatisfyRequirementUsage`. * Generalizes: `RequirementUsage`, `AssertConstraintUsage`. */ export interface SatisfyRequirementUsage extends RequirementUsage, AssertConstraintUsage { /** * Reference 1..1, derived. * Redefines: `AssertConstraintUsage/assertedConstraint`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly satisfiedRequirement?: RequirementUsage; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * satisfyingFeature = * let bindings: BindingConnector = ownedMember-> * selectByKind(BindingConnector)-> * select(b | b.relatedElement->includes(subjectParameter)) in * if bindings->isEmpty() or * not bindings->first().relatedElement->exits(r | r <> subjectParameter) * then null * else bindings->first().relatedElement->any(r | r <> subjectParameter) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly satisfyingFeature?: Feature; } /** * `SelectExpression`. * Generalizes: `OperatorExpression`. */ export interface SelectExpression extends OperatorExpression { } /** * `SendActionUsage`. * Generalizes: `ActionUsage`. */ export interface SendActionUsage extends ActionUsage { /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * payloadArgument = argument(1) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly payloadArgument?: Expression; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * receiverArgument = argument(3) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly receiverArgument?: Expression; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * senderArgument = argument(2) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly senderArgument?: Expression; } /** * `Specialization`. * Generalizes: `Relationship`. */ export interface Specialization extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/target`. */ general: Type; /** * Reference 0..1, derived. * Opposite: `Type/ownedSpecialization`. * Subsets: `Relationship/owningRelatedElement`, `Specialization/specific`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningType?: Type; /** * Reference 1..1. * Redefines: `Relationship/source`. */ specific: Type; } /** * `StakeholderMembership`. * Generalizes: `ParameterMembership`. */ export interface StakeholderMembership extends ParameterMembership { /** * Reference 1..1, derived. * Redefines: `ParameterMembership/ownedMemberParameter`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedStakeholderParameter?: PartUsage; } /** * `StateDefinition`. * Generalizes: `ActionDefinition`. */ export interface StateDefinition extends ActionDefinition { /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * doAction = * let doMemberships : Sequence(StateSubactionMembership) = * ownedMembership-> * selectByKind(StateSubactionMembership)-> * select(kind = StateSubactionKind::do) in * if doMemberships->isEmpty() then null * else doMemberships->at(1) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly doAction?: ActionUsage; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * entryAction = * let entryMemberships : Sequence(StateSubactionMembership) = * ownedMembership-> * selectByKind(StateSubactionMembership)-> * select(kind = StateSubactionKind::entry) in * if entryMemberships->isEmpty() then null * else entryMemberships->at(1) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly entryAction?: ActionUsage; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * exitAction = * let exitMemberships : Sequence(StateSubactionMembership) = * ownedMembership-> * selectByKind(StateSubactionMembership)-> * select(kind = StateSubactionKind::exit) in * if exitMemberships->isEmpty() then null * else exitMemberships->at(1) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly exitAction?: ActionUsage; /** Attribute 1..1. */ isParallel: boolean; /** * Reference 0..*, ordered, derived. * Subsets: `ActionDefinition/action`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * state = action->selectByKind(StateUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly state?: StateUsage[]; } /** * `StateSubactionMembership`. * Generalizes: `FeatureMembership`. */ export interface StateSubactionMembership extends FeatureMembership { /** * Reference 1..1, derived. * Redefines: `FeatureMembership/ownedMemberFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly action?: ActionUsage; /** Attribute 1..1. */ kind: StateSubactionKind; } /** * `StateUsage`. * Generalizes: `ActionUsage`. */ export interface StateUsage extends ActionUsage { /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * doAction = * let doMemberships : Sequence(StateSubactionMembership) = * ownedMembership-> * selectByKind(StateSubactionMembership)-> * select(kind = StateSubactionKind::do) in * if doMemberships->isEmpty() then null * else doMemberships->at(1) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly doAction?: ActionUsage; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * entryAction = * let entryMemberships : Sequence(StateSubactionMembership) = * ownedMembership-> * selectByKind(StateSubactionMembership)-> * select(kind = StateSubactionKind::entry) in * if entryMemberships->isEmpty() then null * else entryMemberships->at(1) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly entryAction?: ActionUsage; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * exitAction = * let exitMemberships : Sequence(StateSubactionMembership) = * ownedMembership-> * selectByKind(StateSubactionMembership)-> * select(kind = StateSubactionKind::exit) in * if exitMemberships->isEmpty() then null * else exitMemberships->at(1) * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly exitAction?: ActionUsage; /** Attribute 1..1. */ isParallel: boolean; /** * Reference 0..*, ordered, derived. * Redefines: `ActionUsage/actionDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly stateDefinition?: Behavior[]; } /** * `Step`. * Generalizes: `Feature`. */ export interface Step extends Feature { /** * Reference 0..*, ordered, derived. * Subsets: `Feature/type`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * behavior = type->selectByKind(Behavior) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly behavior?: Behavior[]; /** * Reference 0..*, ordered, derived. * Redefines: `Type/directedFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly parameter?: Feature[]; } /** * `Structure`. * Generalizes: `Class`. */ export interface Structure extends Class { } /** * `Subclassification`. * Generalizes: `Specialization`. */ export interface Subclassification extends Specialization { /** * Reference 0..1, derived. * Opposite: `Classifier/ownedSubclassification`. * Redefines: `Specialization/owningType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningClassifier?: Classifier; /** * Reference 1..1. * Redefines: `Specialization/specific`. */ subclassifier: Classifier; /** * Reference 1..1. * Redefines: `Specialization/general`. */ superclassifier: Classifier; } /** * `SubjectMembership`. * Generalizes: `ParameterMembership`. */ export interface SubjectMembership extends ParameterMembership { /** * Reference 1..1, derived. * Redefines: `ParameterMembership/ownedMemberParameter`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedSubjectParameter?: Usage; } /** * `Subsetting`. * Generalizes: `Specialization`. */ export interface Subsetting extends Specialization { /** * Reference 0..1, derived. * Opposite: `Feature/ownedSubsetting`. * Subsets: `Subsetting/subsettingFeature`. * Redefines: `Specialization/owningType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningFeature?: Feature; /** * Reference 1..1. * Redefines: `Specialization/general`. */ subsettedFeature: Feature; /** * Reference 1..1. * Redefines: `Specialization/specific`. */ subsettingFeature: Feature; } /** * `Succession`. * Generalizes: `Connector`. */ export interface Succession extends Connector { } /** * `SuccessionAsUsage`. * Generalizes: `ConnectorAsUsage`, `Succession`. */ export interface SuccessionAsUsage extends ConnectorAsUsage, Succession { } /** * `SuccessionFlow`. * Generalizes: `Flow`, `Succession`. */ export interface SuccessionFlow extends Flow, Succession { } /** * `SuccessionFlowUsage`. * Generalizes: `FlowUsage`, `SuccessionFlow`. */ export interface SuccessionFlowUsage extends FlowUsage, SuccessionFlow { } /** * `TerminateActionUsage`. * Generalizes: `ActionUsage`. */ export interface TerminateActionUsage extends ActionUsage { /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * terminatedOccurrenceArgument = argument(1) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly terminatedOccurrenceArgument?: Expression; } /** * `TextualRepresentation`. * Generalizes: `AnnotatingElement`. */ export interface TextualRepresentation extends AnnotatingElement { /** Attribute 1..1. */ body: string; /** Attribute 1..1. */ language: string; /** * Reference 1..1, derived. * Opposite: `Element/textualRepresentation`. * Subsets: `Element/owner`. * Redefines: `AnnotatingElement/annotatedElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly representedElement?: Element; } /** * `TransitionFeatureMembership`. * Generalizes: `FeatureMembership`. */ export interface TransitionFeatureMembership extends FeatureMembership { /** Attribute 1..1. */ kind: TransitionFeatureKind; /** * Reference 1..1, derived. * Redefines: `FeatureMembership/ownedMemberFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly transitionFeature?: Step; } /** * `TransitionUsage`. * Generalizes: `ActionUsage`. */ export interface TransitionUsage extends ActionUsage { /** * Reference 0..*, derived. * Subsets: `Type/feature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly effectAction?: ActionUsage[]; /** * Reference 0..*, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * guardExpression = ownedFeatureMembership-> * selectByKind(TransitionFeatureMembership)-> * select(kind = TransitionFeatureKind::trigger).transitionFeature-> * selectByKind(Expression) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly guardExpression?: Expression[]; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * source = * let sourceFeature : Feature = sourceFeature() in * if sourceFeature = null then null * else sourceFeature.featureTarget.oclAsType(ActionUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly source?: ActionUsage; /** * Reference 1..1, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * succession = ownedMember->selectByKind(Succession)->at(1) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly succession?: Succession; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * target = * if succession.targetFeature->isEmpty() then null * else * let targetFeature : Feature = * succession.targetFeature->first().featureTarget in * if not targetFeature.oclIsKindOf(ActionUsage) then null * else targetFeature.oclAsType(ActionUsage) * endif * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly target?: ActionUsage; /** * Reference 0..*, derived. * Subsets: `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * triggerAction = ownedFeatureMembership-> * selectByKind(TransitionFeatureMembership)-> * select(kind = TransitionFeatureKind::trigger).transitionFeature-> * selectByKind(AcceptActionUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly triggerAction?: AcceptActionUsage[]; } /** * `TriggerInvocationExpression`. * Generalizes: `InvocationExpression`. */ export interface TriggerInvocationExpression extends InvocationExpression { /** Attribute 1..1. */ kind: TriggerKind; } /** * `Type`. * Generalizes: `Namespace`. */ export interface Type extends Namespace { /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * differencingType = ownedDifferencing.differencingType * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly differencingType?: Type[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/feature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * directedFeature = feature->select(f | directionOf(f) <> null) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly directedFeature?: Feature[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/feature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * endFeature = feature->select(isEnd) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly endFeature?: Feature[]; /** * Reference 0..*, ordered, derived. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * feature = featureMembership.ownedMemberFeature * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly feature?: Feature[]; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * featureMembership = ownedFeatureMembership->union( * inheritedMembership->selectByKind(FeatureMembership)) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly featureMembership?: FeatureMembership[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/feature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * inheritedFeature = inheritedMemberships-> * selectByKind(FeatureMembership).memberFeature * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly inheritedFeature?: Feature[]; /** * Reference 0..*, ordered, derived. * Subsets: `Namespace/membership`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * inheritedMembership = inheritedMemberships(Set{}, Set{}, false) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly inheritedMembership?: Membership[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/directedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * input = feature->select(f | * let direction: FeatureDirectionKind = directionOf(f) in * direction = FeatureDirectionKind::_'in' or * direction = FeatureDirectionKind::inout) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly input?: Feature[]; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * intersectingType = ownedIntersecting.intersectingType * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly intersectingType?: Type[]; /** Attribute 1..1. */ isAbstract: boolean; /** * Attribute 1..1, derived. * * No OCL clause and no derivation annotation: must be read out of the specification text. * Resolved by the hand-written resolution core, never by a generated body. */ readonly isConjugated?: boolean; /** Attribute 1..1. */ isSufficient: boolean; /** * Reference 0..1, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * multiplicity = * let ownedMultiplicities: Sequence(Multiplicity) = * ownedMember->selectByKind(Multiplicity) in * if ownedMultiplicities->isEmpty() then null * else ownedMultiplicities->first() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly multiplicity?: Multiplicity; /** * Reference 0..*, ordered, derived. * Subsets: `Type/directedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * output = feature->select(f | * let direction: FeatureDirectionKind = directionOf(f) in * direction = FeatureDirectionKind::out or * direction = FeatureDirectionKind::inout) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly output?: Feature[]; /** * Reference 0..1, derived. * Opposite: `Conjugation/owningType`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedConjugator = * let ownedConjugators: Sequence(Conjugator) = * ownedRelationship->selectByKind(Conjugation) in * if ownedConjugators->isEmpty() then null * else ownedConjugators->at(1) endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedConjugator?: Conjugation; /** * Reference 0..*, ordered, derived. * Opposite: `Differencing/typeDifferenced`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedDifferencing = * ownedRelationship->selectByKind(Differencing) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedDifferencing?: Differencing[]; /** * Reference 0..*, derived. * Opposite: `Disjoining/owningType`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedDisjoining = * ownedRelationship->selectByKind(Disjoining) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedDisjoining?: Disjoining[]; /** * Reference 0..*, ordered, derived. * Opposite: `Feature/endOwningType`. * Subsets: `Type/endFeature`, `Type/ownedFeature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedEndFeature = ownedFeature->select(isEnd) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedEndFeature?: Feature[]; /** * Reference 0..*, ordered, derived. * Opposite: `Feature/owningType`. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedFeature = ownedFeatureMembership.ownedMemberFeature * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedFeature?: Feature[]; /** * Reference 0..*, ordered, derived. * Opposite: `FeatureMembership/owningType`. * Subsets: `Namespace/ownedMembership`, `Type/featureMembership`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedFeatureMembership?: FeatureMembership[]; /** * Reference 0..*, ordered, derived. * Opposite: `Intersecting/typeIntersected`. * Subsets: `Element/ownedRelationship`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedIntersecting?: Intersecting[]; /** * Reference 0..*, ordered, derived. * Opposite: `Specialization/owningType`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> * select(s | s.special = self) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedSpecialization?: Specialization[]; /** * Reference 0..*, ordered, derived. * Opposite: `Unioning/typeUnioned`. * Subsets: `Element/ownedRelationship`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * ownedUnioning = * ownedRelationship->selectByKind(Unioning) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedUnioning?: Unioning[]; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * unioningType = ownedUnioning.unioningType * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly unioningType?: Type[]; } /** * `TypeFeaturing`. * Generalizes: `Relationship`. */ export interface TypeFeaturing extends Relationship { /** * Reference 1..1. * Redefines: `Relationship/source`. */ featureOfType: Feature; /** * Reference 1..1. * Redefines: `Relationship/target`. */ featuringType: Type; /** * Reference 0..1, derived. * Opposite: `Feature/ownedTypeFeaturing`. * Subsets: `Relationship/owningRelatedElement`, `TypeFeaturing/featureOfType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningFeatureOfType?: Feature; } /** * `Unioning`. * Generalizes: `Relationship`. */ export interface Unioning extends Relationship { /** * Reference 1..1, derived. * Opposite: `Type/ownedUnioning`. * Subsets: `Relationship/owningRelatedElement`. * Redefines: `Relationship/source`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly typeUnioned?: Type; /** * Reference 1..1. * Redefines: `Relationship/target`. */ unioningType: Type; } /** * `Usage`. * Generalizes: `Feature`. */ export interface Usage extends Feature { /** * Reference 0..*, ordered, derived. * Redefines: `Feature/type`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly definition?: Classifier[]; /** * Reference 0..*, ordered, derived. * Subsets: `Type/directedFeature`, `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * directedUsage = directedFeature->selectByKind(Usage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly directedUsage?: Usage[]; /** * Attribute 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * isReference = not isComposite * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly isReference?: boolean; /** Attribute 1..1. */ isVariation: boolean; /** * Attribute 1..1, derived. * Redefines: `Feature/isVariable`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * mayTimeVary = * owningType <> null and * owningType.specializesFromLibrary('Occurrences::Occurrence') and * not ( * isPortion or * specializesFromLibrary('Links::SelfLink') or * specializesFromLibrary('Occurrences::HappensLink') or * isComposite and specializesFromLibrary('Actions::Action') * ) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly mayTimeVary?: boolean; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedOccurrence`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedAction = nestedUsage->selectByKind(ActionUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedAction?: ActionUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedConnection`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedAllocation = nestedUsage->selectByKind(AllocationUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedAllocation?: AllocationUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedCase`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedAnalysisCase?: AnalysisCaseUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedAttribute = nestedUsage->selectByKind(AttributeUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedAttribute?: AttributeUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedAction`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedCalculation = nestedUsage->selectByKind(CalculationUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedCalculation?: CalculationUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedCalculation`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedCase = nestedUsage->selectByKind(CaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedCase?: CaseUsage[]; /** * Reference 0..*, derived. * Subsets: `Usage/nestedRequirement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedConcern = nestedUsage->selectByKind(ConcernUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedConcern?: ConcernUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedConnection?: ConnectorAsUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedOccurrence`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedConstraint?: ConstraintUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedAttribute`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedEnumeration?: EnumerationUsage[]; /** * Reference 0..*, derived. * Subsets: `Usage/nestedConnection`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedFlow = nestedUsage->selectByKind(FlowUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedFlow?: FlowUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedConnection`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedInterface = nestedUsage->selectByKind(ReferenceUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedInterface?: InterfaceUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedOccurrence`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedItem = nestedUsage->selectByKind(ItemUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedItem?: ItemUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedItem`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedMetadata = nestedUsage->selectByKind(MetadataUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedMetadata?: MetadataUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedOccurrence?: OccurrenceUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedItem`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedPart = nestedUsage->selectByKind(PartUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedPart?: PartUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedPort = nestedUsage->selectByKind(PortUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedPort?: PortUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedReference = nestedUsage->selectByKind(ReferenceUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedReference?: ReferenceUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedPart`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedRendering = nestedUsage->selectByKind(RenderingUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedRendering?: RenderingUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedConstraint`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedRequirement = nestedUsage->selectByKind(RequirementUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedRequirement?: RequirementUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedAction`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedState = nestedUsage->selectByKind(StateUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedState?: StateUsage[]; /** * Reference 0..*, derived. * Subsets: `Usage/nestedUsage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedTransition = nestedUsage->selectByKind(TransitionUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedTransition?: TransitionUsage[]; /** * Reference 0..*, ordered, derived. * Opposite: `Usage/owningUsage`. * Subsets: `Type/ownedFeature`, `Usage/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedUsage = ownedFeature->selectByKind(Usage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedUsage?: Usage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedCase`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedUseCase?: UseCaseUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedCase`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedVerificationCase?: VerificationCaseUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedPart`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedView = nestedUsage->selectByKind(ViewUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedView?: ViewUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedRequirement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly nestedViewpoint?: ViewpointUsage[]; /** * Reference 0..1, derived. * Opposite: `Definition/ownedUsage`. * Subsets: `Feature/owningType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningDefinition?: Definition; /** * Reference 0..1, derived. * Opposite: `Usage/nestedUsage`. * Subsets: `Feature/owningType`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly owningUsage?: Usage; /** * Reference 0..*, ordered, derived. * Subsets: `Type/feature`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * usage = feature->selectByKind(Usage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly usage?: Usage[]; /** * Reference 0..*, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * variant = variantMembership.ownedVariantUsage * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly variant?: Usage[]; /** * Reference 0..*, derived. * Subsets: `Namespace/ownedMembership`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * variantMembership = ownedMembership->selectByKind(VariantMembership) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly variantMembership?: VariantMembership[]; } /** * `UseCaseDefinition`. * Generalizes: `CaseDefinition`. */ export interface UseCaseDefinition extends CaseDefinition { /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * includedUseCase = ownedUseCase-> * selectByKind(IncludeUseCaseUsage). * useCaseIncluded * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly includedUseCase?: UseCaseUsage[]; } /** * `UseCaseUsage`. * Generalizes: `CaseUsage`. */ export interface UseCaseUsage extends CaseUsage { /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * includedUseCase = ownedUseCase-> * selectByKind(IncludeUseCaseUsage). * useCaseIncluded * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly includedUseCase?: UseCaseUsage[]; /** * Reference 0..1, derived. * Redefines: `CaseUsage/caseDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly useCaseDefinition?: UseCaseDefinition; } /** * `VariantMembership`. * Generalizes: `OwningMembership`. */ export interface VariantMembership extends OwningMembership { /** * Reference 1..1, derived. * Redefines: `OwningMembership/ownedMemberElement`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedVariantUsage?: Usage; } /** * `VerificationCaseDefinition`. * Generalizes: `CaseDefinition`. */ export interface VerificationCaseDefinition extends CaseDefinition { /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * verifiedRequirement = * if objectiveRequirement = null then OrderedSet{} * else * objectiveRequirement.featureMembership-> * selectByKind(RequirementVerificationMembership). * verifiedRequirement->asOrderedSet() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly verifiedRequirement?: RequirementUsage[]; } /** * `VerificationCaseUsage`. * Generalizes: `CaseUsage`. */ export interface VerificationCaseUsage extends CaseUsage { /** * Reference 0..1, derived. * Subsets: `CaseUsage/caseDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly verificationCaseDefinition?: VerificationCaseDefinition; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * verifiedRequirement = * if objectiveRequirement = null then OrderedSet{} * else * objectiveRequirement.featureMembership-> * selectByKind(RequirementVerificationMembership). * verifiedRequirement->asOrderedSet() * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly verifiedRequirement?: RequirementUsage[]; } /** * `ViewDefinition`. * Generalizes: `PartDefinition`. */ export interface ViewDefinition extends PartDefinition { /** * Reference 0..*, ordered, derived. * Subsets: `Definition/ownedRequirement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * satisfiedViewpoint = ownedRequirement-> * selectByKind(ViewpointUsage)-> * select(isComposite) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly satisfiedViewpoint?: ViewpointUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Definition/usage`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * view = usage->selectByKind(ViewUsage) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly view?: ViewUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * viewCondition = ownedMembership-> * selectByKind(ElementFilterMembership). * condition * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewCondition?: Expression[]; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * viewRendering = * let renderings: OrderedSet(ViewRenderingMembership) = * featureMembership->selectByKind(ViewRenderingMembership) in * if renderings->isEmpty() then null * else renderings->first().referencedRendering * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewRendering?: RenderingUsage; } /** * `ViewRenderingMembership`. * Generalizes: `FeatureMembership`. */ export interface ViewRenderingMembership extends FeatureMembership { /** * Reference 1..1, derived. * Redefines: `FeatureMembership/ownedMemberFeature`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly ownedRendering?: RenderingUsage; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * referencedRendering = * let referencedFeature : Feature = * ownedRendering.referencedFeatureTarget() in * if referencedFeature = null then ownedRendering * else if referencedFeature.oclIsKindOf(RenderingUsage) then * refrencedFeature.oclAsType(RenderingUsage) * else null * endif endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly referencedRendering?: RenderingUsage; } /** * `ViewUsage`. * Generalizes: `PartUsage`. */ export interface ViewUsage extends PartUsage { /** * Reference 0..*, ordered, derived. * Subsets: `Namespace/member`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * exposedElement = ownedImport->selectByKind(Expose). * importedMemberships(Set{}).memberElement-> * select(elm | includeAsExposed(elm))-> * asOrderedSet() * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly exposedElement?: Element[]; /** * Reference 0..*, ordered, derived. * Subsets: `Usage/nestedRequirement`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * satisfiedViewpoint = ownedRequirement-> * selectByKind(ViewpointUsage)-> * select(isComposite) * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly satisfiedViewpoint?: ViewpointUsage[]; /** * Reference 0..*, ordered, derived. * Subsets: `Namespace/ownedMember`. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * viewCondition = ownedMembership-> * selectByKind(ElementFilterMembership). * condition * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewCondition?: Expression[]; /** * Reference 0..1, derived. * Redefines: `PartUsage/partDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewDefinition?: ViewDefinition; /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * viewRendering = * let renderings: OrderedSet(ViewRenderingMembership) = * featureMembership->selectByKind(ViewRenderingMembership) in * if renderings->isEmpty() then null * else renderings->first().referencedRendering * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewRendering?: RenderingUsage; } /** * `ViewpointDefinition`. * Generalizes: `RequirementDefinition`. */ export interface ViewpointDefinition extends RequirementDefinition { /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * viewpointStakeholder = framedConcern.featureMemberhsip-> * selectByKind(StakeholderMembership). * ownedStakeholderParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewpointStakeholder?: PartUsage[]; } /** * `ViewpointUsage`. * Generalizes: `RequirementUsage`. */ export interface ViewpointUsage extends RequirementUsage { /** * Reference 0..1, derived. * Redefines: `RequirementUsage/requirementDefinition`. * * No OCL clause in the metamodel; derivable as a filtered view of the feature(s) above. * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewpointDefinition?: ViewpointDefinition; /** * Reference 0..*, ordered, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * viewpointStakeholder = framedConcern.featureMemberhsip-> * selectByKind(StakeholderMembership). * ownedStakeholderParameter * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly viewpointStakeholder?: PartUsage[]; } /** * `WhileLoopActionUsage`. * Generalizes: `LoopActionUsage`. */ export interface WhileLoopActionUsage extends LoopActionUsage { /** * Reference 0..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * untilArgument = * let parameter : Feature = inputParameter(3) in * if parameter <> null and parameter.oclIsKindOf(Expression) then * parameter.oclAsType(Expression) * else * null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly untilArgument?: Expression; /** * Reference 1..1, derived. * * Specification OCL, verbatim from SysML.ecore: * ```ocl * whileArgument = * let parameter : Feature = inputParameter(1) in * if parameter <> null and parameter.oclIsKindOf(Expression) then * parameter.oclAsType(Expression) * else * null * endif * ``` * Resolved by the hand-written resolution core, never by a generated body. */ readonly whileArgument?: Expression; } /** Whether a feature holds a value, or points at another element. */ export type FeatureKind = 'attribute' | 'reference'; export interface FeatureDescriptor { /** Name as emitted on the interface. */ name: string; /** Name in SysML.ecore; differs from `name` only where it is reserved. */ ecoreName: string; kind: FeatureKind; /** Metaclass, enum or Ecore primitive name of the value. */ type: string; lowerBound: number; /** `-1` for unbounded. */ upperBound: number; many: boolean; ordered: boolean; /** True where the value is owned rather than referenced. */ containment: boolean; derived: boolean; volatile: boolean; /** `Metaclass/feature` of the navigable inverse, for the 70 real pairs. */ opposite?: string; /** `Metaclass/feature` references from the `subsets` annotation. */ subsets?: string[]; /** `Metaclass/feature` references from the `redefines` annotation. */ redefines?: string[]; /** Set on the single derived union, `Namespace::membership`. */ union?: true; /** * Set where the metamodel states an OCL derivation for this feature. * * The clause itself is in `generated/sysml-derivations.ts` — it is B3's * input, it is large, and no consumer of the structural metamodel needs it. */ hasDerivation?: true; } export interface OperationParameterDescriptor { name: string; type: string; many: boolean; } export interface OperationDescriptor { name: string; type: string; lowerBound: number; upperBound: number; parameters: OperationParameterDescriptor[]; /** Set where the metamodel states an OCL body; absent for the seven without. */ hasBody?: true; } export interface MetaclassDescriptor { name: string; abstract: boolean; superTypes: string[]; features: Record; operations: OperationDescriptor[]; } export declare const SYSML_METACLASSES: Record; /** Every metaclass name, in metamodel order. */ export declare const SYSML_METACLASS_NAMES: readonly string[]; /** * Declared features of one metaclass, excluding inherited ones. * * Kept as a function rather than a second table so there is exactly one place * the generated shape is read from. */ export declare function declaredFeatures(metaclass: string): FeatureDescriptor[]; /** Declared and inherited features, nearest declaration winning on name. */ export declare function allFeatures(metaclass: string): FeatureDescriptor[]; /** Transitive supertypes of `metaclass`, nearest first, excluding itself. */ export declare function allSuperTypes(metaclass: string): string[]; /** Whether `metaclass` is, or specializes, `superType`. */ export declare function conformsTo(metaclass: string, superType: string): boolean; /** Counts asserted by the emitter against Session 0's measurement. */ export declare const SYSML_METAMODEL_COUNTS: { readonly metaclasses: 175; readonly enums: 7; readonly features: 415; readonly derived: 328; readonly opposites: 70; readonly operations: 70; readonly subsets: 190; readonly redefines: 119; readonly union: 1; readonly derivations: 225; }; //# sourceMappingURL=sysml-metamodel.d.ts.map