Documentation Language: Swift

Framework

Tutorials

Learn Swift MDE through comprehensive, interactive tutorials covering all major technologies.

Overview

Master Model-Driven Engineering with Swift through hands-on tutorials that progress from beginner to advanced topics. Each tutorial includes step-by-step instructions, complete code examples, and validation exercises.

Learning Path

Follow these tutorial series to build expertise across all Swift MDE technologies:

  1. Ecore Fundamentals - Learn metamodelling and model validation

  2. ATL Transformations - Master model-to-model transformations

  3. MTL Code Generation - Generate code from models using templates

  4. AQL Query Language - Query and navigate models effectively

  5. Integrated Workflows - Combine technologies for complete MDE solutions

Topics

Ecore Metamodelling

Tu
Creating Your First Ecore Metamodel

Learn how to define a domain metamodel using Ecore by creating a simple company management system.

Tu
Working with Model Instances

Learn how to create and manage XMI model instances that conform to your Ecore metamodel.

Tu
Metamodel Relationships

Learn how to create relationships between classes using EReference, including containment, cardinality, and bidirectional references.

Tu
Advanced Metamodel Features

Learn how to use enumerations, inheritance, and abstract classes to create sophisticated metamodels.

Tu
JSON and XMI Formats

Learn how to convert models between JSON and XMI formats, and validate round-trip conversions.

Tu
Querying Models with AQL

Learn how to query and navigate models using AQL (ATLAS Query Language), including element selection, collection operations, and complex queries.

Tu
Cross-Resource References

Learn how to split models across multiple files and manage cross-resource references in Swift-Ecore.

ATL Model Transformations

Tu
Creating Your First ATL Transformation

Learn how to transform models with the Atlas Transformation Language (ATL) using the Families to Persons example.

Tu
ATL Helpers and Guards

Master helper functions and guard conditions to write more sophisticated ATL transformations.

Tu
Working with Collections

Learn how to manipulate collections in ATL transformations using OCL collection operations.

Tu
Advanced Rule Patterns

Explore advanced ATL rule patterns including lazy rules, called rules, and imperative sections.

Tu
OCL Expressions Deep Dive

Master the Object Constraint Language (OCL) for expressing complex queries and constraints in ATL transformations.

Tu
Debugging Transformations

Learn techniques for debugging ATL transformations and diagnosing common transformation issues.

Tu
Complex Model Transformations

Master complex transformation scenarios including refining mode, multiple source/target models, and sophisticated rule coordination.

Tu
Performance Optimisation

Optimise ATL transformations for better performance with large models and complex metamodels.

MTL Code Generation

Tu
Hello World Template

Learn the basics of MTL (Model-to-Text Language) by creating your first code generation template using the OMG MOFM2T standard.

Tu
Expressions and Variables

Learn how to use dynamic expressions and variables in MTL templates to generate computed values.

Tu
Control Flow

Learn how to use conditional statements and iteration in MTL templates.

Tu
File Blocks

Learn how to generate multiple output files from a single MTL template using file blocks.

Tu
Queries and Macros

Learn how to create reusable template components with queries and macros.

Tu
Code Generation from Models

Learn how to load models and navigate them in MTL templates to generate code based on metamodel structure.

Tu
Protected Areas

Learn how to preserve manual code changes across regenerations using protected areas.

Tu
Complete Code Generator

Build a complete Swift code generator from the Company metamodel, applying all MTL concepts together.

AQL Query Language

Tu
AQL Basics

Learn the fundamentals of the Acceleo Query Language (AQL) for navigating and querying models.

Tu
Filtering and Selection

Master AQL’s powerful filtering and selection operations to extract specific elements from collections.

Tu
Collection Operations

Master AQL’s collection operations for transforming and manipulating model data.

Tu
AQL in MTL Templates

Learn how to integrate AQL queries seamlessly into MTL templates for powerful model-driven code generation.

Tu
Complex Queries

Master advanced AQL query patterns for sophisticated model analysis and cross-model operations.

OCL Constraints

Tu
OCL Constraints and Validation

Learn to define and validate OCL constraints on Ecore models.

Integrated Workflows

Tu
Complete MDE Workflow: From Metamodel to Code

Experience the full model-driven engineering workflow by building a complete system from metamodel design through code generation.

Tu
Model Refactoring Pipeline

Learn how to refactor existing models and metamodels using a systematic pipeline approach.

Tu
Cross-Format Integration

Master cross-format model integration by connecting XMI, JSON, and native Swift data sources.

Advanced Topics

Tu
Class to Relational Transformation

Master the classic Class2Relational transformation benchmark, a foundational example in model-driven engineering.

Tu
UML to Swift Code Generation

Learn to generate Swift code from UML class diagrams using MTL templates.