Pular para o conteúdo principal

MDD e DSML, O Potencial da Modelagem no Desenvolvimento de Software

MDD com DSML possui foco em problemas específicos
 de um determinado domínio.
Apesar de não ter realizado uma publicação exclusiva falando sobre MDD (Model-Driven Development), grande parte da sua definição está contida na MDA (Model-Driven Architecture). O Desenvolvimento Orientado a Modelos é um paradigma que envolve todo processo de criação de software, gerando código a partir de modelos (semelhante à arquitetura MDA). Este paradigma, cada vez mais aplicado no meio acadêmico e nas empresas, abstrai a complexidade das linguagens de programação e seus códigos-fonte, já que os sistemas são desenvolvidos a partir de modelos criados para serem transformados automaticamente em código executável. Geralmente a criação destes modelos e a transformação para código executável é realizada a partir de uma ferramenta CASE (Computer-Aided Software Engineering).


MDD
A IDE permite criar/atualizar modelos, que antes só serviam
de documentação, interferindo diretamente no código.
É possível seguir o paradigma MDD a partir duas maneiras: a primeira, semelhante ao que foi falado sobre MDA aqui no blog, utiliza uma linguagem de modelagem de propósito geral (ex.: UML), a segunda faz uso de uma linguagem de propósito específico (ou Domain Specific Modeling Language, DSML). Diferente da primeira, ao utilizar uma DSML, fica estabelecida uma classe específica de problemas que, composta por abstrações e notações apropriadas, oferece maior precisão e expressividade para modelar um problema de um determinado domínio. Esta segunda maneira visa aumentar a qualidade e a produtividade da atividade da modelagem e do desenvolvimento.

DSML
A definição de uma DSML requer a especificação de três elementos: 1) sintaxe abstrata (um metamodelo que descreve os conceitos e as regras de modelagem da DSML, equivalente à gramática de uma linguagem de programação), 2) sintaxe concreta (relativa à notação gráfica da DSML, ex.: ícones e formas), 3) semântica (fornece significado para cada elemento gráfico da DSML). Além disso, a definição de uma DSML também requer a construção de uma ferramenta CASE a partir de um framework de modelagem (ex.: Eclipse Modeling Framework - EMF, Eclipse Graphical Modeling Framework - GMF e Epsilon).


Como recomendação de leitura, indico o livro "Domain-Specific Modeling: Enabling Full Code Generation". Para mais informações acesse o site http://dsmbook.com/.

Particularmente, acredito neste paradigma de desenvolvimento, principalmente em fábricas de software e processos de desenvolvimento que envolvam linhas de produto. O MDD, principalmente quando desenvolvido com DSML, pode trazer grandes benefícios e abrir muitas possibilidades, reduzindo tempo, custo e complexidade no desenvolvimento de sistemas de informação. Em MDD, o explícito conhecimento do domínio é crucial para desenvolver com sucesso uma DSML. Mas, para comprovar isso, na próxima publicação irei mostrar na prática o que pode ser feito utilizando este paradigma com DSML.

Comentários

Postagens mais visitadas deste blog

Utilizando o padrão de referências da ABNT no Word

Uma importante funcionalidade do Microsoft Word é o seu Gerenciador de Fontes Bibliográficas. Para aqueles que estão escrevendo algum trabalho acadêmico ou científico, é possível cadastrar todas as referências do trabalho e no final gerar a listagem já enumerada dos documentos que foram consultados na pesquisa. Essa postagem traz os arquivos necessários e as instruções para facilitar essa etapa da elaboração.

Como elaborar um TCC em Sistemas de Informação

Alguns meses atrás estive na tão conhecida saga de elaboração do Trabalho de Conclusão de Curso, o TCC, e somente comprovei aquilo que eu via em forma de desabafo nas redes sociais e que tantos outros colegas de faculdade me falavam. Uma das definições mais aceitas por mim sobre o que é um TCC é a citada pela minha orientadora: "é uma gestação". E realmente, apesar de ter feito o meu em cerca de 1 mês (não recomendo isso para ninguém, mas era minha única saída para não ficar desempregado e sem a possibilidade de cursar meu mestrado, mas essa é outra história), um TCC bem feito deve ter seu cronograma definido para 6 meses, no mínimo, e isso deveria ser uma recomendação do Ministério da Saúde para que os graduandos não percam sua saúde mental.

Mininet: Uma Rede Virtual Instantânea no Seu PC

Baseado no texto de introdução presente no site oficial do Mininet (www.mininet.org) apresento esta ferramenta que possibilita a desenvolvedores e pesquisadores a criação de uma rede virtual realista, executando um kernel real, switch e código de aplicação, em uma única máquina (VM, cloud ou nativa), em segundos, com comandos simples.

A rede virtual criada pelo Mininet é escalável, uma rede definida por software em um único PC utilizando processos do Linux. Isso possibilita um meio inteligente de realizar testes e simulações de uma rede antes de implementá-la em meio físico, caso esse seja o objetivo.