Guia de Cursos

Queres conhecer a oferta de cursos da NOVA, nas áreas das licenciaturas, mestrados e doutoramentos?
No nosso Guia de Cursos encontras informação útil sobre Faculdades, Institutos e Escolas.
Podes ainda aceder a informações complementares necessárias a uma completa integração.

saber mais Guia de Cursos

Faculdade de Ciências e Tecnologia

Linguagens de Modelação para Domínios Específicos

Código

11558

Unidade Orgânica

Faculdade de Ciências e Tecnologia

Departamento

Departamento de Informática

Créditos

6.0

Professor responsável

Ana Maria Dinis Moreira, Vasco Miguel Moreira do Amaral

Horas semanais

4

Língua de ensino

Português

Objectivos

Saber:

  • Entender riscos e oportunidades de DS(M)L versus GP(M)L

  • Acompanhar o processo completo de Engenharia de Linguagens

  • Aprender técnicas de Análise de Domínio

  • Usar abordagens Orientadas a Modelos para desenvolvimento de linguagens

  • Aprender ferramentas formais e práticas (“workbenches”) de desenvolvimento de DS(M)Ls

  • Conhecer exemplos de domínio de aplicação de DS(M)Ls

  • Aprender a avaliar uma linguagem do ponto de vista da usabilidade

 

Saber fazer:

  • Usar ferramentas de desenvolvimento de DS(M)Ls

  • Dado um problema num domínio especifico, saber como desenvolver uma DS(M)L de raiz

  • Evoluir uma DS(M)L usando técnicas de evolução dirigidas por modelos

  • Saber desenhar e executar um estudo para avaliar uma linguagem

 

Soft skills:

  • Trabalho em equipa

  • Conhecer o processo de revisão de artigos numa conferência (tanto na óptica de autor como de revisor)

  • Defesa pública de pontos de vista

Pré-requisitos

Domínio do UML.

Domínio do Eclipse.

Como precedência deverá ter MDS

Conteúdo

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

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

Cursos