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. / Model Driven Engineering (MDE) is a software development approach in which models are essential artifacts to build software systems. Source code or executable artifacts are automatically generated, completely or partially, by transformations described by mapping functions. Two main advantages can be obtained: software development in a higher level of abstraction than that of traditional programming languages and the possibility of generating implementations of the same system for multiple platforms from the same source model. One of the research fields of MDE is the formalization of theories and concepts related to this approach, such as models, metamodels, conformity relationship, operations over metamodels, etc. Although there are proposals of formalization in the literature, some gaps and a lack of general consensus can be identified, which leads some authors to introduce their own definitions when they want to present their work. These definitions not always fit to each other. Some authors claim that unless a complete formalization of MDE concepts and relations is given, the potentials of this approach may not be fully unfolded. Starting from studies on existing proposals, gaps and requirements, this work proposes a theoretical framework for MDE based on the set theory, language theory and first order logic. Concepts and operations related to MDE are defined over a common basis and some original formulations are developed, such as the metamodel merging function and definitions about executable models, which can be used as a foundation to build model execution engines, consolidating and expanding the theoretical field of MDE. From the applicability point of view, the proposal is validated by a proof-of-concept tool, created as part of this research, and by examples of applications.
Identifer | oai:union.ndltd.org:usp.br/oai:teses.usp.br:tde-15122016-083328 |
Date | 02 September 2016 |
Creators | Canovas, Sergio Roberto de Mello |
Contributors | Cugnasca, Carlos Eduardo |
Publisher | Biblioteca Digitais de Teses e Dissertações da USP |
Source Sets | Universidade de São Paulo |
Language | Portuguese |
Detected Language | Portuguese |
Type | Tese de Doutorado |
Format | application/pdf |
Rights | Liberar o conteúdo para acesso público. |
Page generated in 0.0016 seconds