Metamodelagem - Metamodeling

Exemplo de um meta-modelo de informação de mapa geológico, com quatro tipos de meta-objetos e suas autorreferências.

Um metamodelo ou modelo substituto é um modelo de um modelo, e metamodelagem é o processo de geração de tais metamodelos. Assim metamodelagem ou metamodelagem é a análise, construção e desenvolvimento dos quadros, regras, restrições, modelos e teorias aplicáveis e úteis para a modelagem de uma classe predefinida de problemas. Como o próprio nome indica, este conceito aplica as noções de meta e modelagem em engenharia de software e engenharia de sistemas . Os metamodelos são de muitos tipos e têm diversas aplicações.

Visão geral

Um metamodelo / modelo substituto é um modelo do modelo, ou seja, um modelo simplificado de um modelo real de um circuito, sistema ou entidade semelhante a software. O metamodelo pode ser uma relação matemática ou algoritmo que representa as relações de entrada e saída. Um modelo é uma abstração de fenômenos do mundo real ; um metamodelo é outra abstração, destacando propriedades do próprio modelo. Um modelo está de acordo com seu metamodelo da mesma forma que um programa de computador está de acordo com a gramática da linguagem de programação na qual é escrito. Vários tipos de metamodelos incluem equações polinomiais, rede neural, Krigagem , etc. "Metamodelagem" é a construção de uma coleção de "conceitos" (coisas, termos, etc.) dentro de um determinado domínio. A metamodelagem normalmente envolve estudar as relações de saída e entrada e, em seguida, ajustar os metamodelos corretos para representar esse comportamento.

Os usos comuns para metamodelos são:

  • Como um esquema para dados semânticos que precisam ser trocados ou armazenados
  • Como uma linguagem que oferece suporte a um determinado método ou processo
  • Como uma linguagem para expressar semânticas adicionais de informações existentes
  • Como um mecanismo para criar ferramentas que funcionam com uma ampla classe de modelos em tempo de execução
  • Como um esquema para modelar e explorar automaticamente frases de uma linguagem com aplicativos para síntese de teste automatizado
  • Como uma aproximação de um modelo de alta fidelidade para uso ao reduzir tempo, custo ou esforço computacional é necessário

Por causa do caráter "meta" da metamodelagem, tanto a práxis quanto a teoria dos metamodelos são relevantes para a metaciência , metafilosofia , metateorias e sistêmica , e metaconsciência. O conceito pode ser útil em matemática e tem aplicações práticas em ciência da computação e engenharia da computação / engenharia de software . Os últimos são o foco principal deste artigo.

Tópicos

Ilustração de facilidade de meta-objeto .
Exemplo de uma ontologia .
Um metamodelo DoDAF .

Definição

Na engenharia de software , o uso de modelos é uma alternativa às técnicas de desenvolvimento baseadas em código mais comuns. Um modelo sempre está em conformidade com um metamodelo único. Um dos ramos mais ativos da Engenharia Orientada a Modelos é a abordagem denominada arquitetura orientada a modelos proposta pela OMG . Esta abordagem é baseada na utilização de uma linguagem para escrever metamodelos chamada Meta Object Facility ou MOF . Metamodelos típicos propostos pela OMG são UML , SysML , SPEM ou CWM. A ISO também publicou o metamodelo padrão ISO / IEC 24744 . Todos os idiomas apresentados a seguir podem ser definidos como metamodelos MOF.

Modelagem de metadados

A modelagem de metadados é um tipo de metamodelagem usado em engenharia de software e engenharia de sistemas para a análise e construção de modelos aplicáveis ​​e úteis a alguma classe de problemas predefinida. (veja também: modelagem de dados ).

Transformações de modelo

Um movimento importante na engenharia orientada a modelos é o uso sistemático de linguagens de transformação de modelos . O OMG propôs um padrão para isso chamado QVT para consultas / visualizações / transformações. QVT é baseado na facilidade de meta-objeto (MOF). Entre muitas outras linguagens de transformação de modelo (MTLs), alguns exemplos de implementações deste padrão são AndroMDA, VIATRA , Tefkat , MT , ManyDesigns Portofino .

Relação com ontologias

Os metamodelos estão intimamente relacionados às ontologias . Ambos são frequentemente usados ​​para descrever e analisar as relações entre os conceitos

  • Ontologias: expressam algo significativo dentro de um universo ou domínio específico do discurso , utilizando uma gramática para usar o vocabulário. A gramática especifica o que significa ser uma declaração, asserção, consulta bem formada, etc. (restrições formais) sobre como os termos no vocabulário controlado da ontologia podem ser usados ​​juntos.
  • Meta-modelagem: pode ser considerada como uma descrição explícita (construções e regras) de como um modelo específico de domínio é construído. Em particular, isso compreende uma especificação formalizada das notações específicas do domínio. Normalmente, os metamodelos são - e sempre devem seguir - um conjunto de regras estrito. “Um metamodelo válido é uma ontologia, mas nem todas as ontologias são modeladas explicitamente como metamodelos”.

Tipos de metamodelos

Para engenharia de software, vários tipos de modelos (e suas atividades de modelagem correspondentes) podem ser distinguidos:

Zoológicos de metamodelos

Uma biblioteca de metamodelos semelhantes foi chamada de Zoo de metamodelos. Existem vários tipos de zoos de metamodelo. Alguns são expressos em ECore. Outros são escritos em MOF 1.4 - XMI 1.2. Os metamodelos expressos em UML - XMI 1.2 podem ser carregados no Poseidon for UML, uma ferramenta UML CASE .

Veja também

Referências

Leitura adicional