Pular para o conteúdo principal

Padrões da OMG com suporte à MDA

Na publicação anterior mostrei um resumo do que é MDA, suas características e benefícios. Nesta publicação irei discutir sobre o que existe de concreto para realizar o desenvolvimento utilizando este padrão arquitetural da engenharia de software.

Os seguintes padrões: UML (Unified Modeling Language), MOF (Meta Object Facility), QVT (Query, View and Transformation), OCL (Object Constraint Language) e XMI (XML Metadata Interchange) compõem as especificações do OMG para desenvolver software utilizando a arquitetura MDA.

UML e OCL
A OMG define um número de linguagens de modelagem apropriadas para a escrita de modelos PIM e
PSM. A mais utilizada é a UML, difundida nos cursos de TI apenas como uma linguagem para criar diagramas que tornem possível a visualização do desenho do sistema e a comunicação entre objetos.

A OCL é uma linguagem para pesquisas e inserção de restrições em modelos UML e é parte integrante da própria UML. É uma linguagem declarativa para descrever as regras que se aplicam aos modelos UML, desenvolvida na IBM e que agora é parte do padrão do OMG. OCL, inicialmente, era apenas uma extensão de UML para especificações formais de modelos. Atualmente a OCL pode ser utilizada com qualquer metamodelo baseado em MOF, incluindo os próprios modelos criados em UML.

A OCL é uma linguagem de texto precisa que fornece restrições e expressões de consulta para objetos em qualquer modelo MOF ou metamodelo que não possa ser expressado de outra forma numa notação em diagrama. Além disso, é também um componente chave do novo padrão de recomendação da OMG para transformação de modelos, que discutiremos ainda nesta publicação, a especificação QVT.

MOF
Todas as linguagens de modelagem usadas no paradigma da MDA seguem uma definição formal. Somente desta forma é que as ferramentas (as transformações) serão capazes de interpretar o modelos implementados. Esta definição formal é especificada pelo OMG através de uma linguagem especial, denominada MOF. A MOF é usada para especificar todas as outras linguagens de modelagem.

A criação de linguagens baseadas em MOF garante que todas as ferramentas que seguem o paradigma MDA serão capazes de manipular estas linguagens. Como visto na sub-seção de UML e OCL, a própria UML é baseada em MOF.

QVT
Voltada para a transformação entre modelos, possui um nome autoexplicativo. É uma linguagem que consulta (Query) um metamodelo, visualiza um modelo (View) e o transforma (Transformation) em outro modelo, baseado também num metamodelo de saída. É o padrão OMG que define as linguagens que irão implementar as regras de transformação.

XMI
Para armazenar os modelos, o OMG definiu o padrão XMI, onde toda a descrição do modelo irá estar presente em um documento neste padrão. Isto permite a interoperação entre modelos. Por exemplo, modelos UML pode ser trocados entre diferentes ferramentas CASE que suportem o padrão XMI. Fica claro o benefício principal trazido por este tipo de padronização, onde um único modelo criado pode ser utilizado em várias ferramentas sem a necessidade de alteração do modelo para atender uma especificação diferente daquela que foi padronizada.

Na próxima publicação da série sobre MDA irei mostrar um exemplo prático de desenvolvimento, utilizando tudo que foi falado até aqui sobre este paradigma.

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.