
Towards Mainstream Multi-level Meta-modeling Gergely Mezei1, Ferenc A. Somogyi1, Zoltan´ Theisz2,Daniel´ Urban´ 1 and Sandor´ Bacsi´ 1 1Budapest University of Technology and Economics, Budapest, Hungary 2evopro Systems Engineering Ltd., Hauszmann Alajos str. 2, Budapest, Hungary Keywords: Meta-modeling, Multi-level Modeling, Deep Instantiation, Language Engineering. Abstract: In recent years, a wide range of tools and methodologies have been introduced in the field of multi-level meta- modeling. One of the newest approaches is the Dynamic Multi-Layer Algebra (DMLA). DMLA incorporates a fully self-modeled textual operation language (DMLAScript) over its tuple-based model entity representation. This textual language provides effective and complex features when editing models. On the other hand, the language supports the precise injective mapping of the multi-layers. However, such complexity comes at a price. Using DMLAScript can be difficult in practice for users who are only familiar with the classical, object- oriented way of thinking, and are not confident with the multi-level approach. In this paper, we introduce the concepts of a new language above DMLAScript, which supports the more effective manipulation of concrete domain models by taking advantage of the particular process of multi-level modeling within DMLA. Although the approach is technically bound to DMLA, the concepts discussed in the paper are of general use. 1 INTRODUCTION fined gradually as abstraction gives way to specifica- tion, down to the instance level. The other side of Meta-modeling is widely accepted as a viable tech- the coin does not look so shiny though: the means of nical solution to base domain-specific languages and multi-level meta-modeling differ from classical meta- workbenches on in order to efficiently model the se- modeling, and even the exact meaning of instantia- lected domains in practice. In recent years, meta- tion needs to be extended or re-defined. Moreover, model-based software engineering has also estab- currently, there is still no consensus in the multi- lished itself in various industrial fields, such as the level modeling community on how to turn research management of ICT systems (Rossini et al., 2015). results into practical applications. An important mile- The key enabler of this success is the ability to un- stone on this road was the so called Bicycle Chal- ambiguously model the domain concepts, the vari- lenge (MULTI, 2018) that aimed to condense reoc- ous features of a particular technology, and the rela- curring problems in practical models into an easily tions between those concepts and features in a precise understandable, standard modeling challenge. The re- and rigorous way. Nevertheless, in some industrial sults show a current lack of mainstream in multi-level projects, two level (the meta-model and the model) modeling, which is unfortunate, because it has been meta-modeling has quickly reached its limits. In such well-known for more than a decade that the two-levels complex industrial projects, the domain requirements approach will eventually reach its limit. of the system are first specified at a high level of ab- In this paper, we would like to contribute to bridg- straction to give shape to the planned solution, and ing the gap between classical meta-modeling and the then the details are gradually, and sometimes recur- future of multi-level meta-modeling. Our research fo- sively, being introduced. Two level meta-modeling cuses on creating a general purpose multi-layer mod- may cope with these challenges, but only at the cost eling framework around Dynamic Multi-Layer Alge- of artificially introducing accidental complexity, that bra (DMLA) (Urban´ et al., 2018) that is easily un- is, by imposing mixed-level modeling patterns such as derstandable by the modelers and can be effectively clabjects or power types into the design (Henderson- applied to practical domain problems in the indus- Sellers et al., 2013). Multi-level meta-modeling aims try. DMLA has a well-defined formal basis with the to achieve a better solution: by increasing the num- unique feature of being self-described, and it also pro- ber of modeling levels, domain concepts can be de- vides what we call fluid metamodeling, which means 481 Mezei, G., Somogyi, F., Theisz, Z., Urbán, D. and Bácsi, S. Towards Mainstream Multi-level Meta-modeling. DOI: 10.5220/0007580404810488 In Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2019), pages 481-488 ISBN: 978-989-758-358-2 Copyright c 2019 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved MODELSWARD 2019 - 7th International Conference on Model-Driven Engineering and Software Development that it is not required to instantiate all entities of a domain models (in M1) through meta-model interpre- model at once. Models in DMLA are stored in tuples, tation (in M2). The OCA architecture is rather intu- referencing each other, and thus, forming an entity itive and therefore there exists a few successful multi- graph. Since tuples are cumbersome to produce con- level meta-modeling frameworks of this kind, its most sistently, and big quantities are needed for practical notable implementations being Melanie (Atkinson models, we have created a scripting language called and Gerbig, 2012), MetaDepth (de Lara and Guerra, DMLAScript, which enables to manipulate tuples in- 2010) and DeepJava (Kuhne¨ and Schreiber, 2007). directly via a domain-specific language (DSL) when Analyzing them independently from the prespective building domain models. Although DMLAScript ful- of their concrete syntax, it can be easily understood filled what we aimed at originally, we had to realize that semantically each originates from the common that it is still challenging to be used by domain ex- paradigm of the potency notion (Atkinson and Kuhne,¨ perts in practice due to its technical preciseness and 2001), and therefore, they mostly differ only by their verbosity. Therefore, we decided to work on a high reinterpretation and implementation thereof. level scripting language, the Modular DMLA Script- Beyond OCA, an interesting alternative approach ing Language (MDSL), that is designed to be more is XModeler (Clark et al., 2015), which is built on compact, in addition to being easier and faster to use top of a self-describing meta-model, the XMF, which by domain engineers. supports meta-modeling facilities through higher or- This paper briefly reviews related work in Sec- der functions in order to process the syntax and to tion 2 and introduces DMLA in Section 3. Next, in provide a basic executable language (XOCL), follow- Section 4, we discuss our motivation behind MDSL, ing the syntax of OCL (Warmer and Kleppe, 2003). along with the requirements (Section 5) we expect it This solution is similar to MetaDepth, which has to satisfy in the future. In Section 6, we demonstrate taken advantage of the Epsilon family of languages by a case study how MDSL can accelerate domain (EOL). Both benefit and get constrained by the inher- modeling in DMLA, compared to DMLAScript. Fi- ited legacy of a two-level modeling language. The ob- nally, in Section 7, we conclude by paving the way vious benefit is the apparent advantage for the mod- for our future research, aiming for MDSL to succeed eler being able to use an Object-Oriented (OO) lan- by showcasing that multi-level meta-modeling has al- guage for model design, but the disadvantage lies ready matured enough for practical industrial chal- in the same fact: OO features get in the way when lenges. potency or a genuine multi-level meta-model feature must be mixed. For example, in DeepJava, linguistic instantiation is built into the language per se via Java, 2 RELATED WORK but ontological instantiation must be managed by ex- tending the class declaration of Java by injecting the The main reason behind the quest for multi-level principles of potency notion. Here, accidental com- meta-modeling is to be able to eliminate all those plexity reappears as the necessary handling of correct artificial classes, on the meta level, whose pure rai- potency settings at the class definition, which the pro- son d’etre is to serve as linguistic placeholders for grammer must not mismanage. Also, level 0, the in- establishing ontological instantiation, on the model stance level, which was never intended to be part of level, among the domain objects. Hence, the crux the program code according to the semantics of Java, of multi-level meta-modeling is to successfully tackle will become such by the extension, which contra- the unwanted emergence of accidental complexity dicts the original goal of tackling accidental complex- (Atkinson and Kuhne,¨ 2008) by clearly separating ity. Thus, accidental complexity may still be present. those linguistic and ontological instantiation mecha- Both MetaDepth and XModeler are more advanced is nisms from each other. The most well-known solu- this regard, but their languages are still hybrids: due tion attempt, the Orthogonal Classification Architec- to the legacy of their implementation, new features ture (OCA) (Atkinson et al., 2009), applies the term are difficult to put into the language without rewriting ontological in this particular regard when it refers to the underlying custom-designed compiler. the concepts which exist only in the technical domain In DMLA, we design our languages around an being modelled. initial set of entities referred to as the Bootstrap. Consequently, in OCA, the term linguistic thus ap- Every scripting language of the approach is mod- plies to the technical modeling nomenclature of any eled, but they also have an Xtext-based editor for selected modeling technology, for example, to the easy re-adaptability. We consider this an advantage way how meta-meta-level elements (in M3) defined compared to the above-mentioned metamodeling ap- by the Meta Object Facility (MOF) are used to build proaches which rely on legacy compilers.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-