A Lightweight Modeling Approach Based on Functional Decomposition

By: Pierre Kelsen, Qin Ma, Christian Glodt

Abstract

Creating models and transforming them using current MDE techniques is not easy: it generally requires mastering several non-trivial languages such as a metamodeling languages and a model transformation language. We propose a two-pronged approach for tackling language complexity for the case of model-to-text transformations. We first allow the user to define the metamodel in an example-driven fashion in which (s)he incrementally builds a set of examples and automatically infers the metamodel from them. The example-driven approach is based on a new object-modelling notation named OYAML that is both human- and machine- readable. Second we break down the complexity of writing the transformation itself by separately defining the functional decomposition of the transformation function using a new modelling language named FUDOMO. This will then allow the user to describe the precise behaviour in a general purpose programming language that (s)he is familiar with. Because they do not need to be very expressive, OYAML and FUDOMO are small languages when compared to commonly used metamodeling and model-to-text transformation languages. We provide a web-based tool, also named FUDOMO, that assists the user in this example-driven approach to model-to-text transformations and currently supports the use of Javascript and Python for defining the precise behaviour of model transformations.

Keywords

functional decomposition, example-driven modeling, object models, model-to-text transformations, model transformation, code gener- ation

Cite as:

Pierre Kelsen, Qin Ma, Christian Glodt, “A Lightweight Modeling Approach Based on Functional Decomposition”, Journal of Object Technology, Volume 19, no. 2 (July 2020), pp. 15:1-22, doi:10.5381/jot.2020.19.2.a15.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

This article is accompanied by a video realized by the author(s).

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact