
Domain Specific Modelling Languages
Code
11558
Academic unit
Faculdade de Ciências e Tecnologia
Department
Departamento de Informática
Credits
6.0
Teacher in charge
Ana Maria Dinis Moreira, Vasco Miguel Moreira do Amaral
Weekly hours
4
Teaching language
Português
Objectives
Knowledge:
-
Understand the risks and opportunities of developing a DS(M)L over GP(M)L solution
-
Know the Software Languages Engineering process
-
Learn techniques of Domain Analysis
-
Effective use of Model-Driven Development for language development
-
Learn formal and practical tools (workbenches) for developing DS(M)Ls
-
Learn several typical domains of application of DS(M)Ls
-
Know how to evaluate a language from the point of view of usability
Skills and competences:
-
Know how to use up-to-date technology (tools) to develop DS(M)Ls
-
Given a domain-specific problem, know how to implement a DS(M)L from scratch
-
Evolve a DS(M)L using model-driven techniques
-
Know how to design and execute a study to evaluate a language
Soft skills:
-
Team work
-
Know the paper reviewing process for a conference, both in the perspective of the author and the reviewer
- Public defense of points of view
Prerequisites
- Master UML
- Master the Eclipse IDE.
The students should have successfully passed MDS (Métodos de Desenvolvimento de Software).
Subject matter
1. The Model-Driven Development approach
1.1. What is Model-Driven Development
1.2. Definition of Models
1.3. Metamodels and the modeling stack
1.4. Ontologic vs. Linguistic instantiation
1.5. MD* : MBE, MDE, MDD, MDA
2. Domain Engineering
2.1. Domain modeling methodologies
2.2. Feature-Oriented Domain Analysis
2.3. The Domain Model
3. Language Design
3.1. Abstract Syntax
3.2. Concrete Syntax and Semantics
3.3. Specifying Invariant constraints (well formedness rules)
3.4. Model-Transformations: purposes, foundations (Graph-Grammars), tools
3.5. Semantic Domains: DEVS, Statecharts and Petri Nets
4. DSL Quality assessment - Usability
4.1. Preparing Usability assessments
4.2. Preparing Experimental studies with subjects
4.3. Interpretation of results
Bibliography
Theory/Teóricas:
-
Domain-Specific Modeling, Steven Kelly, J. Tolvanen, IEEE Wiley, 2008
-
Generative Programming Methods, Tools and Applications, K. Czarnecki and U. Eisenecker, Addison-Wesley, 2000
-
Software Factories, J. Greenfield and K. Short, Wiley Publishing , 2004
-
DSL Engineering: Designing, Implementing and Using Domain-Specific Languages, Markus Voelter, CreateSpace Independent Publishing Platform, 2013
Labs/Práticas:
-
The Epsilon Book, Dimitris Kolovos, Louis Rose, Antonio García-Domínguez, Richard Paige, The Eclipse Foundation, 2014
Evaluation method
Project: 60%, includes deliverables + Report + Review + workshop with the following:
• Domain Analysis
• Language Design
• M2C - Code Generation (running on the target platform)
• Transformations (for Verification or Validation, including simulation)
• Workshop oral presentation
• Report - (10-16 pages) Paper (describing the running project and usability evaluation)
• Project >= 9,5 (out of 20) => “Frequência” Tests (max. 2h each):
• M1: 14 of May (20%)
• M2: 9 of June (20%)
• (Must sum all-together more than 9,5 out of 20 to pass)
• Exam (“Recurso”): 40%
• Final Grade= 0.6 *Project + 0.4 * (Exam or 2 Tests)
• Groups of two elements. You must declare your group to the professor at week 2 (next week).