works with Fulib models, EMF models, manually
crafted models, etc.
In addition to PathTables our FulibTables runtime
library also provides more general model queries via
object patterns, cf. Listing 7. These patterns are in-
spired by graph transformations, cf. (Zündorf et al.,
2017). Note, patterns are still compatible to all mod-
els that stick to the Java Beans conventions. Thus,
you may e.g. use our patterns on EMF models or on
manually crafted models.
In (Eickhoff et al., 2019) we also provide EMFeR
a generic model checking tool based on model queries
and model transformations. EMFeR works perfectly
well with Fulib queries and transformations, too.
7 SUMMARY
The Fulib modeling library tries to address typical
concerns and requirements of industrial software de-
velopers. You get a lot of Fulib functionality without
the need of a runtime library. Code generation is in-
tegrated into your Gradle build. Fulib supports itera-
tive software development as good as we can. Fulib
deals with Git version management reasonably well.
Model specific query functionality may be generated
which again avoids runtime libraries and licence is-
sues. Generic query functionality is provided within
a small runtime library (MIT licence). The generic
query functionality is agnostic to different model im-
plementations. It works not only for Fulib generated
code but also for code generated by other tools or for
manually crafted code. We have evaluated the Fulib
library within a modeling course with about 80 partici-
pants at Kassel University in winter term 2019/2020
and within several research projects at our department.
We are now ready to approach industrial partners to get
their feedback. We have already demonstrated Fulib
within a talk to local industry at the Java User Group
Hessia, Germany, in August 2020 (Ful, 2020a).
REFERENCES
(2020). Enterprise architect. https://www.sparxsystems.de/
uml/neweditions/. Accessed: 2020-09-02.
(2020a). Fulib - macht java code aus klassendi-
agrammen. https://www.youtube.com/watch?v=
eamdeXCxysk. Accessed: 2020-09-02.
(2020b). Fulib class org.fulib.generator. https://github.com/
fujaba/fulib. Accessed: 2020-02-12.
(2020). Magic draw. https://www.nomagic.com/products/
magicdraw. Accessed: 2020-09-02.
(2020). Uml-lab, yatta solutions gmbh. https://www.uml-lab.
com/de/uml-lab/. Accessed: 2020-09-02.
(2020). xcore. https://wiki.eclipse.org/Xcore. Accessed:
2020-09-02.
Eickhoff, C., Lange, M., Raesch, S.-L., and Zündorf, A.
(2019). Emfer: Model checking for object oriented
(emf) models. In MODELSWARD, pages 511–518.
Fowler, M. (2010). Domain-specific languages. Pearson
Education.
Nickel, U., Niere, J., and Zündorf, A. (2000). The fujaba
environment. In Proceedings of the 22nd international
conference on Software engineering, pages 742–745.
Paige, R. F. and Varró, D. (2012). Lessons learned from
building model-driven development tools. Software &
Systems Modeling, 11(4):527–539.
Rumpe, B. and Hölldobler, K. (2017). Monticore 5 language
workbench. edition 2017.
Steinberg, D., Budinsky, F., Merks, E., and Paternostro, M.
(2008). EMF: eclipse modeling framework. Pearson
Education.
Zündorf, A., Gebauer, D., and Reichmann, C. (2017). Table
graphs. In International Conference on Graph Trans-
formation, pages 221–230. Springer.
Zündorf, A., George, T., Lindel, S., and Norbisrath, U.
(2013). Story driven modeling libary (sdmlib): an
inline dsl for modeling and model transformations, the
petrinet-statechart case. Sixth Transformation Tool
Contest (TTC 2013), ser. EPTCS.
Zündorf, A., Schürr, A., and Winter, A. J. (1999). Story
driven modeling. Univ.-Gesamthochsch. Paderborn,
Fachbereich Mathematik-Informatik.
MODELSWARD 2021 - 9th International Conference on Model-Driven Engineering and Software Development
162