An Implementation of Deep-Connections for Multi-Level Modeling
Authors:   , Chang Xicheng 
Published: November 2021

<p>Traditional object-oriented programming languages only support two logical domain classification levels, i.e. classes and objects. However, if the problem involves more than two classification levels, then to model a multi-level scenario within two classification levels, a mapping approach is required which introduces accidental complexity and destroys the desirable property of “direct mapping”. Therefore “Multi-level modeling” was proposed. It supports an unbounded number of classification levels, that can support “direct mapping” without introducing accidental complexity. Many supporting features have been proposed for “multi-level” modeling such as “deep instantiation”, potency, clabjects, etc. To date most of the research effort was focusing on the entities (clabjects), while the relationships between entities were receiving much less attention and remained under-explored.  The “Melanee” tool was developed to support multi-level modeling both for academics and practitioners. “Melanee” supports an unbounded number of classification levels for domain modeling and it treats relationships like clabjects. It mainly supports “constructive modeling” by creating models using a “top-down” approach, whereas “explanatory modeling”, which is creating models using “bottom-up” approach, is not well supported and lacks support to ensure the integrity of the created models. Hence, to further explore relationships in multi-level modeling and to provide a better modeling environment, there are two main focuses in this thesis: First, based on existing, I further explore relationships between entities and extend the LML (Level Agnostic Modeling Language) supported by Melanee accordingly. Second, I extend Melanee’s functionality to support “explanatory modeling”.  Considering that Melanee is an open source tool I first discuss Melanee’s structure and its principles in order contribute to future extensions to Melanee. The knowledge of Melanee is currently known by its principle developer, Ralph Gerbig, with whom I had contacts in the beginning phase of the “deep-connection” development for advices. Next I use the work proposed in the paper “A Unifying Approach to Connections for Multi-Level Modeling” by Atkinson et al. as a foundation and stepping stone, to further explore relationships between entities. I extended Melanee to support the “Deep-connections” feature by adding potency to connections and their monikers, and further allow connections to have “deep-multiplicities”. I developed these features, as well as respective validation functions to ensure the well-formedness of models.  Then I extended LML so that user-specified type names can be used to indicate the names of types for clabjects. Instead of relying on modelers to fully manually define type- of classification relations between different levels, I introduce “connection conformance” and “entity conformance” to introduce classification support to Melanee. Potentially matching types are calculated and ordered per their matching scores. Respective suggestions to modelers including messages for each possible matching type about how to fix the current connection instance so that it matches the potential type whenever applicable. The suggestions are made available as so-called “quick-fixes” and I extended this approach with a second-stage dialog that allows modelers to select amongst many fix alternatives. Finally, I evaluate my design using model sets taken from existing papers and a systematic exploration involving 57 different scenarios.</p>