Model-Driven Engineering
Benoit Combemale (Univ. Rennes 1, ESIR & IRISA) DiverSE team (IRISA & Inria) Campus de Beaulieu F-35042 Rennes Cedex benoit.combemale AT irisa.fr
Description
Model Driven Engineering (MDE) is primarily concerned with reducing the accidental complexities associated with developing complex software-intensive systems. This is accomplished through the use of technologies that support rigorous analysis and transformation of abstract descriptions of software to concrete implementations. At the core of MDE are modeling languages that are typically defined as metamodels. Developers can use these modeling languages to describe complex systems at multiple levels of abstraction and from a variety of perspectives. MDE is essentially concerned with transforming descriptions of software artefacts to other forms that better serve specific purposes. MDE is now becoming mature, and more and more integrated in industrial software development processes to improve quality and productivity, as recognized in various experience reports.
This course introduces the cornerstones of MDE using OMG standards and Eclipse-based open source technologies. You will discover how to leverage your experience into domain-specific modelling languages and model transformations. Then, you will learn how to use them to systematize some development tasks (“Why I’d like write program that write programs rather than write programs?"), and to lead to better quality software thanks to abstract models throughout the software development process.
Textbooks
Lectures (Materials)
Basics
- Advanced Features of Software Engineering: from Modeling to Metamodeling...
- Domain-Specific Languages
- A Tutorial about Metamodeling Using OMG Norms and Eclipse Modeling
- Object Constraint Language (OCL)
- Model Transformation (Principles, Standards and Examples)
- Model Management with Xtend
- Kermeta: Breathe Life into your Metamodels
- Atlas Transformation Language (ATL)
Advanced
- Model Typing
- Model Composition
- How to address V&V in Model-Driven Engineering?
- Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time (la vidéo !)
- MDE Pragmatique
Further Information
Some Documents…
- Métamodéliser avec Eclipse Modeling Framework (from S. Mosser)
- Free refcard about EMF
- Tutorial "Define a metamodel with ECore Tools"
- The Kermeta memento
- OMG Formal Specifications
Some Links…
- OMG (Object Management Group)
- Eclipse Modeling
- Kermeta
- Action IDM
- Tools: GEMOC Studio, EcoreTools, Xtext, Xtend, ALE, Kermeta 2 (memento), Kermeta 3
- The MODELS conf
- MDEBoK (?)
- modeling-languages