of instances (one wheel and one seat), while the type
constraints remain intact. We also call the validation
of the model to check that what we have done so far
is valid. Validation in DMLA is intuitive: whenever a
model entity claims another entity to be its meta, the
framework automatically validates if there is indeed a
valid instantiation between the two entities. The val-
idation checks the latest state of the model, since the
model always changes dynamically, when a command
is executed. In this case, no model element found to
be contradictory during model validation.
REQ4: There is a demand for special tandem
bikes with two wheels and three seats.
>addEntity(Tandem, NCycle)
Tandem.Wheels>addCardCstr(2,2)
Tandem.Seats>addCardCstr(3,3)
>Validate()
We concretize entity NCycle by adding Tandem
to the model. In order to meet the new requirement
we apply cardinality constraint on both slots to re-
strict the allowed number of instances (two wheels
and three seats). The Tandem entity found to be con-
radictory during model validation, since the valida-
tion mechanism of DMLA ensures that if an existing
cardinality is overwritten (refined), then it should not
relax the original condition. In this example, the orig-
inal maximum parameter of slot Seats is already set to
two in entity NCycle, it cannot be overwritten to three.
This scenario showscases one of the most important
features of the interpreter-based version of DMLA:
by running the validation, we can get an immediate
feedback on the validation errors of latest state of the
model.
Altough we could continue the refinement and the
concretization of this simple model fragment (e.g.
filling out the slots with concrete values), the aim of
this section is only to present the most basic features
of interactive model editing in the newest workbench
of DMLA.
6 CONCLUSIONS
In this paper, we presented the newest workbench
of DMLA, our multi-layer modeling approach, high-
lighting its features regarding dynamism and evolu-
tionary model editing. Although the paper focused on
DMLA, we believe that our experiences and conclu-
sions are not DMLA-specific and are worthy of gen-
eral discussion. In the future, we aim to work on the
interactivity of the tool and modernize DMLAScript
to improve the ease of usage. Our other goals con-
cerning DMLA include the optimization of the val-
idation, the visualization of the models, and the in-
troduction of transactions to provide reliable units of
work that allow correct recovery from validation er-
rors and keep the model consistent.
ACKNOWLEDGEMENTS
This work was performed in the frame of FIEK 16-
1-2016-0007 project, implemented with the support
provided from the National Research, Development
and Innovation Fund of Hungary, financed under the
FIEK 16 funding scheme.
REFERENCES
Atkinson, C. and Gerbig, R. (2016). Flexible deep mod-
eling with melanee. In Modellierung 2016 - Work-
shopband : Tagung vom 02. M
¨
arz - 04. M
¨
arz 2016
Karlsruhe, MOD 2016, volume 255, pages 117–121,
Bonn. K
¨
ollen.
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,
«UML» ’01, pages 19–33, Berlin, Hei-
delberg. 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 Willans, J. (2012). Software language engi-
neering with xmf and xmodeler. In Formal and Prac-
tical Aspects of Domain-Specific Languages: Recent
Developments, volume 2, pages 311–340.
de Lara, J. and Guerra, E. (2010). Deep meta-modelling
with metadepth. In Vitek, J., editor, Objects, Mod-
els, Components, Patterns, pages 1–20, Berlin, Hei-
delberg. Springer Berlin Heidelberg.
K
¨
uhne, T. and Schreiber, D. (2007). Can program-
ming be liberated from the two-level style: Multi-
level programming with deepjava. SIGPLAN Not.,
42(10):229–244.
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, pages 643–652.
Mezei, G., Theisz, Z., Urb
´
an, D., B
´
acsi, S., Somogyi, F. A.,
and Palatinszky, D. (2019). A bootstrap for self-
describing, self-validating multi-layer metamodeling.
In Dunaev, D. and Vajk, I., editors, Proceedings of the
Automation and Applied Computer Science Workshop
2019 : AACS’19, pages 28–38.
MULTI (2018). https://www.wi-inf.uni-duisburg-
essen.de/MULTI2018/.
MODELSWARD 2021 - 9th International Conference on Model-Driven Engineering and Software Development
348