El acceso a la versión del editor puede requerir la suscripción del recurso Access to the published version may require subscription
AbstractModel-Driven Engineering proposes the use of models to describe the relevant aspects of the system to be built and synthesize the final application from them. Models are normally described using Domain-Specific Modelling Languages (DSMLs), which provide primitives and constructs of the domain. Still, the increasing complexity of systems has raised the need for abstraction techniques able to produce simpler versions of the models while retaining some properties of interest. The problem is that developing such abstractions for each DSML from scratch is time and resource consuming. In this paper, our goal is reducing the effort to provide modelling languages with abstraction mechanisms. For this purpose, we have devised some techniques, based on generic programming and domain-specific meta-modelling, to define generic abstraction operations that can be reused over families of modelling languages sharing certain characteristics. Abstractions can make use of clustering algorithms as similarity criteria for model elements. These algorithms can be made generic as well, and customised for particular languages by means of annotation models.As a result, we have developed a catalogue of reusable abstractions using the proposed techniques, together with a working implementation in the MetaDepth multi-level meta-modelling tool. Our techniques and prototypes demonstrate that it is feasible to build reusable and adaptable abstractions, so that similar abstractions need not be developed from scratch, and their integration in new or existing modelling languages is less costly.