Publication
ISEC (India) 2014
Conference paper

Operational abstraction of model transforms

View publication

Abstract

Model transforms convert a model to another model or text. Transforms play a key role in model-driven engineering; therefore, it is essential for a transform user to understand the transform semantics. However, examining the transform code to obtain such understanding can be cumbersome and impractical. To address this, we present an operational abstraction of model transforms. The abstraction captures the essential transformation semantics in terms of the structure of the output and the influence of input-model elements on output fragments. Thus, the abstraction supports the transform user's perspective, which is focused on inputs and outputs, and is unconcerned with implementation details. We present an automated approach that uses a combination of selective path enumeration, forced execution of enumerated paths, and an offline trace-merging analysis to synthesize operational abstractions. We discuss different applications of the abstraction. We implemented our approach for XSLT-based model transforms and conducted empirical studies. Our results indicate that selective path enumeration can be highly effective in reducing the scope of path exploration, while ensuring that the abstraction is complete. Our user study illustrates that the abstraction can improve user efficiency in debugging faulty input models. Our final study shows the feasibility of using abstractions for two metamodel management tasks. Copyright 2014 ACM.

Date

19 Feb 2014

Publication

ISEC (India) 2014