Domain Specific Modelling Languages (2016/2017) - Departamento de Informática
Description

Modern systems cross different domains and are composed of networked andinterrelated (hardware and software) subsystems, some even cyber-physical, thus goingbeyond the software scope, such as automotive, home automation and avionics.These systems are becoming increasingly complex, and are demanding a modulardecompositional approach to address the specificities of each domain.

Model-Driven Driven (MDD) development is becoming a standard approach to addressthe complexity of these systems’ development through the use of models in multiplenotations and their translations as first class citizens. To be able to express models inadequate rigorous notations that reflect the different perspectives of the systems, withan adequate level of abstraction usable by the different modelers (potentially non-software experts), typically are used Domain Specific Languages (DSLs). Theselanguages can be textual or more commonly visual. This course will use well establishedMDD techniques to model the domain, design and develop DSLs.

Objectives

Knowledge:


Skills and competences:


Soft skills:

Syllabus

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:

Labs/Práticas:

Prerequisites

- Master UML

- Masterthe Eclipse IDE.

The students should have successfully passed MDS (Métodos de Desenvolvimento de Software).

Student work
  Hours per credit 28
  Hours per week Weeks Hours
Total hours 0
ECTS 6.0