Performing SysML v1 to v2 model transformation
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 input | Result in the SysML v2 model |
|---|---|
| Block | Part Definition |
| Package | Package |
| Comment | Comment |
| Generalization | Subclassification |
| Interface Block | Interface Definition |
| Proxy Port | Port Usage |
| Port | Port Usage |
| ~Interface Block | Conjugated Port Definition |
| Signal | Item Definition |
| Flow Property | Item Usage |
| Part Property | Part Usage |
| Value Property | Attribute Usage |
| Constraint Property | Assert Constraint Usage / Calculation Usage
|
| Reference Property | Attribute Usage |
| Value Type | Attribute Definition |
| Connector | Connection Usage / Interface Usage |
| Connector End | Reference Usage (IsEnd=true) |
| Requirement | Requirement Usage |
| Enumeration | Enumeration Definition |
| Enumeration Literal | Enumeration Usage |
| Dependency | Dependency |
| Use case | Use Case Definition |
| Include | Include Use Case Usage |
| Extend | No alternative match |
| ExtensionPoint | No alternative match |
| Actor | Part Usage owned via Actor Membership |
| Activity | Action Definition |
| Call Behavior Action | Action Usage |
| Structured Activity Node | Action Usage |
| Activity Node | abstract |
| Input Pin | Reference Usage (Direction=in) |
| Output Pin | Reference Usage (Direction=out) |
| Action Input Pin | Reference Usage (Direction=in) |
| Pin | abstract |
| Value Pin | Reference Usage (Direction=in) |
| Fork Node | Fork Node |
| Join Node | Join Node |
| Merge Node | Merge Node |
| Decision Node | Decision Node |
| Parameter | Reference Usage |
| Behavior | abstract |
| 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 Node | abstract |
| Control Flow | Succession Usage / Transition Usage |
| Activity Edge | abstract |
| Transition | Transition Usage |
| State | State Usage |
| State Machine | State Definition |
| Region | State Usage |
| Trigger | Payload of Accept Action Usage |
| Central Buffer Node | Action Usage |
| Activity Parameter Node | No alternative match |
| Opaque Expression | Calculation Usage |
| Send Signal Action | Send Action Usage |
| Accept Event Action | Accept 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:
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
|
Trace | Dependency |
Note | Note |
Allocate | Allocation Definition / Allocation Usage / 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:
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 |