Flexible Graphical Editors for Extensible Modular Meta Models
Michael Junker · Repository KITopen (Karlsruhe Institute of Technology) · 2016
In model-driven software development, graphical editors can be used to create model \t\t\t\t\t\tinstances more effciently and intuitively than with pure XML code. These graphical \t\t\t\t\t\teditors rely on models created on the basis of a meta-model. If such a meta-model is \t\t\t\t\t\textended invasively not only its code has to be re-generated but also the graphical editor \t\t\t\t\t\tneeds to be adapted. When developing multiple extensions, the meta-model as well as the \t\t\t\t\t\tcorresponding graphical editor tend to get complex and error-prone. \t\t\t\t\t\tOne way of coping with this complexity is to use modular meta-models and extending \t\t\t\t\t\tthem noninvasively. However, having multiple meta-model fragments providing extended \t\t\t\t\t\tfeatures is only half the job as equivalent graphical editors are needed as well. \t\t\t\t\t\tThis master’s thesis therefore analyzes different types of extensions for meta-models as \t\t\t\t\t\twell as on graphical editor level. Next, a short analysis of extension mechanisms follows. \t\t\t\t\t\tThese mechanisms are used for different realizations of extension types. Like the extension \t\t\t\t\t\ttypes, the mechanisms are also analyzed for both meta-models and for graphical editors. \t\t\t\t\t\tWhile the classiffcation of extensions resembles one part of this thesis’ concept, their \t\t\t\t\t\tmapping from meta-model level to graphical editor level marks the second part. This \t\t\t\t\t\tmapping is done in order to show possible impacts of a meta-model extension to its \t\t\t\t\t\tcorresponding graphical editor. \t\t\t\t\t\tTo validate this concept, the analyzed mappings are implemented exemplarily in two \t\t\t\t\t\tdifferent frameworks. Furthermore, the two prototypes show the different possibilities \t\t\t\t\t\teach framework has to offer when it comes to their capabilities of extension. Therefore, \t\t\t\t\tthis thesis can also be seen as guideline for extending a given graphical editor.