Automating the Maintenance of Non-functional System Properties using Demonstration-based Model Transformation - Archive ouverte HAL Access content directly
Journal Articles Journal of Software Maintenance and Evolution Year : 2013

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

(1) , (2) , (2) , (3) , (4)
1
2
3
4

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.
Fichier principal
Vignette du fichier
AOM-JSME.pdf (3.23 Mo) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-00916287 , version 1 (10-12-2013)

Identifiers

  • HAL Id : hal-00916287 , version 1

Cite

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, 2013. ⟨hal-00916287⟩
189 View
171 Download

Share

Gmail Facebook Twitter LinkedIn More