Metamodelagem - Metamodeling
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
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:
- Modelagem de metadados (modelo MetaData)
- Modelagem de meta-processo (modelo MetaProcess)
- Meta-modelagem executável (combinando ambos os itens acima e muito mais, como na ferramenta de uso geral Kermeta )
- Linguagem de transformação de modelo (veja abaixo)
- Metamodelos polinomiais
- Redes neurais metamodelos
- krigagem metamodelos
- Metamodelos polinomiais por partes (spline)
- Krigagem aprimorada por gradiente (GEK)
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
- Modelo de referência de negócios
- Gestão de dados
- Engenharia orientada por modelo (MDE)
- Arquitetura orientada por modelo (MDA)
- Linguagem específica de domínio (DSL)
- Modelagem Específica de Domínio (DSM)
- Sistema Genérico de Modelagem Eclipse (GEMS)
- Kermeta ( metamodelagem de kernel)
- Metadados
- Ferramenta MetaCASE (ferramentas para criar ferramentas para ferramentas de engenharia de software auxiliadas por computador )
- Engenharia de método
- Metamodelo MODAF
- Consultas / visualizações / transformações MOF (MOF QVT)
- Metodologia de Processo de Objeto
- Análise de requisitos
- Mapeamento do espaço
- Modelo substituto
- Linguagem de transformação
- VIATRA (Viatra)
- Linguagem de transformação XML (XML TL)
Referências
Leitura adicional
- Saraju Mohanty (2015). "Capítulo 12 Metamodelo - Metodologias Rápidas de Projeto AMS-SoC". Projeto de sistema de sinal misto nanoeletrônico . McGraw-Hill. ISBN 978-0071825719.
- Booch, G., Rumbaugh, J., Jacobson, I. (1999), The Unified Modeling Language User Guide , Redwood City, CA: Addison Wesley Longman Publishing Co., Inc.
- JP van Gigch , System Design Modeling and Metamodeling , Plenum Press, Nova York, 1991
- Gopi Bulusu, hamara.in, 2004 Model Driven Transformation
- PC Smolik, Mambo Metamodeling Environment , Tese de Doutorado, Brno University of Technology. 2006
- Gonzalez-Perez, C. e B. Henderson-Sellers, 2008. Metamodelling for Software Engineering. Chichester (Reino Unido): Wiley. 210 p. ISBN 978-0-470-03036-3
- MA Jeusfeld, M. Jarke e J. Mylopoulos , 2009. Metamodeling for Method Engineering. Cambridge (EUA): The MIT Press. 424 p. ISBN 978-0-262-10108-0 , Acesso aberto via http://conceptbase.sourceforge.net/2021_Metamodeling_for_Method_Engineering.pdf
- G. Caplat Modèles & Métamodèles , 2008 - ISBN 978-2-88074-749-7 (em francês)
- Fill, H.-G., Karagiannis, D., 2013. On the Conceptualisation of Modeling Methods Using the ADOxx Meta Modeling Platform , Enterprise Modeling and Information Systems Architectures, Vol. 8, Edição 1, 4-25.