1 |
Extension des systèmes de métamodélisation persistant avec la sémantique comportementale / Handling behavioral semantics in persistent metamodeling systemsBazhar, Youness 13 December 2013 (has links)
L’Ingénierie Dirigée par les Modèles (IDM) a suscité un grand intérêt grâce aux avantages qu’elle offre. Enparticulier, l’IDM vise à accélérer le processus de développement et à faciliter la maintenance des logiciels. Mais avecl'augmentation permanente de la taille des modèles et de leurs instances, l’exploitation des modèles et de leurs instances,en utilisant des outils classiques présente des insuffisances liées au passage à l’échelle. L’utilisation des bases de donnéesest une des solutions proposées pour répondre à ce problème. Dans ce contexte, deux approches ont été proposées. Lapremière consiste à équiper les outils de modélisation avec des bases de données dédiées au stockage de modèles,appelées model repositories (p. ex. EMFStore). Ces bases de données sont équipées de langages d’exploitation limitésseulement à l’interrogation des modèles et des instances. Par conséquent, ces langages n’offrent aucune capacité poureffectuer des opérations avancées sur les modèles telles que la transformation de modèles ou la génération de code. Ladeuxième approche, que nous suivons dans notre travail, consiste à définir des environnements persistants en base dedonnées dédiés à la méta-modélisation. Ces environnements sont appelés systèmes de méta-modélisation persistants(PMMS). Un PMMS consiste en (i) une base de données dédiée au stockage des méta-modèles, des modèles et de leursinstances, et (ii) un langage d'exploitation associé possédant des capacités de méta-modélisation et d’exploitation desmodèles. Plusieurs PMMS ont été proposés tels que ConceptBase ou OntoDB/OntoQL. Ces PMMS supportentprincipalement la définition de la sémantique structurelle et descriptive des méta-modèles et des modèles en terme de(méta-)classes, (méta-)attributs, etc. Par contre, ces PMMS fournissent des mécanismes limités pour définir la sémantiquecomportementale nécessaire à l’exploitation des modèles et des instances. En effet, la sémantique comportementalepourrait être utile pour calculer des concepts dérivés, effectuer des transformations de modèles, générer du code source,etc. Ainsi, nous proposons dans notre travail d'étendre les PMMS avec la possibilité d'introduire dynamiquement desopérations qui peuvent être implémentées en utilisant des mécanismes hétérogènes. Ces opérations peuvent ainsi utiliserdes mécanismes internes au système de gestion de base de données (p. ex. les procédures stockées) tout comme desmécanismes externes tels que les services web ou les programmes externes (p. ex. Java, C++). Cette extension permetd’améliorer les PMMS en leur donnant une plus large couverture de fonctionnalités et une plus grande flexibilité. Pourvalider notre proposition, elle a été implémentée sur le prototype OntoDB/OntoQ et a été mise en oeuvre dans troiscontextes différents : (1) pour calculer les concepts dérivés dans les bases de données à base ontologique, (2) pouraméliorer une méthodologie de conception de base de données à base ontologique et finalement (3) pour faire de latransformation et de l’analyse des modèles des systèmes embarqués temps réel. / Modeling and model management have taken a great interest in software development since they accelerate thesoftware development process and facilitate their maintenance. But, with the increasing size of models and their instances,the management of models and their instances with tools evolving in main memory presents some insufficiencies relatedto scalability. Indeed, classical tools using the central memory have shown their limits when they face large scale modelsand instances. Thus, to overcome the problem of scalability, the management of models in databases becomes a necessity.Indeed, two solutions were proposed. The first one consists in equipping modeling and model management tools withspecific databases, called model repositories, (e.g., EMFStore) dedicated to store metamodels, models and instances.These model repositories are equipped with exploitation languages restricted only to querying capabilities such that modelrepositories serve only as model warehouses as processing model management tasks require loading the whole model tothe central memory. The second solution, on which we focus our approach, consists in defining database environments formetamodeling and model management. These systems, called Persistent MetaModeling Systems (PMMSs), aim atproviding a database environment for metamodeling and model management. Indeed, a PMMS consists in (i) a databasethat stores metamodels, models their instances, and (ii) an associated exploitation language possessing metamodeling andmodel management capabilities. Several PMMSs have been proposed (e.g., ConceptBase, OntoDB/OntoQL) and focusmainly on the structural definition of metamodels and models in terms of (meta-)classes, (meta-)attributes, etc. Yet,existing PMMSs provide limited capabilities to define behavioral semantics for model and data management. Indeed,behavioral semantics could be useful to compute derivations, perform model transformations, generate source code, etc.In our work, we propose to extend PMMSs with the capability to introduce dynamically user-defined model and datamanagement operations. These operations can be implemented using flexible and heterogeneous mechanisms. Indeed,they can use internal database mechanisms (e.g., stored procedures) as well as external mechanisms such as web servicesor external programs (e.g., Java, C++). As a consequence, this extension enhances PMMSs giving them more coverageand further flexibility. This extension has been implemented on the OntoDB/OntoQL prototype, and experimented tocheck the scaling of our approach. Moreover, our proposition has been used in three different contexts. In particular, (1)to compute derived concepts of ontologies, (2) to enhance an ontology-based database design methodology and (3) totransform and analyze models of real-time and embedded systems.
|
Page generated in 0.0629 seconds