ABSTRACT
Low-code platforms are developed and packaged by the supplier, and subsequently, citizen developers engineer and maintain their own applications. The resulting application is a product of two separate engineering phases without proper coordination and communication facilities between them. In these applications, inconsistencies emerge because of model/data co-evolution, e.g., the data model changes while running instances of the application are in use. Low-code platforms typically lack proper metamodeling facilities, and as a consequence, state-of-the-art multi-view and multi-paradigm inconsistency management techniques fall short of adequately addressing inconsistencies. We propose an approach for managing multi-artifact consistency to address inconsistencies in low-code applications properly. This paper outlines the approach, presents preliminary findings, and discusses future research plans.
- László Angyal, László Lengyel, and Hassan Charaf. 2008. A Synchronizing Technique for Syntactic Model-Code Round-Trip Engineering. In 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008). IEEE. Google ScholarDigital Library
- Yves Bertot and Pierre Castéran. 2013. Interactive theorem proving and program development: Coq'Art: the calculus of inductive constructions. Springer Science & Business Media.Google Scholar
- Brice Bigendako and Eugene Syriani. 2018. Modeling a Tool for Conducting Systematic Reviews Iteratively. In Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development. SCITEPRESS - Science and Technology Publications. Google ScholarDigital Library
- Hugo Bruneliere, Jordi Cabot, Frédéric Jouault, and Frédéric Madiot. 2010. MoDisco. In Proceedings of the IEEE/ACM international conference on Automated software engineering - ASE '10. ACM Press. Google ScholarDigital Library
- Antonio Bucchiarone, Federico Ciccozzi, Leen Lambers, Alfonso Pierantonio, Matthias Tichy, Massimo Tisi, Andreas Wortmann, and Vadim Zaytsev. 2021. What Is the Future of Modeling? IEEE Software 38, 2 (mar 2021), 119--127. Google ScholarDigital Library
- Jordi Cabot. 2020. Low-code vs model-driven: are they the same? Retrieved May 20, 2022 from https://modeling-languages.com/low-code-vs-model-driven/Google Scholar
- Antonio Cicchetti, Davide Di Ruscio, Romina Eramo, and Alfonso Pierantonio. 2008. Automating Co-evolution in Model-Driven Engineering. In 2008 12th International IEEE Enterprise Distributed Object Computing Conference. IEEE. Google ScholarDigital Library
- Antonio Cicchetti, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2011. Managing the evolution of data-intensive Web applications by model-driven techniques. Software & Systems Modeling 12, 1 (feb 2011), 53--83. Google ScholarDigital Library
- Marcos Aurélio Almeida da Silva, Alix Mougenot, Xavier Blanc, and Reda Bendraou. 2010. Towards Automated Inconsistency Handling in Design Models. In Notes on Numerical Fluid Mechanics and Multidisciplinary Design. Springer International Publishing, 348--362. Google ScholarCross Ref
- Andreas Demuth, Markus Riedl-Ehrenleitner, Roberto E. Lopez-Herrejon, and Alexander Egyed. 2016. Co-evolution of metamodels and models through consistent change propagation. Journal of Systems and Software 111 (jan 2016), 281--297. Google ScholarDigital Library
- István Dávid. 2019. A Foundation for Inconsistency Management in Model-Based Systems Engineering. Ph.D. Dissertation. Universiteit Antwerpen.Google Scholar
- Alexander Egyed. 2011. Automatically Detecting and Tracking Inconsistencies in Software Design Models. IEEE Transactions on Software Engineering 37, 2 (mar 2011), 188--204. Google ScholarDigital Library
- Michalis Famelis and Marsha Chechik. 2017. Managing design-time uncertainty. Software & Systems Modeling 18, 2 (mar 2017), 1249--1284. Google ScholarDigital Library
- Wenfei Fan, Floris Geerts, Xibei Jia, and Anastasios Kementsietsidis. 2008. Conditional functional dependencies for capturing data inconsistencies. ACM Transactions on Database Systems 33, 2 (jun 2008), 1--48. Google ScholarDigital Library
- Ismenia Galvao and Arda Goknil. 2007. Survey of Traceability Approaches in Model-Driven Engineering. In 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007). IEEE. Google ScholarCross Ref
- Regina Hebig, Djamel Eddine Khelladi, and Reda Bendraou. 2017. Approaches to Co-Evolution of Metamodels and Models: A Survey. IEEE Transactions on Software Engineering 43, 5 (may 2017), 396--414. Google ScholarDigital Library
- Wael Kessentini, Houari Sahraoui, and Manuel Wimmer. 2019. Automated meta-model/model co-evolution: A search-based approach. Information and Software Technology 106 (feb 2019), 49--67. Google ScholarCross Ref
- Djamel Eddine Khelladi, Benoit Combemale, Mathieu Acher, Olivier Barais, and Jean-Marc Jézéquel. 2020. Co-evolving code with evolving metamodels. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering. ACM. Google ScholarDigital Library
- Dimitrios Kolovos, Richard Paige, and Fiona Polack. 2008. Detecting and Repairing Inconsistencies across Heterogeneous Models. In 2008 International Conference on Software Testing, Verification, and Validation. IEEE. Google ScholarDigital Library
- Dien-Yen Lin and Iulian Neamtiu. 2009. Collateral evolution of applications and databases. In Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops-IWPSE-Evol '09. ACM Press. Google ScholarDigital Library
- Mike Maksimov, Sahar Kokaly, and Marsha Chechik. 2020. A Survey of Tool-supported Assurance Case Assessment Techniques. Comput. Surveys 52, 5 (sep 2020), 1--34. Google ScholarDigital Library
- Bart Meyers and Hans Vangheluwe. 2011. A framework for evolution of modelling languages. Science of Computer Programming 76, 12 (dec 2011), 1223--1246. Google ScholarDigital Library
- Nasser Mustafa and Yvan Labiche. 2017. The Need for Traceability in Heterogeneous Systems: A Systematic Literature Review. In 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC). IEEE. Google ScholarCross Ref
- Anantha Narayanan, Tihamer Levendovszky, Daniel Balasubramanian, and Gabor Karsai. 2009. Automatic Domain Model Migration to Manage Metamodel Evolution. In Model Driven Engineering Languages and Systems. Springer Berlin Heidelberg, 706--711. Google ScholarDigital Library
- Outsystems. 2022. Low-Code High-Performance Software Development / Outsystems. Retrieved July 10, 2022 from https://www.outsystems.com/Google Scholar
- Ellen Van Paesschen, Wolfgang De Meuter, and Maja D'Hondt. 2005. SelfSync: A Dynamic Round-Trip Engineering Environment. In Model Driven Engineering Languages and Systems. Springer Berlin Heidelberg, 633--647. Google ScholarDigital Library
- Richard Freeman Paige, Gøran K Olsen, Dimitris Kolovos, Steffen Zschaler, and Christopher Douglas Power. 2010. Building Model-Driven Engineering Trace-ability. In ECMDA Traceability Workshop (ECMDA-TW). Sintef.Google Scholar
- Van Cam Pham, Ansgar Radermacher, Sebastien Gerard, and Shuai Li. 2017. Bidirectional Mapping between Architecture Model and Code for Synchronization. In 2017 IEEE International Conference on Software Architecture (ICSA). IEEE. Google ScholarCross Ref
- Randell Rasiman, Fabiano Dalpiaz, and Sergio España. 2022. How Effective Is Automated Trace Link Recovery in Model-Driven Development? In Requirements Engineering: Foundation for Software Quality. Springer International Publishing, 35--51. Google ScholarDigital Library
- Markus Riedl-Ehrenleitner, Andreas Demuth, and Alexander Egyed. 2014. Towards Model-and-Code Consistency Checking. In 2014 IEEE 38th Annual Computer Software and Applications Conference. IEEE. Google ScholarDigital Library
- Davide Di Ruscio, Dimitris Kolovos, Juan de Lara, Alfonso Pierantonio, Massimo Tisi, and Manuel Wimmer. 2022. Low-code development and model-driven engineering: Two sides of the same coin? Software and Systems Modeling 21, 2 (jan 2022), 437--446. Google ScholarDigital Library
- Shane Sendall and Jochen Küster. 2004. Taming Model Round-Trip Engineering. In In Proceedings of the Workshop 'Best Practices for Model-Driven Software Development.Google Scholar
- Javier Troya, Nathalie Moreno, Manuel F. Bertoa, and Antonio Vallecillo. 2021. Uncertainty representation in software models: a survey. Software and Systems Modeling 20, 4 (jan 2021), 1183--1213. Google ScholarDigital Library
- Jef Wijsen. 2005. Database repairing using updates. ACMTransactions on Database Systems 30, 3 (sep 2005), 722--768. Google ScholarDigital Library
- Yijun Yu, Yu Lin, Zhenjiang Hu, Soichiro Hidaka, Hiroyuki Kato, and Lionel Montrieux. 2012. Maintaining invariant traceability through bidirectional transformations. In 2012 34th International Conference on Software Engineering (ICSE). IEEE. Google ScholarCross Ref
- MohammadAmin Zaheri, Michalis Famelis, and Eugene Syriani. 2021. Towards Checking Consistency-Breaking Updates between Models and Generated Artifacts. In 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C). IEEE. Google ScholarCross Ref
Index Terms
- Towards consistency management in low-code platforms
Recommendations
Tolerant consistency management in model-driven engineering
MODELS '18: Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion ProceedingsModel-driven engineering (MDE) enables domain experts to specify, validate and maintain software systems without requiring advanced programming skills. An important challenge when treating models as primary artifacts in the software development process ...
Consistency guarantees: exploiting application semantics for consistency management in a collaboration toolkit
CSCW '96: Proceedings of the 1996 ACM conference on Computer supported cooperative workMulti-model consistency preservation
MODELS '18: Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion ProceedingsModern software systems are developed using multiple models to represent different properties of the system. Since these models contain dependent information, keeping them consistent is crucial for producing correctly operating software. This process ...
Comments