Use the SysML v1 to SysML v2 Migration plugin to enable model transformation features, allowing you to transform SysML v1 models to SysML v2. The migration of SysML v1 models to SysML v2 is done by exporting a SysML v1 project to a local SysML v2 project with the file name '<project_name>_migrated'.

Prerequisite

The SysML v1 to v2 Migration plugin, which is available in the Resource Manager via the <tool_installation_directory>\data\resourcemanager\distribution\core.rdzip file, must be installed in the modeling tool. 

Migrating SysML v1 to v2

To export a SysML v1 project to a local SysML v2 project file


  • In the main menu, click File > Export To > SysML v2 Model. Specify the project name and location in the Save window and click Save. The exported project is opened in the modeling tool. 

    Migration status

    If failures occur during the migration, a migration status file MigrationReportOf<projectName>.xlsx is generated. The link to the file is displayed in the Notification window. The file contains two sheets: 'Not Migrated Elements' and 'Not Migrated Element Properties', listing failed element and property migrations, respectively.

SysML v1 to v2 element migration map

SysML v1 to v2 element migration - a work in progress

  • Currently, only partial SysML v1 element migration is supported by the modeling tool, as SysML v1 to v2 element migration is a work in progress, covering over 80% of the SysML v1 to SysML v2 Transformation specification.
  • Diagram migration currently supports only symbolic diagram to view usage migration. Tables, maps, matrices, etc., will be supported in future releases.

See the table below for elements covered by the migration. 

SysML v1 inputResult in the SysML v2 model
Block 
Part Definition
PackagePackage
CommentComment
GeneralizationSubclassification
Interface BlockInterface Definition
Proxy Port Port Usage
PortPort Usage
~Interface Block Conjugated Port Definition
SignalItem Definition
Flow Property Item Usage
Part Property Part Usage
Value Property Attribute Usage
Constraint Property 

Assert Constraint Usage / Calculation Usage

  • Assert Constraint Usage if the type in the target model is a Constraint Definition.
  • Calculation Usage if the type in the target model is a Calculation Definition.
Reference Property Attribute Usage
Value Type Attribute Definition
ConnectorConnection Usage / Interface Usage
Connector EndReference Usage (IsEnd=true)
RequirementRequirement Usage
EnumerationEnumeration Definition
Enumeration LiteralEnumeration Usage
DependencyDependency
Use caseUse Case Definition
IncludeInclude Use Case Usage
ExtendNo alternative match
ExtensionPointNo alternative match
ActorPart Usage owned via Actor Membership
ActivityAction Definition
Call Behavior Action    Action Usage
Structured Activity NodeAction Usage
Activity Nodeabstract
Input PinReference Usage (Direction=in)
Output PinReference Usage (Direction=out)
Action Input PinReference Usage (Direction=in)
Pinabstract 
Value PinReference Usage (Direction=in)
Fork NodeFork Node
Join NodeJoin Node
Merge NodeMerge Node
Decision NodeDecision Node
ParameterReference Usage 
Behaviorabstract
Object Flow

Succession Flow Usage / Flow Usage

If the object flow end is an activity parameter node, it is migrated to a binding connector.

Object Nodeabstract
Control FlowSuccession Usage / Transition Usage
Activity Edgeabstract
TransitionTransition Usage 
StateState Usage 
State MachineState Definition
RegionState Usage
TriggerPayload of Accept Action Usage
Central Buffer Node Action Usage
Activity Parameter Node No alternative match
Opaque ExpressionCalculation Usage
Send Signal ActionSend Action Usage
Accept Event ActionAccept Action Usage

Item/Information Flow

Flow Usage / Flow Definition

Binding Connector 

Binding Connector As Usage

Association 

Connection Definition / Interface Definition

Class

Occurrence Definition

Satisfy

Satisfy Requirement Usage

Derive

Connector + Metadata

Verify

Requirement Verification Membership

Property

Reference Usage

If the property:

  • Has no type: Reference usage
  • Typed by data type: Attribute usage
  • Typed by signal: Item usage 
  • Typed by class: Occurrence usage
  • Typed by activity: Action usage 
  • Typed by a state machine: State usage 
  • Typed by use case: Use case usage 
  • Typed by interface: Port usage

If the property is typed by an element that is not in the list, the property is migrated to a reference usage.

Refine

Dependency + Refinement Metadata

If refine is between a constraint and a requirement, it is migrated to a require constraint.

Initial Node

Start Node

Activity Final Node

Terminate Action Usage

Pseudo State (kind=initial)

Start Node

Activity Partition

Perform Action

Constraint Parameter

Attribute Usage with direction 'in'

Constraint

Textual Representation

Specification

Language and Body

Constraint Block

ConstraintDefinition / Calculation Definition

  • Calculation Definition if the constraint block does not have an outgoing refine relationship to a requirement.
  • Constraint Definition if the constraint block has an outgoing refine relation to a requirement.

Trace

Dependency

Note

Note

Allocate

Allocation Definition / Allocation Usage / Dependency

  • Allocation Definition if both ends are migrated to "KerML::Classifier".
  • Allocation Usage if both ends in the target model are "KerML::Feature".
  • If both ends are not KerML::Type or they do not match by metatype (e.g., feature and classifier), it creates a Dependency.

TimeExpression

Payload feature value

TimeEvent

Trigger Invocation Expression (kind=at)

If 'isRelative = true' then it is migrated to 'kind=after'.

ChangeEvent

Trigger Invocation Expression (kind=when)

Variable

Reference Usage

If the variable:

  • Has no type: Reference usage
  • Typed by data type: Attribute usage
  • Typed by signal: Item usage 
  • Typed by class: Occurrence usage
  • Typed by activity: Action usage 
  • Typed by a state machine: State usage 
  • Typed by use case: Use case usage 
  • Typed by interface: Port usage

If the variable is typed by an element that is not in the list, it is migrated to a reference usage.

Connection Point Reference

State Usage

PseudoState 'kind=entry'

State Usage

PseudoState 'kind=exit'

State Usage

Usage

Dependency

Realization

Dependency

Substitution

Dependency

Opaque Action

Action Usage

Element

Abstract

Profile

Model Library

Metaclass

Annotated Element

Opaque Behavior

Action Definition

Final State

Done state