Automating the Maintenance of Non-functional System Properties using Demonstration-based Model Transformation

Abstract : Domain-Specific Modeling Languages (DSMLs) are playing an increasingly significant role in software development. By raising the level of abstraction using notations that are representative of a specific domain, DSMLs allow the core essence of a problem to be separated from irrelevant accidental complexities that are typically found at the implementation level in source code. In addition to modeling the functional aspects of a system, a number of non-functional properties (e.g., quality of service constraints, timing requirements) also need to be integrated into models in order to reach a complete specification of a system. This is particularly true for domains that have distributed real-time and embedded needs. Given a base model with functional components, maintaining the non-functional properties that crosscut the base model has become an essential modeling task when using DSMLs. The task of maintaining non-functional properties in DSMLs is traditionally supported by manual model editing or using model transformation languages. However, these approaches are challenging to use for those unfamiliar with the specific details of a modeling transformation language and the underlying metamodel of the domain, which presents a steep learning curve for many users. This paper presents a demonstration-based approach to automate the maintenance of non-functional properties in DSMLs. Instead of writing model transformation rules explicitly, users demonstrate how to apply the non-functional properties by directly editing the concrete model instances and simulating a single case of the maintenance process. By recording a user's operations, an inference engine analyzes the user's intention and generates generic model transformation patterns automatically, which can be refined by users and then reused to automate the same evolution and maintenance task in other models. Using this approach, users are able to automate the maintenance tasks without learning a complex model transformation language. In addition, because the demonstration is performed on model instances, users are isolated from the underlying abstract metamodel definitions. Our demonstration-based approach has been applied to several scenarios, such as auto-scaling and model layout. The specific contribution in this paper is the application of the demonstration-based approach to capture crosscutting concerns representative of aspects at the modeling level. Several examples are presented across multiple modeling languages to demonstrate the benefits of our approach.
Type de document :
Article dans une revue
Journal of Software Maintenance and Evolution, Wiley, 2013
Liste complète des métadonnées


https://hal.inria.fr/hal-00916287
Contributeur : Benoit Baudry <>
Soumis le : mardi 10 décembre 2013 - 08:58:15
Dernière modification le : vendredi 13 janvier 2017 - 14:21:08
Document(s) archivé(s) le : mardi 11 mars 2014 - 03:25:28

Fichier

AOM-JSME.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00916287, version 1

Collections

Citation

Yu Sun, Jeff Gray, Romain Delamare, Benoit Baudry, Jules White. Automating the Maintenance of Non-functional System Properties using Demonstration-based Model Transformation. Journal of Software Maintenance and Evolution, Wiley, 2013. <hal-00916287>

Partager

Métriques

Consultations de
la notice

442

Téléchargements du document

161