6 CONCLUSION
Dynamic Multi-Layer Algebra (DMLA) is a multi-
layer modeling approach aiming at providing an ef-
ficient and flexible solution for multi-level modeling.
In this paper, we have briefly introduced D#, a domain
specific language that we use for defining DMLA do-
main models. We have also presented the peculiari-
ties and the non-conventional difficulties of the pars-
ing process of DMLA. One of the main challenges
was making a trade-off between the concisity and ex-
pressive power of the scripting language. By omitting
redundant information, the language becomes much
easier and more comfortable to use. In turn, this raises
the need for the parser to be able to handle numer-
ous problematic cases automatically. When parsing
slots, slots defined in the meta entities must be auto-
matically cloned by the parser. In some cases, auto-
matically finding a slot’s appropriate meta slot is also
required. In the case of operations, a container slot
should automatically be generated by the parser and
the operation should be wrapped in it. Overriding an
operation in DMLA means further refining a meta op-
eration. When an operation refines another, it should
be marked with the override keyword, which signals
the parser to automatically find the operation that it
refines. This refinement may be semantically similar
to object-oriented languages, or completely different
depending on the Bootstrap. The steps efficiently re-
duced the redundancy in D# scripts, but sometimes at
the cost of making the parser more complicated and
slightly less efficient.
In terms of future work, there exist many promis-
ing aspects that could be explored upon. Analyzing
the efficiency of the parser and measuring the loss of
performance introduced with the reduction of the lan-
guage remains our top priority. Extending the parser
to support incremental parsing (Ghezzi and Mandri-
oli, 1979) would also be desirable. This means that
instead of fully parsing scripts every time, only the
difference should be processed when compared to the
previous state. Dynamically changing the structure of
models using operations should also be supported.
ACKNOWLEDGEMENT
The work presented in this paper has been carried
out in the frame of project no. 2019-1.1.1-PIACI-
KFI-2019-00263, which has been implemented with
the support provided from the National Research, De-
velopment and Innovation Fund of Hungary, financed
under the 2019-1.1. funding scheme.
REFERENCES
Atkinson, C. and K
¨
uhne, T. (2000). Meta-level indepen-
dent modelling. In International Workshop on Model
Engineering at 14th European Conference on Object-
Oriented Programming, pages 1–4.
Atkinson, C. and K
¨
uhne, T. (2001). The essence of multi-
level metamodeling. In Proceedings of the 4th Inter-
national Conference on The Unified Modeling Lan-
guage, Modeling Languages, Concepts, and Tools,
pages 19–33, Berlin, Heidelberg. Springer-Verlag.
Atkinson, C. and K
¨
uhne, T. (2008). Reducing accidental
complexity in domain models. Software & Systems
Modeling, 7(3):345–359.
B
¨
orger, E. and St
¨
ark, R. (2003). Abstract State Machines:
A Method for High-Level System Design and Analysis.
Springer-Verlag New York, Inc., 1st edition.
Clark, T. and Frank, U. (2020). Multi-level modelling with
the fmmlx and the xmodelerml. In Bork, D., Kara-
giannis, D., and Mayr, H. C., editors, Modellierung
2020, pages 191–192, Bonn. Gesellschaft f
¨
ur Infor-
matik e.V.
Fowler, M. (2010). Domain Specific Languages. Addison-
Wesley Professional, 1st edition.
Ghezzi, C. and Mandrioli, D. (1979). Incremental parsing.
ACM Trans. Program. Lang. Syst., 1(1):58–70.
Lange, A. and Atkinson, C. (2018). Multi-level modeling
with melanee a contribution to the multi 2018 chal-
lenge.
Mezei, G., Somogyi, F. A., Theisz, Z., Urb
´
an, D., B
´
acsi,
S., and Palatinszky, D. (2019). A bootstrap for self-
describing, self-validating multi-layer metamodeling.
In Proceedings of the Automation and Applied Com-
puter Science Workshop, pages 28–38.
Mezei, G., Theisz, Z., Urb
´
an, D., and B
´
acsi, S. (2018). The
bicycle challenge in dmla, where validation means
correct modeling. In Proceedings of MODELS 2018
Workshops: 21st International Conference on Model
Driven Engineering Languages and Systems (MOD-
ELS 2018), volume 2245 of CEUR Workshop Pro-
ceedings, pages 643–652.
MOF (2005). OMG: MetaObject Facility.
http://www.omg.org/mof/. Accessed:2021-11-07.
Parr, T. (2013). The Definitive ANTLR 4 Reference. Prag-
matic Bookshelf, 2nd edition.
Somogyi, F. A., Mezei, G., Urb
´
an, D., Theisz, Z., B
´
acsi, S.,
and Palatinszky, D. (2019). Multi-level modeling with
DMLA - A contribution to the MULTI process chal-
lenge. In 22nd ACM/IEEE International Conference
on Model Driven Engineering Languages and Systems
Companion, MODELS 2019, pages 119–127. IEEE.
The Challenges of Defining and Parsing Multi-Layer DMLA Models
363