quarta-feira, 29 de outubro de 2008

A sopa de letrinhas do MDA

Em qualquer artigo que trata sobre MDA, é comum encontrar um grande conjunto de siglas (até a própria metodologia é uma sigla). Para facilitar o entendimento, apresento aqui algumas das mais comuns, com uma breve descrição sobre seu significado:

MDA (Model-Driven Architecture) -> Um dos primeiros posts desse blog apresenta de forma bem simplificada o que isso significa.

OMG (Object Management Group) -> Um consórcio de companias da área da computação e software que visa desenvolver padrões na área de sistemas distribuídos orientados a objeto e na área de modelagem. Foi esse consórcio que desenvolveu a MDA, bem como outros padrões como UML, XMI e MOF.

UML (Unified Modeling Language) -> Uma linguagem de propósito geral para modelagem de sistemas, especialmente na área de engenharia de software. Através de notações gráficas, é capaz de criar um modelo abstrato de sistemas específicos.

XMI (XML Metadata Interchange) -> Um padrão para troca de metadata baseado em XML. Pode ser usado para qualquer metadata cujo metamodelo pode ser expressado em MOF. É usado principalmente como um formato para troca de modelos UML.

MOF (Meta-Object Facility) -> É um padrão para a engenharia dirigida a modelos. É utilizado para a especificação de meta-metamodelos. Por exemplo, uma especificação UML (modelo) de um determinado sistema é baseada na especificação genérica da UML (metamodelo), que por sua vez é baseada na MOF (meta-metamodelo).

DSL (Domain Specific Language) -> Uma linguagem específica para um determinado domínio. Por exemplo, MOF é uma linguagem específica para o domínio de metamodelos.

MDSD (Model-Driven Software Design) ou MDE (Model-Driven Engineering) -> É uma metodologia de desenvolvimento de software cujo foco é a criação de modelos que descrevem os componentes de um sistema. A principal iniciativa nessa área é a MDA.

CWM (Common Warehouse Metamodel) -> Uma especificação para modelar metadata de objetos encontrados em um ambiente de datawarehouse. Baseado em MOF, XMI e UML, é um dos pilares da MDA.

QVT (Query/View/Transformation) -> Um padrão para transformação de modelos. É um conceito-chave em MDA, usado nas transformações de CIM para PIM, PIM para PSM, e PSM para código-fonte.

CIM (Computation Independent Model), PIM (Platform Independent Model), PSM (Platform Specific Model) -> Esse mesmo post apresenta esses conceitos de forma simples.

Ufa! Sabendo o que significam essas siglas, torna-se mais fácil compreender os vários artigos encontrados sobre MDA! Para maiores informações sobre vários desses conceitos, o site oficial da OMG pode ser consultado (e lá vamos nós ao vício das siglas...)

Um comentário:

Letícia disse...

Essas siglas realmente confundem qualquer um! E na explicação do que as siglas significam, aparecem mais siglas!