Linguagens de Modelação para Domínios Específicos (2017/2018) - Departamento de Informática
Descrição

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.

Well known examples of DSLs are: Scratch, Lego Mindstorms, Outsystems, among nany others. The concepts presented in this lectures allow you to master technology to build your own UML editors or other kind of visual and textual languages.

Objectivos

Saber:

Saber fazer:

Soft skills:

Programa

1. Abordagem de desenvolvimento de software orientado por modelos

1.1. O que é o desenvolvimento orientado por modelos

1.2. Definição de modelos

1.3. Metamodelos e os diferentes níveis de modelação

1.4. Instanciação Ontológica vs. Linguística

1.5. MD* : MBE, MDE, MDD, MDA

2. Engenharia de Domínio

2.1. Metodologias de modelação de domínio

2.2. A abordagem Feature-Oriented Domain Analysis

2.3. O modelo de domínio

3. Desenho de uma Linguagem

3.1. Sintaxe abstracta

3.2. Sintaxe concreta

3.3. Semântica

3.3. Especificação de restrições invariantes (regras de boa formação)

3.4. Transformação de modelos: propósitos, fundamentos (Gramáticas de grafos), ferramentas

3.5. Alguns domínios semânticos: DEVS, Statecharts e Petri Nets

4. Aferição da qualidade da DSL - Usabilidade

4.1. Planeamento da avaliação de usabilidade de uma linguagem

4.2. Execução dos estudos experimentais com utilizadores

4.3. Interpretação de resultados

Bibliografia Principal

Theory/Teóricas:

Labs/Práticas:

Requisitos Prévios

Domínio do UML.

Domínio do Eclipse.

Como precedência deverá ter MDS

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Total de Horas 0
ECTS 6.0