Assistance à la méta-modélisation précise
Institution:
Rennes 1Disciplines:
Directors:
Abstract EN:
Domain-specific modeling languages (DSMLs) promise increased productivity for modeling software-intensive systems. Still, the definition of a language that correctly captures the domain knowledge remains difficult. The definition of a metamodel that precisely captures a domain is challenging. Two majors obstacles arise: First, a metamodel is a description of the possibly infinite set of all conforming models. However, there is currently no systematic method to test that a metamodel captures all the correct models of the domain and no more. Second, domain experts who want to build a metamodel must master two different languages: an object-oriented model for the domain structure (MOF) and first order logic (OCL) to define well-formedness rules. We observe that most metamodels have only an object-oriented domain structure, leading to inaccurate metamodels. For the first obstacle, we argue that providing the expert with a qualified set of test data will allow him to ensure that it only captures correct models. We focus on the automatic selection of a test-adequate set of models in the modeling space captured by a metamodel. For the second obstacle, we perform an empirical study to analyze the state of practice in 33 metamodels that actually use MOF and OCL. We notice that there is a set of frequent OCL expressions, which resulted in a catalog of 20 patterns of MOF-OCL, used to suggest rules for an input metamodel, which the expert validates with a selected set of test models. We perform further refinement to rules by using genetic programming. We have thus a complete global approach to tackle the main two obstacles for assisting precise metamodeling.
Abstract FR:
Les langages de modélisation spécifique au domaine (DSMLs) promettent une augmentation de la productivité pour la modélisation de systèmes à logiciel intensif. Pourtant, la définition d'un langage qui capte correctement la connaissance d'un domaine reste un défi. La définition d'un métamodèle qui capture précisément un domaine est une tâche difficile. Deux obstacles majeurs se posent: Tout d'abord, un métamodèle est une description de l'ensemble infini de tous les modèles conformes. Cependant, il n'existe aucune méthode pour tester qu'un métamodèle capture les modèles corrects et pas plus. Deuxièmement, les experts qui veulent construire un métamodèle doivent maîtriser deux langages radicalement différentes: un langage pour la structure du domaine (MOF) et un langage pour les règles de bonne formation (OCL). La plupart des métamodèles ne disposent que d'une structure de domaine, conduisant à métamodèles inexactes. Pour le premier obstacle, nous travaillons sur la sélection automatique d'un ensemble de modèles test-adéquats dans l'espace de modélisation capturé par un métamodèle. Pour le second obstacle, nous avons effectué uneétude empirique pour analyser la pratique dans 33 métamodèles qui utilisent MOF et OCL. On y remarque l'existence d'expressions OCL fréquemment utilisées, ce qui a conduit à un catalogue de 20 patrons de MOF et OCL. Ils sont utilisés pour proposer un ensemble initial de règles pour un métamodèle d'entrée, qui sont validées par l'expert avec l'ensemble des modèles de test. Nous effectuons un raffinement sur l'ensemble des règles à l'aide de la programmation génétique. Nous avons ainsi une approche complète pour assister la métamodélisation précise.