Engenharia Orientada a Modelos (2021/2022) - Departamento de Informática

Informação adicional: https://moodle.fct.unl.pt/course/view.php?id=7056

Descrição

Esta cadeira tem pontos comuns com a ex-cadeira Linguagens Modelação para Domínios Específicos LMDE do MIEI.

O MDE é uma abordagem padrão para abordar a complexidade do desenvolvimento de sistemas que por razões éticas, económicas ou pragmáticas têm de ser modeladas e analisadas à priori. Esta promove o uso de modelos em várias notações e suas traduções como cidadãos de primeira classe. Usam-se DSLs para poder expressar modelos em notações rigorosas adequadas que reflitam as diferentes perspectivas dos sistemas, com um nível adequado de abstração utilizável pelos diferentes modeladores (potencialmente não especialistas em software).

Este curso usará técnicas de MDE bem estabelecidas para modelar o domínio, projetar e desenvolver DSLs incluindo as ferramentas de edição de modelos, (tecnicas também por trás de ferramentas de low-code) e usá-las para as diversas finalidades como geração de código, simulação e análise. Com o projeto desenvolvido durante o curso, os alunos terão a oportunidade de conceber o roteiro de modelação e suporte tecnológico com diferentes camadas de abstração, começando com a definição da DSL, e através de transformações de modelos, criarão um processo de geração automática para terminar em código, simulação ou análise.


Objectivos

Compreender:

Ser capaz:

Conhecer:

Programa

1. Causas de Complexidade no Desenho de Sistemas

2. Abordagem Orientada a Modelos

3. Engenharia de Domínio

4. DS(M)Ls e Desenho de Linguagens de Modelação

  1. Sintaxe Abstrata e Metamodelos (MOF, ECORE)

  2. Sintaxe Concreta (Visual e Textual) e Semântica

  3. Restrições invariantes (OCL,EVL)

  4. Transformações de modelos

  5. Breve introdução a alguns formalismos de modelação:

  1. Causal Block Diagrams (CBDs): discretos e contínuos

  2. Petri Nets

  3. Statecharts

  4. Event-Scheduling Discrete-Event

  5. Discrete-Event System Specification (DEVS)

5. Verificação de modelos em MDE

6. Avaliação de Qualidade - Usabilidade

7. Breve visão geral do MDE na Engenharia de Sistemas:

Bibliografia Principal

Marco Brambilla, Jordi Cabot, Manuel Wimmer, “Model-Driven Software Engineering in Practice”, Morgan & Claypool Publishers, 2nd Edition, 2017


Markus Voelter, DSL Engineering: Designing, Implementing and Using Domain-Specific Languages, CreateSpace Independent Publishing Platform, 2013


Dimitris Kolovos, Louis Rose, Antonio García-Domínguez, Richard Paige, “The Epsilon Book”, The Eclipse Foundation, 2014


Paulo Carreira, Vasco Amaral, Hans Vangheluwe, “Foundations of Multi-Paradigm Modelling for Cyber-Physical Systems”, Springer, OpenAccess, 2020


Requisitos Prévios

Não tem pré-requisitos.

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Aulas práticas e laboratoriais   26.0
Aulas teóricas   26.0
Avaliação   6.0
Estudo   30.0
Projectos e trabalhos   80.0
Total de Horas 168
ECTS 6.0