Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA
*
A
ZZZZ
052556 - DOMAIN SPECIFIC MODELLING
Obiettivi dell'insegnamento
The students of the Domain-specific Modeling course will be able to:
learn the basic principles and techniques on Model-Driven Software Engineering
learn about design notations (e.g., UML and IFML) and the way they are specified
learn how to desing languages and notations for specific domains
put what they learn at work on practical cases using software tools and platforms
Risultati di apprendimento attesi
Dublin Descriptors
Expected learning outcomes
Knowledge and understanding
Students will learn how to:
Define a domain-specific language
Apply model-driven techniques for model transformations and code generation
Apply modeling approaches to different usage scenarios (MDD, reverse engineering, ...)
Applying knowledge and understanding
Given specific project cases, students will be able to:
Apply the learnt techniques to define new languages based on the domain specification
Generate text, models and software through automatic transformation starting from the specified language
Making judgements
Given specific project cases, students will be able to:
Decide which kind of language is more suited for a given domain
Decide which techniques to apply for the specification and transformations
Communication
Students will learn to prepare a comprehensive project specificatio and documentation
Lifelong learning skills
Students will learn how to develop a realistic project and how to document it
Argomenti trattati
The course is organized in two main parts:
PART 1: Foundations of Model-Driven Software Engineering (MDSE)
Introduction to MDSE
MDSE Principles
Domain-Specific Modeling and Domain-Specific Languages
Features of Modeling Languages
Graphical and textual notations of languages
MDSE Use Cases: UML, IFML and others (from the specification perspective)
Model-driven Architecture (MDA)
Object Constraint Language (OCL)
Integration of MDSE in the software development process
PART 2: Technical aspects of MDSE
How to Develop a Modeling Language
Model-to-Model Transformations (ATL)
Model-to-Text Transformations
Code generation
Managing Models at scale
Prerequisiti
Students attending the course are expected to have
Knowledge of object orientation techniques and principles
Basic knowledge of IDEs
Basic knowledge of UML
Programming capabilities in object-oriented languages
Basic knowledge of XML
Modalità di valutazione
The evaluation will consist of:
a written exam, which will include theoretical questions and practical exercises focused on the specification of languages and of model transformations
a project work to be developed in groups, focusing on the specification of a realistic domain-specific language, and its practical use
Type of assessment
Description
Dublin descriptor
Written test
Theory questions
Exercises focusing on design aspects as described
1, 2, 4
1, 2, 3, 4, 5
Assessment of project artefacts
Assessment of the design and experimental work developed by students either individually or in groups
2, 3, 4, 5
Bibliografia
Marco Brambilla, Jordi Cabot, Manuel Wimmer, Model-driven Software Engineering (MDSE) in Practice - Second Edition, Editore: Morgan & Claypool, Anno edizione: 2017, ISBN: 9781627057080 http://mdse-book.com/Dave Steinberg, Frank Budinsky, Marcelo Paternostro, Ed Merks, EMF: Eclipse Modeling Framework - second edition, Editore: Addison-Wesley, Anno edizione: 2009, ISBN: 9780321331885
Markus Voelter, Dsl Engineering: Designing, Implementing and Using Domain-specific Languages, Editore: dslbook.org, Anno edizione: 2013, ISBN: 978-1481218580 http://dslbook.org/
Software utilizzato
Nessun software richiesto
Forme didattiche
Tipo Forma Didattica
Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
30:00
45:00
Esercitazione
20:00
30:00
Laboratorio Informatico
0:00
0:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale
50:00
75:00
Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua
Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese