Metamodel (Abstract Syntax)

SysIDE Automator’s Python API for accessing SysML abstract syntax directly matches the specification. The tables below list all element kinds defined in KerML and SysML v2 specifications. Each element kind is represented using a Python class, whose documentation can be accessed by clicking on the element kind’s name.

KerML

KerML defines the following elements:

SysML

SysML defines the following elements:

Element Kind

Specification Page

CrossSubsetting

0

IndexExpression

0

ReferenceUsage

302

Usage

303

VariantMembership

311

Definition

61

AttributeUsage

312

EnumerationUsage

315

EnumerationDefinition

314

AttributeDefinition

312

OccurrenceUsage

318

OccurrenceDefinition

317

LifeClass

0

PortionKind

320

ItemUsage

321

PartUsage

323

PartDefinition

323

ItemDefinition

321

PortUsage

329

PortDefinition

328

ConjugatedPortDefinition

325

PortConjugation

327

ConnectorAsUsage

333

FlowConnectionUsage

339

ActionUsage

346

InterfaceUsage

335

ConnectionUsage

332

InterfaceDefinition

334

ConnectionDefinition

208

AllocationUsage

337

AllocationDefinition

336

StateUsage

370

TransitionUsage

375

AcceptActionUsage

343

CalculationUsage

380

ConstraintUsage

383

RequirementUsage

393

RequirementDefinition

164

ConstraintDefinition

382

ConcernUsage

388

ConcernDefinition

387

CaseUsage

402

CaseDefinition

400

CalculationDefinition

379

ActionDefinition

345

AnalysisCaseUsage

406

AnalysisCaseDefinition

405

VerificationCaseUsage

410

VerificationCaseDefinition

409

UseCaseUsage

414

UseCaseDefinition

413

ViewUsage

425

ViewDefinition

421

ViewpointUsage

423

ViewpointDefinition

422

RenderingUsage

420

RenderingDefinition

419

MetadataUsage

428

ExhibitStateUsage

366

PerformActionUsage

358

EventOccurrenceUsage

316

StateSubactionKind

367

StateSubactionMembership

368

StateDefinition

368

TransitionFeatureKind

373

TransitionFeatureMembership

373

ForLoopActionUsage

353

LoopActionUsage

357

MergeNode

357

ControlNode

350

TerminateActionUsage

360

SendActionUsage

359

JoinNode

356

TriggerKind

363

IfActionUsage

354

AssignmentActionUsage

348

ForkNode

352

TriggerInvocationExpression

361

WhileLoopActionUsage

363

DecisionNode

351

AssertConstraintUsage

381

ActorMembership

387

FramedConcernMembership

389

RequirementConstraintMembership

390

RequirementConstraintKind

389

StakeholderMembership

399

SatisfyRequirementUsage

397

SubjectMembership

398

SuccessionAsUsage

333

BindingConnectorAsUsage

331

RequirementVerificationMembership

408

ConjugatedPortTyping

326

FlowConnectionDefinition

338

SuccessionFlowConnectionUsage

340

MembershipExpose

418

Expose

417

ViewRenderingMembership

424

NamespaceExpose

419

ObjectiveMembership

404

IncludeUseCaseUsage

412

MetadataDefinition

427

Enumerations

ExplicitOperator

FeatureDirectionKind

FeatureDirectionKind enumerates the possible kinds of direction that a Feature may be given as a member of a Type.

Operator

PortionKind

PortionKind is an enumeration of the specific kinds of Occurrence portions that can be represented by an OccurrenceUsage.

RequirementConstraintKind

A RequirementConstraintKind indicates whether a ConstraintUsage is an assumption or a requirement in a RequirementDefinition or RequirementUsage.

StateSubactionKind

A StateSubactionKind indicates whether the action of a StateSubactionMembership is an entry, do or exit action.

TransitionFeatureKind

A TransitionActionKind indicates whether the transition_feature of a TransitionFeatureMembership is a trigger, guard or effect.

TriggerKind

TriggerKind enumerates the kinds of triggers that can be represented by a TriggerInvocationExpression.

VisibilityKind

VisibilityKind is an enumeration whose literals specify the visibility of a Membership of an Element in a Namespace outside of that Namespace. Note that “visibility” specifically restricts whether an Element in a Namespace may be referenced by name from outside the Namespace and only otherwise restricts access to an Element as provided by specific constraints in the abstract syntax (e.g., preventing the import or inheritance of private Elements).

NameID