Documentation Language: Swift

Article

SVG Diagram Specifications for Swift Modelling Tutorials

This document specifies the SVG diagrams to be created for the Swift Modelling comprehensive tutorial system. Each diagram enhances tutorial content with visual representations of MDE concepts.

Overview


1. Ecore Metamodel Class Diagram

File: ecore-metamodel-overview.svg Tutorial: Ecore-01 Purpose: Illustrate core Ecore metamodel structure

Content:

Dimensions: 800x600px


2. Company Metamodel Instance Diagram

File: company-metamodel-instance.svg Tutorial: Ecore-02, AQL-01 Purpose: Show relationship between metamodel and instances

Content:

Dimensions: 1000x700px


3. AQL Query Evaluation Pipeline

File: aql-query-pipeline.svg Tutorial: AQL-01, AQL-02 Purpose: Visualize AQL query execution flow

Content:

Dimensions: 1200x400px


4. ATL Transformation Architecture

File: atl-transformation-architecture.svg Tutorial: Workflow-01, ATL-01 Purpose: Explain ATL transformation process

Content:

Dimensions: 1000x800px


5. MTL Template Execution Flow

File: mtl-template-flow.svg Tutorial: Workflow-01, MTL-01 Purpose: Show MTL code generation process

Content:

Dimensions: 1000x600px


6. MDE Workflow End-to-End

File: mde-workflow-complete.svg Tutorial: Workflow-01 Purpose: Comprehensive MDE pipeline visualization

Content:

Dimensions: 1400x600px


7. Collection Operations Visual Guide

File: aql-collection-operations.svg Tutorial: AQL-03 Purpose: Illustrate AQL collection operations with data

Content:

Dimensions: 1200x1000px


8. Recursive Navigation Tree

File: recursive-navigation-tree.svg Tutorial: AQL-05 Purpose: Show eAllContents() traversal

Content:

Dimensions: 800x900px


9. Transitive Closure Graph

File: transitive-closure-graph.svg Tutorial: AQL-05 Purpose: Visualize closure() operation on graph

Content:

Dimensions: 1000x800px


10. Metamodel Evolution Comparison

File: metamodel-evolution-blog-v1-v2.svg Tutorial: Workflow-03 Purpose: Side-by-side comparison of Blog v1 vs v2

Content:

Dimensions: 1200x700px


11. Project Validation Dashboard

File: project-validation-dashboard.svg Tutorial: Workflow-02 Purpose: Visual representation of validation results

Content:

Dimensions: 1200x800px


12. Type Hierarchy and Polymorphism

File: type-hierarchy-polymorphism.svg Tutorial: AQL-04 Purpose: Explain oclIsKindOf vs oclIsTypeOf

Content:

Dimensions: 800x600px


13. Tuple Construction Examples

File: tuple-construction-examples.svg Tutorial: AQL-04 Purpose: Show tuple creation from model elements

Content:

Dimensions: 1000x600px


14. Query Optimisation Before/After

File: query-optimisation-comparison.svg Tutorial: AQL-05 Purpose: Compare inefficient vs optimised queries

Content:

Dimensions: 1200x800px


15. Ecore to Swift Code Mapping

File: ecore-to-swift-mapping.svg Tutorial: Ecore-03 Purpose: Show how Ecore elements map to Swift code

Content:

Dimensions: 1000x700px


16. XMI Serialization Structure

File: xmi-serialization-structure.svg Tutorial: Ecore-06 Purpose: Show XMI file structure and references

Content:

Dimensions: 800x1000px


17. Cross-Resource References

File: cross-resource-references.svg Tutorial: Ecore-07 Purpose: Illustrate multi-file model references

Content:

Dimensions: 1000x700px


18. Complete MDE Stack Overview

File: mde-stack-overview.svg Tutorial: Introduction, Summary Purpose: High-level overview of entire MDE technology stack

Content:

Dimensions: 1000x1200px


Implementation Notes

SVG Generation Approach

  1. Manual Creation: Use vector graphics tools (Sketch, Figma, Adobe Illustrator)

  2. Programmatic: Generate from DOT/GraphViz or PlantUML

  3. Hybrid: Base template with data-driven overlays

Style Guidelines

Accessibility

File Organisation

Resources/
├── Diagrams/
│   ├── SVG_DIAGRAM_SPECIFICATIONS.md (this file)
│   ├── ecore-metamodel-overview.svg
│   ├── company-metamodel-instance.svg
│   ├── aql-query-pipeline.svg
│   ├── atl-transformation-architecture.svg
│   ├── mtl-template-flow.svg
│   ├── mde-workflow-complete.svg
│   ├── aql-collection-operations.svg
│   ├── recursive-navigation-tree.svg
│   ├── transitive-closure-graph.svg
│   ├── metamodel-evolution-blog-v1-v2.svg
│   ├── project-validation-dashboard.svg
│   ├── type-hierarchy-polymorphism.svg
│   ├── tuple-construction-examples.svg
│   ├── query-optimisation-comparison.svg
│   ├── ecore-to-swift-mapping.svg
│   ├── xmi-serialisation-structure.svg
│   ├── cross-resource-references.svg
│   └── mde-stack-overview.svg

Tutorial Integration

Each SVG diagram should be referenced in tutorial markdown with:

![Description](Diagrams/diagram-filename.svg)

**Figure X**: Caption explaining the diagram's relevance to the tutorial step.

Priority Order for Creation

Given resource constraints, create diagrams in this order:

  1. mde-stack-overview.svg - Essential for introduction

  2. ecore-metamodel-overview.svg - Foundation for all tutorials

  3. company-metamodel-instance.svg - Used across multiple tutorials

  4. mde-workflow-complete.svg - Critical for understanding full pipeline

  5. aql-query-pipeline.svg - Core AQL concept

  6. atl-transformation-architecture.svg - Key ATL concept

  7. aql-collection-operations.svg - Most complex AQL tutorial

  8. query-optimisation-comparison.svg - Important for performance

  9. metamodel-evolution-blog-v1-v2.svg - Demonstrates evolution

  10. mtl-template-flow.svg - Code generation visualisation

Remaining diagrams can be created as needed or time permits.


Maintenance


Total Diagrams Specified: 18 Status: Specification complete, implementation pending Last Updated: 2024-01-15