Risks and opportunities of developing and using a DS(M)L over GP(M)L
Advantages and Disadvantages of Model-Driven Engineering (MDE)
Criteria to choose a given modelling language for a specific modelling task
Be able to:
Use formal and practical DSL (graphical and textual) development workbenches
Given a problem in a specific domain, knows how to develop a DS(M) L from scratch
Evolve a DS(M)L using MDE evolution techniques
Know how to design and execute a study to evaluate the usability of a given language
Create a roadmap of MDE technologies for automating processes
How to transform Model-to-Text and Model-to-Model
Follow the complete process of Language Engineering
Use Model-Driven Approaches for Language Development
The utility of some formalisms for System Engineering (to model a system considering or not time, discrete or continuous)
Existing techniques and limitations for evaluating DS(M)Ls from the point of view of usability
Some application domains of DS(M)Ls
Vasco Miguel Moreira do Amaral
Weekly - 4
Total - 52
There are no pre-requirements to attend to this course.
Marco Brambilla, Jordi Cabot, Manuel Wimmer, “Model-Driven Software Engineering in Practice”, Morgan & Claypool Publishers, 2nd Edition, 2017
Markus Voelter, DSL Engineering: Designing, Implementing and Using Domain-Specific Languages, CreateSpace Independent Publishing Platform, 2013
Dimitris Kolovos, Louis Rose, Antonio García-Domínguez, Richard Paige, “The Epsilon Book”, The Eclipse Foundation, 2014
Paulo Carreira, Vasco Amaral, Hans Vangheluwe, “Foundations of Multi-Paradigm Modelling for Cyber-Physical Systems”, Springer, OpenAccess, 2020
In theoretical classes the fundamental concepts are taught and put into practice in the laboratory classes, which will be carried out using tools and examples.
At the beginning of the class the students will receive the planning for the topics of the program and the specification of the practical work. A deadline is given for the delivery of the work.
Theoretical classes are given in a classroom equipped with a projector and Powerpoint slides. The practical classes are held in rooms equipped with computers, picture and projector.
The evaluation consists of the following mandatory components: a practical work delivered in two phases; two tests. The work is carried out in a group of two students and the tests individually. Each group has a different project.
We will invite external experts (eg Quidgest, Outsystems, ...) to give a talk about their experience with the adoption of Model-Driven Engineering in their company''s internal processes.
The grades in this course are graded in the following way:
"Final Grade" = "Tests" X 0,45 + "Project" X 0,55
range from [0..20]
Mean value of two tests graded from 0 to 20, that must be higher than 9.5 to be considered a pass in this course.
Grade of the group''s (two students) project structured in the following way: intermediate submission of artifacts, final submission of artifacts, presentation in the workshop at the last day of MDE/EOM classes (mandatory presence) of the semester and questions and questionnaire about the personalopinion on the performance of the other projects.
26/10/2021 Project announcement
23/11/2021 First Test
26/11/2021 First project''s submission
5/01/2022 Final project''s submission
12/01/2022 Second Test
1. Causes for Complexity in Systems Design
2. The Model-Driven Development approach
3. Domain Engineering
4. DSLs and Language Design
- Abstract Syntax and Language Metamodelling (MOF, ECORE)
-Concrete Syntax (Visual and Textual) and Semantics
-Specifying Invariant constraints (well-formedness rules) (OCL,EVL)
-A brief introduction to some Modelling Formalisms
Causal Block Diagrams (CBDs): discrete-time and continuous-time
Discrete-Event System Specification (DEVS)
5. Model Checking in MDE
6. DSL Quality assessment - Usability
7. Brief overview of MDE in System Engineering:
- Static and Dynamic Systems
- Time Varying and Time invariant Dynamic Systems
- Discrete Event formalisms
- Continuous formalisms
- DEVS and Differential equation specified system
- AADL (Avionics Architecture Description Language) and SysML
Programs where the course is taught: