Abstract Tutorial Henshin

Henshin: A Model Transformation Language and its Use for Search-Based Model Optimisation in MDEOptimiser

Daniel Strüber (Universität Koblenz-Landau), Alexandru Burdusel (King’s College London), Stefan John (Philipps-Universität Marburg), Steffen Zschaler (King’s College London)

Abstract

This tutorial presents Henshin, a versatile model transformation language increasingly used in academic and industrial applications.  Henshin is based on the paradigm of graph transformation and provides a comprehensive tool set that supports largely declarative  transformation specifications and various formal analyses. We  present the application of Henshin in a search-based model  optimisation task, where the goal is to find an optimal model  regarding a given fitness function. Using Henshin, we specify evolutionary operators for MDEOptimiser, a novel search-based  model optimisation tool.

Summary

Model transformation has been called the heart and soul of model- driven engineering, a paradigm in which models are continuously improved, refined, and translated. While transformations can, in principle, be developed using any general-purpose-language, these languages usually do not offer any support for challenges faced  during transformation development, such as the need for verification, traceability, and optimization. To better support developers, a variety of dedicated model transformation languages  has emerged.

Henshin [Ar10, St17] is a model transformation language based on the paradigm of algebraic graph transformations. Henshin’s key benefits are: (i) a visual syntax, supporting a largely declarative specification of transformations, (ii) a mature formal foundation,  enabling various formal analyses, and (iii) a comprehensive tool chain, comprising various editors, execution engines, and analysis tools. Supported analyses include model checking as well as conflict and dependency analysis. In academia, Henshin has been used use- cases such as model versioning, model refactoring, and software  product line transformations. In industry, Henshin has been used to verify the correctness of satellite control procedure translations. Search-based model optimization [ZM16] is a recent trend that  combines the benefits of model-driven and search-based software engineering. Search-based software engineering provides software developers with technologies to solve optimization tasks such as test caseselection, component deployment, or release bundling. Yet, the encoding of these tasks as
search problems requires substantial expertise in optimization technologies. To alleviate this issue, search-based model optimization makes this expertise available by encoding into an optimization framework, that can be used as a black box: The user of the framework expresses the solution space in terms of models and model transformations.

MDEOptimiser [BZ17] is a search-based model optimization framework based on Henshin. Like other recent frameworks, in particular MOMoT [FTW16], MDEOptimiser involves Henshin to bridge model transformation with optimisation based on genetic algorithms. As its distinguishing feature, MDEOptimiser uses Henshin rules to specify the genetic operators, in particular the mutation operator. This set-up is particularly efficient in situations where the model itself, rather than the orchestration of rules, is to be optimized.

Goals

Participants will take three things from the tutorial: (i) How to specify and apply model transformation rules using Henshin, (ii) How to specify an optimization problem using MDEOptimiser and Henshin, and (iii) How to design a high-quality mutation operator.

Prerequisites

Participants should be familiar with the Eclipse Modeling Framework (EMF), which provides the underlying modeling platform for Henshin. In particular, they should know how meta-models and model instances are specified using EMF. Background on model transformations and search-based model optimization is introduced during the tutorial.

References

[Ar10] Arendt, Thorsten; Biermann, Enrico; Jurack, Stefan; Krause, Christian; Taentzer, Gabriele: Henshin: advanced concepts and tools for in-place EMF model transformations. In: MODELS. Springer, pp. 121–135, 2010. https://www.eclipse.org/henshin/.

[BZ17] Burdusel, Alexandru; Zschaler, Steffen: , MDE Optimiser.  https://mde-optimiser.github.io/, 2017.

[FTW16] Fleck, Martin; Troya, Javier; Wimmer, Manuel: Search-based model transformations with MOMoT. In: ICMT. Springer, pp. 79–87, 2016.

[St17] Strüber, Daniel; Born, Kristopher; Gill, Kanwal Daud; Groner, Raffaela; Kehrer, Timo; Ohrndorf, Manuel; Tichy, Matthias: Henshin: A Usability-Focused Framework for EMF Model Transformation Development. In: ICGT. pp. 196–208, 2017.

[ZM16] Zschaler, Steffen; Mandow, Lawrence: Towards model-based optimisation: Using domain knowledge explicitly. In: MELO. pp. 317–329, 2016.