Trilha: MDD, DSLs e Editores

Última atualização: Março 2019.

Se o seu trabalho no NEMO (ou, mais precisamente, comigo) envolve a criação de meta-modelos, linguagens específicas de domínio (DSLs), editores para estas linguagens, etc., seguem abaixo algumas sugestões de leitura.

Desenvolvimento Orientado a Modelos

Algumas sugestões de leitura foram retiradas da página da disciplina Desenvolvimento Orientado a Modelos do prof. João Paulo A. Almeida.

  • [DOI]Pastor, Óscar; Molina, Juan Carlos “Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling”. Springer, 2007.
    → O prof. João Paulo inicia o curso de MDD com uma discussão dos capítulos How this book is organized e The purpose of this work, na qual propõe que os alunos busquem entender as críticas que o texto faz às práticas atuais de desenvolvimento e a visão dos autores sobre o que é MDD, bem como façam uma leitura crítica dos textos, quesionando: O que os autores não mencionam mais deveriam mencionar? O que eles prometem? Simplificam demais as coisas?
  • [PDF]Harel, David; Rumpe, Bernhard “Modeling Languages: Syntax, Semantics and All That Stuff – Part I: The Basic Stuff”. Technical Report. UMI Order Number: MCS00-16, Weizmann Science Press of Israel, 2000;
  • [PDF][DOI]Almeida, João Paulo A. “Model-driven design of distributed applications”. PhD Thesis, University of Twente, The Netherlands, 2006.
    → Sugerida a leitura das páginas 9 a 18 (Seção 2.1 – Basic Concepts, no Capítulo 2 – Model-driven design process);
  • [DOI]Atkinson, Colin; Kuhne, Thomas “Model-driven development: a metamodeling foundation”. IEEE Software, vol. 20, issue 5, 2003;
  • [DOI]Selic, Bran “The pragmatics of model-driven development”. IEEE Software, vol. 20, issue 5, 2003;
  • [PDF][DOI]Hailpern, Brent; Tarr, Peri “Model-driven development: The good, the bad, and the ugly”. IBM Systems Journal, vol. 45, issue 3, 2006;

Implementação de meta-modelos baseados na plataforma Eclipse

Construção de editores gráficos baseados na plataforma Eclipse

  • [PDF]Bernabé, César H. “Tutorial Sirius”. Relatório Técnico, 2016.
    → Ensina o básico da ferramenta Sirius, uma ferramenta que facilita a criação de editores gráficos baseados em meta-modelos na plataforma Eclipse. O tutorial guia o desenvolvedor em um exercício de criação de um editor de árvore genealógica. Caso deseje, pode-se seguir também os tutoriais oficiais do Sirius, o manual de desenvolvimento do Sirius e outros recursos no site do Obeo Designer. Ao trabalhar com editores, também é interessante ler sobre como adicionar menus e botões de toolbar no Eclipse;
  • [DOI]McAffer, Jeff; Lemieux, Jean-Michel; Aniszczyk, Chris “Eclipse Rich Client Platform, 2nd Edition”. Addison-Wesley Professional, 2010;
  • [DOI]Bettini, Lorenzo “Implementing Domain Specific Languages with Xtext and Xtend – Second Edition”. Packt Publishing, 2016;