Skip to content

Welcome to my repository for the MDE course assignments. This series of projects encompasses the application of model-driven engineering techniques and tools to solve various software engineering problems, from designing domain-specific modeling languages (DSMLs) to generating code from models.

Notifications You must be signed in to change notification settings

adam-bouafia/Model-Driven-Engineering-MDE-Projects

Repository files navigation

Model Driven Engineering (MDE) Coursework - 2023/2024

Welcome to the repository for my MDE coursework, a collection of projects showcasing the application of model-driven engineering principles across various domains. 🌐

Highlights

  • A1 - UML Class Diagrams: Dive into the foundational aspects of MDE with comprehensive UML class diagrams. 📊
  • A2 - Language Engineering with MPS: Explore the creation of domain-specific languages using JetBrains MPS. 🛠️
  • A3 - EMF and OCL: Get hands-on with Eclipse Modeling Framework (EMF) and Object Constraint Language (OCL) for robust model validation. 🔍
  • A4 - Model Transformations: Witness the power of model-to-model and model-to-code transformations. 🔄
  • A5 - Visual and Textual Editors: Unleash creativity with Sirius for graphical modeling and Xtext for textual DSLs. ✍️

Visualizations

Embrace visual learning with diagrams and screenshots illustrating key concepts and implementations:

  • EMF Model Diagrams ![EMF Model]
  • MPS Editor Interface ![MPS Interface]
  • Sirius Designer Views ![Sirius Design]
  • Xtext Editor Samples ![Xtext Sample]

Tools and Technologies

This project extensively uses Eclipse Modeling Tools for designing, validating, and transforming models. Eclipse provides a rich set of tools that support the development of model-driven applications, enhancing our ability to define, manipulate, and manage complex systems with precision and efficiency. Through Eclipse, we leverage frameworks such as EMF (Eclipse Modeling Framework) for defining models and Ecore metamodels, and OCL (Object Constraint Language) for specifying constraints on models, ensuring robust design and validation of our systems.

Getting Started

Follow these steps to explore and run the projects:

  1. Clone the repository: git clone URL
  2. Navigate to each project folder.
  3. Refer to specific setup instructions within each assignment's directory.

Contributions

Your insights and improvements are welcome! 🌟 If you're interested in contributing, please:

  • Fork the repo.
  • Create a new branch (git checkout -b feature/amazing-feature).
  • Commit your changes (git commit -m 'Add some amazing feature').
  • Push to the branch (git push origin feature/amazing-feature).
  • Open a Pull Request.

Together, we can push the boundaries of MDE! 🚀

About

Welcome to my repository for the MDE course assignments. This series of projects encompasses the application of model-driven engineering techniques and tools to solve various software engineering problems, from designing domain-specific modeling languages (DSMLs) to generating code from models.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published