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 resetar completamente uma instalação do Apache no Ubuntu

Quando eu estava experimentando o módulo python do Apache (mod_python), eu 'de alguma maneira' estraguei minha instalação do Apache. Os arquivos de configuração ficaram em um estado estranho, então eu excluí a pasta /etc/apache2, removi o Apache (através do dpkg) e o reinstalei. Mas o resultado não foi como esperado, a pasta /etc/apache2 não foi recriada na instalação.

Como interpretar e utilizar gráficos

A quantidade de uma única postagem nos últimos 5 anos de blog mostra o quanto estive focado em outras coisas e sem tempo para escrever aqui. Porém, no meio de uma pandemia e com a finalização do meu doutorado, acabei ficando com mais tempo e colocando como meta a volta das publicações aqui no blog.
Nunca antes na história desse país a população, de uma maneira geral, se preocupou tanto com gráficos, curvas, média e outras questões básicas da estatística. Assim, em tempos de coronavírus, essa postagem tem o objetivo de auxiliar que mais e mais pessoas consigam interpretar gráficos, fazer comparações e, inclusive, saber o melhor tipo de gráfico para usar em determinados casos.