Uma proposta de formalismo como arcabouço teórico para engenharia dirigida por modelos e aplicações. - Canovas, Sergio Roberto de Mello (2016)
Engenharia Dirigida por Modelos, ou Model Driven Engineering (MDE), é uma abordagem para desenvolvimento de software a partir de modelos. Código-fonte ou artefatos executáveis são gerados de forma automática, total ou parcialmente, a partir de transformações descritas por funções de mapeamento. Com isso, obtém-se as vantagens de desenvolver software em nível de abstração maior em relação às linguagens de programação tradicionais e da possibilidade de gerar implementações do mesmo sistema para diversas plataformas a partir do mesmo modelo. Uma das áreas de pesquisa da MDE é a formalização de teorias e conceitos relacionados a essa abordagem, tais como modelos, metamodelos, relação de conformidade, operações sobre metamodelos, etc. Embora existam na literatura propostas de formalização, observam-se lacunas e falta de consenso geral, o que leva autores a introduzir suas próprias definições quando desejam apresentar desenvolvimentos ou deduções, as quais nem sempre se encaixam entre si. Alguns autores consideram que, enquanto uma completa formalização de conceitos e relações da MDE não for estabelecida, seus potenciais podem não ser plenamente atingidos. A partir de estudos de proposições existentes na literatura, identificação de lacunas e necessidades, este trabalho apresenta uma proposta de arcabouço teórico para MDE, baseada nas teorias de conjuntos e linguagens, e em lógica de primeira ordem. Conceitos e operações relacionados à MDE são definidos sobre uma base comum e, a partir dela, algumas formulações originais são desenvolvidas, tais como a função de mesclagem de metamodelos e uma definição de modelos executáveis, que podem servir como base para a construção de motores de execução de modelos, consolidando e ampliando o conhecimento da área teórica da MDE. Do ponto de vista de aplicabilidade prática, a proposta é validada por meio de uma ferramenta de prova de conceito, criada também como parte desta pesquisa, e pela apresentação de exemplos de aplicações.