O Desenvolvimento Orientado a Modelos é uma abordagem de desenvolvimento de sistemas computacionais, que aumenta o poder da utilização de modelos (OMG, 2003) para esta finalidade. Esta abordagem proporciona um meio de utilizar modelos no curso do entendimento, projeto, construção, implantação, operação, manutenção e modificação de sistemas computacionais (OMG, 2003). Os modelos são expressos em linguagens de modelagem que possuem sua sintaxe abstrata descritas em modelos conhecidos como metamodelos (ALMEIDA et al., 2006b).
O Processo de Desenvolvimento Orientado a Modelos é caracterizado como uma seqüência de etapas de projeto que possuem como finalidade o desenvolvimento de um sistema computacional. Para cada etapa de projeto, atividades de projeto são executadas. Cada atividade de projeto contém uma atividade de transformação (do inglês, transformation activity) e uma atividade de avaliação (do inglês, assessment activities)(ALMEIDA et al., 2006a).
Uma atividade de transformação é uma atividade de projeto genérica que é responsável por produzir um modelo destino (do inglês, target model) tendo com base um modelo origem (do inglês, source design) e um ou mais requisito que devem ser satisfeitos. Uma atividade de avaliação é uma atividade de projeto genérica que possui como compromisso avaliar o modelo destino produzido pela atividade de transformação. A noção de modelo de origem e destino depende da etapa do projeto (ALMEIDA et al., 2006b). Em princípio, as atividades de avaliação devem incluir avaliação de conformidade (do inglês, conformance assessment) para avaliar se o modelo destino está em conformidade com o modelo de origem (ALMEIDA, 2006).
Redução do espaço de soluções para um projeto com diferente níveis de abstração (ALMEIDA et al., 2006a).
As decisões de projeto realizadas em cada etapa do projeto devem reunir dois requisitos para que o processo de construção do sistema computacional tenha sucesso: (i) as decisões de projeto devem contribuir para satisfazer requisitos do sistema que ainda não foram compridos, e (ii) as decisões de projeto devem preservar as características que estão presentes modelo de origem, isto é, o modelo de destino deve estar em conformidade com o modelo de origem (ALMEIDA et al., 2006a).
Por fim, as decisões de projeto devem eventualmente guiam o projeto de desenvolvimento do sistema computacional, afim de, definir todas as características que são necessárias para o sistema em realização. A plataforma em que o sistema computacional irá ser desenvolvido, particularmente, define como as decisões de projeto podem ser feitas. De forma similar, as decisões de projeto definem as possíveis plataformas em que a o projeto pode ser realizado (ALMEIDA et al., 2006a).
Referências
-
ALMEIDA, J. P. A. Model-Driven Design of Distributed Applications, Ph.D. Thesis in Computer Science, CTIT Ph.D.-Thesis Series, No. 06-85, Telematica Instituut Fundamental Research Series, No. 018 (TI/FRS/018), Enschede, The Netherlands, 2006, ISBN 90-75176-422
ALMEIDA, J.P.A.; DIJKMAN, R.; SINDEREN, M.V,; QUARTEL, D.; PIRES, L. F. Model Driven Design, Refinement and Transformation of Abstract Interactions, International Journal of Cooperative Information Systems (IJCIS), Vol. 15, No. 4, 2006b, pp. 599-632.
-
ALMEIDA, J.P.A.; VAN ECK. P.; IACOB, M. E. Requirements Traceability and Transformation Conformance in Model-Driven Development, Tenth IEEE International EDOC Conference (EDOC 2006), IEEE Computer Society Press, 2006a, pp. 355-366.