Abstract
This paper presents SeamlessMDD - our open-source framework for a gradual and effortless transition from traditional development to MDD (Model-Driven Development) that allows maintaining hand-written and generated code intertwined without the need to adjust the web application architecture or the established way of work. We propose a novel workflow that is based on the following: (1) Incremental and iterative transformations derived from model versions comparison so that only code for affected model elements is generated or modified; (2) Integration of generated and hand-written code using API-based code generators, which operate on syntax trees of target programming languages; (3) Case-specific support for change propagation and conflict resolution (contrary to the VCS-based systems operating on the single line).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
References
Acceleo. https://eclipse.dev/acceleo. Accessed 16 Apr 2024
Mendix. https://www.mendix.com. Accessed 16 Apr 2024
Webratio. https://www.webratio.com. Accessed 16 Apr 2024
Basso, F.P., Pillat, R.M., Oliveira, T.C., Roos-Frantz, F., Frantz, R.Z.: Automated design of multi-layered web information systems. J. Syst. Softw. 117, 612–637 (2016). https://doi.org/10.1016/j.jss.2016.04.060, https://www.sciencedirect.com/science/article/pii/S0164121216300358
Bernaschina, C., Falzone, E., Fraternali, P., Herrera Gonzalez, S.L.: The virtual developer: integrating code generation and manual development with conflict resolution. ACM Trans. Softw. Eng. Methodol. 28, 1–38 (2019)
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice: Second Edition, 2nd edn. Morgan & Claypool Publishers, New York (2017)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
Falzone, E., Bernaschina, C.: Intelligent code generation for model driven web development. In: Pautasso, C., Sánchez-Figueroa, F., Systä, K., Murillo Rodríguez, J.M. (eds.) ICWE 2018. LNCS, vol. 11153, pp. 5–13. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03056-8_1
Fieber, F., Regnat, N., Rumpe, B.: Assessing usability of model driven development in industrial projects. arXiv:abs/1409.6588 (2014). https://api.semanticscholar.org/CorpusID:10632456
Greifenberg, T., et al.: A comparison of mechanisms for integrating handwritten and generated code for object-oriented programming languages. In: 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 74–85 (2015)
Johann, S., Egyed, A.: Instant and incremental transformation of models. In: Proceedings. 19th International Conference on Automated Software Engineering 2004, pp. 362–365 (2004)
Kusel, A., et al.: A survey on incremental model transformation approaches. CEUR Workshop Proc. 1090, 4–13 (2013)
de Lange, P., Nicolaescu, P., Winkler, T., Klamma, R.: Enhancing MDWE with collaborative live coding. Modellierung 2018 (2018)
Lienhardt, M.: PYDOP: a generic python library for delta-oriented programming. Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B (2023). https://api.semanticscholar.org/CorpusID:261125815
Nieke, M., Hoff, A., Schaefer, I., Seidl, C.: Experiences with constructing and evolving asoftware product line with delta-oriented programming. In: Proceedings of the 16th International Working Conference on Variability Modelling of Software-Intensive Systems. VaMoS ’22. Association for Computing Machinery, New York (2022).https://doi.org/10.1145/3510466.3511271
Ogunyomi, B., Rose, L., Kolovos, D.: Incremental execution of model-to-text transformations using property access traces. Softw. Syst. Model. 18, 1–17 (2019). https://doi.org/10.1007/s10270-018-0666-5
Ogunyomi, B.: Incremental model-to-text transformation. Ph.D. thesis, University of York (2016)
Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15579-6_6
Schmidt, D.C.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)
Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003)
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, London (2008)
Todorović, N., Dragaš, B., Milosavljević, G.: Supporting integrative code generation with traceability links and code fragment integrity checks. In: Trajanovic, M., Filipovic, N., Zdravkovic, M. (eds.) Disruptive Information Technologies for a Smart Society, pp. 490–501. Springer Nature Switzerland, Cham (2024). https://doi.org/10.1007/978-3-031-50755-7_46
Todorović, N., Lukić, A., Zoranović, B., Vaderna, R., Vuković, Z., Stoja, S.: RoseLib: a library for simplifying .net compiler platform usage. In: Konjović, Z., Zdravković, M., Trajanović, M. (eds.) ICIST 2018 Proceedings, vol.1, pp.216-221 (2018) (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Dragaš, B., Todorović, N., Rajačić, T., Milosavljević, G. (2024). SeamlessMDD: Framework for Seamless Integration of Generated and Hand-Written Code. In: Stefanidis, K., Systä, K., Matera, M., Heil, S., Kondylakis, H., Quintarelli, E. (eds) Web Engineering. ICWE 2024. Lecture Notes in Computer Science, vol 14629. Springer, Cham. https://doi.org/10.1007/978-3-031-62362-2_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-62362-2_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-62361-5
Online ISBN: 978-3-031-62362-2
eBook Packages: Computer ScienceComputer Science (R0)
