Skip to content

dkrgn/master-thesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SysML v1.6 to v2.0 Transformation Pipeline

This project implements a model-driven transformation pipeline to migrate SysML v1.6 Block Definition Diagrams (BDDs) into equivalent SysML v2.0 textual models. The pipeline is built using Eclipse-based technologies and adheres to the Model-Driven Transformation Development (MDTD) methodology.

The transformation process includes:

  • Model-to-Model (MTM) transformation using QVT Operational (QVTo)
  • Model-to-Text (MTT) transformation using Acceleo
  • Metamodel definitions for both source (SysML v1.6) and target (SysML v2.0) representations

✅ This project was developed as part of a Master's Thesis on model-based language migration for Digital Twins.


🔧 Setup Instructions

  1. Clone the repository

    git clone https://github.com/dkrgn/master-thesis.git
    cd master-thesis
  2. Install Eclipse and dependencies

    During the development, 2024-03 version was used for QVTo. However, perhaps, due to the version clashes, we could not install Acceleo for this particular version. Thus, we decided to downgrade Eclipse to 2023-06, which helped to resolve the problem with Acceleo. We recommend to use 2023-06 Eclipse version both for QVTo and Acceleo.

    • Install the following plugins:
      • QVTo (Query/View/Transformation Operational)
      • Acceleo (Model-to-Text generator)
      • EMF SDK (if not included)
    • Install Papyrus to configure SysML v1.6 models and respective .uml files
  3. Import the projects into Eclipse

    • Go to File > Import > Existing Projects into Workspace
    • Select the master-thesis folder and import all contained projects

▶️ Usage Guide

  1. Open a sample SysML v1.6 model

    • Located under v1.6tov2.0/models/ or create one using Papyrus with SysML 1.6 profile
  2. Run the QVTo transformation

    • Right-click the .qvto file (e.g., v1tov2.qvto)
    • Select Run As > Run Configurations > QVT Operational Transformation
    • Create new configuration
    • Input: SysML v1.6 .uml
    • Output: Intermediate SysML v2.0-compliant XMI model (put the desired path and file name, e.g. platform:/resource/v1.6tov2.0/valid-target/valid1.xmi)
  3. Run the Acceleo M2T generator

    • Right-click generate.mtl under v2totext/src/v2totext/main/
    • Select Run As > Run Configurations > Acceleo Application
    • Create new configuration
    • Input: the .xmi model
    • Output: SysML v2.0 textual model in .sysml
  4. Validate output

    • Open the generated textual model and inspect structure and syntax
    • Compare key elements (Blocks, Properties, Associations, etc.) to source

📁 Project Structure

master-thesis/
│
├── v1.6tov2.0/                   # Phase 1: Model-to-Model transformation (SysML v1.6 → v2.0)
│   ├── models/                   # Source SysML v1.6 .uml models
│   ├── valid-source/             # SysML v1.6 models for validation
│   ├── valid-target/             # Transformed .xmi validate models
│   ├── transforms/
│   │   ├── v1tov2.qvto           # QVTo transformation file: v1tov2.qvto
│   └── output/                   # .xmi intermediate outputs
│
├── v2totext/                     # Phase 2: Model-to-Text transformation (SysML v2.0 → textual)
│   ├── bin/                      # Compiled Java classes (optional if using Eclipse)
│   ├── build.properties          # Acceleo project configuration
│   ├── META-INF/                 # Eclipse metadata (plugin descriptor)
│   ├── src/                      # Source folder for the Acceleo M2T project
│   │   ├── models/               # Input SysML v2.0 XMI files (same structure as v1.6tov2.0/valid-target and v1.6tov2.0/output)
│   │   ├── output/               # Generated SysML v2.0 textual output (.sysml)
│   │   ├── valid-source/         # .xmi models for validation
│   │   ├── valid-target/         # .sysml results for validation models
│   │   └── v2totext/             # Main transformation package
│   │       ├── Activator.java    # Eclipse plugin activator
│   │       └── main/             # Main transformation logic
│   │           ├── Generate.java # Entrypoint for launching Acceleo MTT
│   │           └── generate.mtl  # Acceleo transformation template
│
└── README.md                     # Project documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages