Métamodélisation - Metamodeling

Exemple de méta-modèle d'informations cartographiques géologiques, avec quatre types de méta-objets et leurs auto-références.

Un métamodèle ou un modèle de substitution est un modèle d'un modèle, et la métamodélisation est le processus de génération de ces métamodèles. Ainsi métamodélisation ou métamodélisation est l'analyse, la construction et le développement des cadres, des règles, des contraintes, des modèles et des théories applicables et utiles pour modéliser une classe prédéfinie de problèmes. Comme son nom l'indique, ce concept applique les notions de méta- et de modélisation en génie logiciel et en génie des systèmes . Les métamodèles sont de plusieurs types et ont des applications diverses.

Aperçu

Un métamodèle/modèle de substitution est un modèle du modèle, c'est-à-dire un modèle simplifié d'un modèle réel d'un circuit, d'un système ou d'une entité de type logiciel. Le métamodèle peut être une relation mathématique ou un algorithme représentant les relations d'entrée et de sortie. Un modèle est une abstraction des phénomènes du monde réel ; un métamodèle est encore une autre abstraction, mettant en évidence les propriétés du modèle lui-même. Un modèle se conforme à son métamodèle de la même manière qu'un programme informatique se conforme à la grammaire du langage de programmation dans lequel il est écrit. Divers types de métamodèles incluent les équations polynomiales, les réseaux de neurones, le krigeage , etc. Le « métamodélisation » est la construction d'une collection de « concepts » (choses, termes, etc.) dans un certain domaine. La métamodélisation implique généralement d'étudier les relations de sortie et d'entrée, puis d'adapter les bons métamodèles pour représenter ce comportement.

Les utilisations courantes des métamodèles sont :

  • En tant que schéma pour les données sémantiques qui doivent être échangées ou stockées
  • En tant que langage prenant en charge une méthode ou un processus particulier
  • En tant que langage pour exprimer une sémantique supplémentaire d'informations existantes
  • En tant que mécanisme pour créer des outils qui fonctionnent avec une large classe de modèles au moment de l'exécution
  • En tant que schéma de modélisation et d'exploration automatique des phrases d'un langage avec des applications à la synthèse automatisée de tests
  • En tant qu'approximation d'un modèle de plus haute fidélité à utiliser lors de la réduction du temps, des coûts ou de l'effort de calcul est nécessaire

En raison du caractère « méta » de la métamodélisation, tant la praxis que la théorie des métamodèles sont pertinentes pour la métascience , la métaphilosophie , les métathéories et la systémique , et la méta-conscience. Le concept peut être utile en mathématiques et a des applications pratiques en informatique et en génie informatique / génie logiciel . Ces derniers sont l'objet principal de cet article.

Les sujets

Illustration de l' installation de méta-objets .
Exemple d' ontologie .
Un métamodèle DoDAF .

Définition

En génie logiciel , l'utilisation de modèles est une alternative aux techniques de développement basées sur du code plus courantes. Un modèle se conforme toujours à un métamodèle unique. L'une des branches actuellement les plus actives de l' ingénierie dirigée par les modèles est l'approche nommée architecture dirigée par les modèles proposée par OMG . Cette approche est basée sur l'utilisation d'un langage pour écrire des métamodèles appelé Meta Object Facility ou MOF . Les métamodèles typiques proposés par OMG sont UML , SysML , SPEM ou CWM. L'ISO a également publié le métamodèle standard ISO/IEC 24744 . Tous les langages présentés ci-dessous pourraient être définis comme des métamodèles MOF.

Modélisation des métadonnées

La modélisation des métadonnées est un type de métamodélisation utilisé en génie logiciel et en génie des systèmes pour l'analyse et la construction de modèles applicables et utiles à une classe prédéfinie de problèmes. (voir aussi : modélisation des données ).

Transformations de modèle

L' utilisation systématique de langages de transformation de modèle est une avancée importante dans l' ingénierie dirigée par les modèles . L'OMG a proposé une norme pour cela appelée QVT pour les requêtes/vues/transformations. QVT est basé sur la fonction de méta-objet (MOF). Parmi de nombreux autres langages de transformation de modèles (MTL), quelques exemples d'implémentations de cette norme sont AndroMDA, VIATRA , Tefkat , MT , ManyDesigns Portofino .

Relation avec les ontologies

Les méta-modèles sont étroitement liés aux ontologies . Les deux sont souvent utilisés pour décrire et analyser les relations entre les concepts

  • Ontologies : exprimer quelque chose de significatif dans un univers ou un domaine de discours spécifié en utilisant une grammaire pour utiliser le vocabulaire. La grammaire spécifie ce que signifie être une déclaration, une assertion, une requête, etc. bien formée (contraintes formelles) sur la façon dont les termes du vocabulaire contrôlé de l'ontologie peuvent être utilisés ensemble.
  • Méta-modélisation : peut être considérée comme une description explicite (constructions et règles) de la manière dont un modèle spécifique à un domaine est construit. En particulier, cela comprend une spécification formalisée des notations spécifiques au domaine. En règle générale, les métamodèles sont - et doivent toujours suivre - un ensemble de règles strictes. « Un métamodèle valide est une ontologie, mais toutes les ontologies ne sont pas modélisées explicitement en tant que métamodèles ».

Types de métamodèles

Pour le génie logiciel, on peut distinguer plusieurs types de modèles (et leurs activités de modélisation correspondantes) :

Zoos de métamodèles

Une bibliothèque de métamodèles similaires a été appelée Zoo de métamodèles. Il existe plusieurs types de zoos méta-modèles. Certains sont exprimés en ECore. D'autres sont écrits en MOF 1.4 – XMI 1.2. Les métamodèles exprimés en UML - XMI 1.2 peuvent être téléchargés dans Poseidon for UML, un outil UML CASE .

Voir également

Les références

Lectures complémentaires