An open API service indexing awesome lists of open source software.

https://github.com/adam-bouafia/model-driven-engineering-mde-projects

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.
https://github.com/adam-bouafia/model-driven-engineering-mde-projects

Last synced: 3 months ago
JSON representation

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.

Awesome Lists containing this project

README

        

# 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! 🚀