مطالعات مدیریت کسب و کار هوشمند

نوع مقاله : مقاله پژوهشی

نویسندگان

1 گروه مهندسی کامپیوتر، دانشکده فنی، دانشگاه شهرکرد، شهرکرد ایران

2 گروه مهندسی کامپیوتر، دانشکده فنی و مهندسی، دانشگاه شهرکرد، شهرکرد، ایران

چکیده

در چند سال اخیر شاهد رشد چشمگیر «سکوهای توسعه‌ی کم‌کد» هم در جلب‌توجه بازار و هم دانشگاه بوده‌ایم. سکوهای کم‌کد، سکوهای توسعه‌ی برنامه‌های کاربردی به‌صورت بصری هستند که معمولاً روی ابر اجرا می‌شوند و نیاز به کدنویسی دستی را کاهش می‌دهند. همچنین، توسط توسعه‌دهندگان غیرحرفه‌ای با دانش محدود در برنامه‌نویسی مورد استفاده قرار می‌گیرند. در این مقاله، ابتدا ویژگی‌های سکوهای شناخته شده مورد بررسی قرار می‌گیرد تا مزایای این رویکرد بررسی شود. با توجه به این‌که سکوهای کم‌کد در بسیاری از اهداف و ویژگی‌ها با رویکردهای مهندسی مدل‌رانده مشترک هستند، لازم است جایگاه سکوی کم‌کد در مقایسه با این رویکردها مورد بررسی قرار گیرد و نقاط ضعف و قوت هر دو مشخص شود. یکی از دلایل استقبال از سکوی کم‌کد استفاده از رایانش ابری است، که اکثر رویکردهای مهندسی مدل‌رانده از آن بی‌بهره بوده‌اند. بنابراین، در این مقاله به بررسی راهکارهای استفاده از رایانش ابری در مهندسی مدل‌رانده جهت کاربرد این رویکردها برای ایجاد سکوهای کم‌کد می‌پردازیم و این موضوع را روی یک مطالعه موردی برای زبان مدل‌سازی قرارداد هوشمند پیاده می‌کنیم.

کلیدواژه‌ها

عنوان مقاله [English]

Mutual Roles of Model-Driven Software Engineering and Low-Code Development Platform

نویسندگان [English]

  • Leila Samimi-Dehkordi 1
  • Abbas Horri 2

1 Department of computer engineering, faculty of engineering, Shahrekord University, Shahrekord, Iran

2 Department of Computer Engineering, Faculty of Engineering, Shahrekord University, Shahrekord, Iran

چکیده [English]

In the last few years, we have witnessed a significant growth of "low-code development platforms" (LCDPs) in attracting the attention of both the market and the academia. LCDPs are visual development platforms that typically run on the cloud, reducing the need for manual coding. They are also used by non-professional developers with limited knowledge in programming to construct applications. In this paper, the characteristics of well-known LCDPs are first studied to evaluate the advantages of this approach. Given that the low-code platforms have many goals and features in common with the model-driven engineering (MDE) approaches, it is necessary to examine the position of these platforms in comparison with the MDE approaches and identify the strengths and weaknesses of both. One of the reasons for the popularity of the LCDP platforms is the use of cloud computing, which most model-driven engineering approaches have failed to achieve. Therefore, in this article, we review the solutions for using cloud computing in MDE to apply these approaches to develop low-code platforms and apply the approach on a modeling language for smart contracts.

Introduction

Software engineering is an engineering system that aims to educate, research, and apply methods to develop applications for increasing software productivity and quality and reducing the cost and production time (Kung, 2013). One of the software engineering methods that has received attention in recent years is using Low-Code Development Platforms (LCDP) (Alamin et.al, 2023). LCDPs use a graphical user interface to develop software instead of traditional programming. These types of platforms are suitable tools for organizational companies to reduce development costs and time to market (Tisi et al., 2020). Increasing the level of abstraction in order to reduce the cost of development is exactly the same goal that "Model-Driven Software Engineering" (MDSE) pursues. MDSE is an approach in software engineering where models are used not only as documentation but also for automatic code generation (Brambilla et al., 2017). The MDSE methodology has matured and its best practices can be used for the new field of LCDP (Verbruggen and Snoeck, 2023). At the same time, LCDP has been of great interest in the last few years, and migrating from Model-Driven Engineering to cloud spaces to create LCDPs can be applicable and appropriate (Ruscio et al., 2022).
Research Question(s)

What features can be considered for common LCDPs?
What is the position of LCDPs compared to MDSE?
What are the prerequisites for migrating modeling languages from MDSE to LCDP?
Literature Review

2.1. Theoretical foundations of research
Model-Driven Engineering and a Low-Code Development Platform have both been introduced with the goal of rapid product delivery with minimal programming (Ruscio et al., 2022). However, MDSE is more mature than LCDP (Verbruggen and Snoeck, 2023). Mendix, one of the pioneers in the LCDP field, has presented a LCDP manifesto including 9 principles, which are model-driven development, collaboration, agility, cloud computing, openness, multi-user development, experimentation, governance, and community (Kenneweg et al., 2021). To investigate the features of the LCDP platforms, six stages for developing an application has introduced, which are domain modeling, user interface definition, business logic specification, integration with external services, deployment, and maintenance (Sahay et al., 2020).
2.2. Related Work
2.2.1. Researches related to LCDP and MDSE
Cabot stated that the LCDP approach is the same as MDSE and it has been changed only with the aim of attracting the audience and better understanding the name of the approach (Cabot, 2020). Khorram et al. stated that LCDPs are based on MDSE, in which system design with visual modeling and automatic production of the final executable system has been introduced as a common feature of both approaches (Khorram et al., 2020). In the Locomote framework research, it is stated that developers can take advantage of MDSE principles, but as scalability is one of the serious problems in MDSE, this challenge is more evident in LCDP (Tisi et al., 2020). Alamin et al. stated that LCDP is inspired by MDSE, and development is done using abstract representations instead of focusing on algorithmic calculations (Alamin et al., 2021). Ruscio et al., have classified five research areas, in which the differences between MDSE and LCDP, including end users and application scope, are stated (Ruscio et al., 2022).
2.2.2. Well-known LCDPs
In Appsheet, a variety of tools and services, including data-driven applications, can be easily developed on top of the Google cloud database (Käss et al., 2023). In SwiftUI, it is possible to create a user interface for any Apple device by means of a declarative syntax, drag-and-drop support, and real-time preview (Nekras, 2022). Honeycode is a spreadsheet component and a set of templates for creating simple web-based applications (ElBatanony and Succi, 2021). PowerApps is a no-code platform for business users that starts with the data model and business processes and goes on to automatically generate responsive portable applications. (Gürcan and Taentzer, 2021). OutSystems is a low-code development platform that enables the development of desktop and mobile applications (Martins et al., 2020). Mendix is a low-code development platform where all features can be accessed via drag-and-drop functionality (Gürcan and Taentzer, 2021). KissFlow is a cloud-based workflow automation software platform that helps users build and modify automated enterprise applications (Hili and Oliveira, 2022). Appian is one of the oldest LCDPs that enables the creation of mobile and web applications through personalization tools, built-in team collaboration tools, task management, and social networking (Vincent et al., 2019).

Methodology

The present research method is practical in terms of purpose and descriptive survey in terms of nature. The purpose of this research is to investigate various approaches in the field of LCDPs and compare them with MDSE approaches. Based on this, three research questions were designed. The first question is to examine the characteristics of LCDPs. To answer the first question, two types of studies have been conducted to collect information about these platforms: (1) a review of articles from 2014 to 2023 and (2) a review of LCDP tools.
The second question is to examine the position of LCDPs compared to the MDSE approaches. The review of articles has been from 2014 onwards and the articles that have addressed both issues have been taken into consideration.
The main challenge for LCDPs is the commercial nature of these platforms, which makes a limited community of users able to use them. MDSE tools are often academic and free. Consequently, the third question examined the requirements for moving from MDSE to LCDP. To answer this question, by introducing a case, the requirements of migration have been studied.

Conclusion

In this paper, the emerging approach of LCDP has been introduced. First, the important features of LCDPs have been reviewed and seven different tools were compared based on the reviewed features. Also, due to the common goal with the MDSE field, a comparison between these two fields has been presented and the position of LCDPs has been determined. Based on the MDSE benefits, the migration of modeling languages from the model-driven approach to the low-code development platform has been studied, and an example of migration has been investigated. One of the important limitations of this research is the lack of sufficient resources in the modern LCDP field. Most of the common platforms are commercial and there are few free platforms currently. Consequently, we suggested using the experiences of the model-driven field in the development of these types of platforms. For future work, it is necessary to study the characteristics and complexity of applications built using LCDPs, with the aim of evaluating the performance status of these platforms and reasoning about criteria such as their scalability and efficiency.
Acknowledgments
This article is derived from the results of the research project implemented under the contract number 5497/141 from the funds of Shahrekord University Research and Technology Vice-Chancellor.
Keywords: Model-Driven Engineering, Low-Code Development Platform, Cloud Computing.
 
 
 

کلیدواژه‌ها [English]

  • Model-Driven Engineering
  • Low-Code Development Platform
  • Cloud Computing
شهسواری پور، ناصر؛ رضوان‎دوست، شهلا؛ میرزایی، امیر؛ حیدربیگی، شهلا. (1396). رابطه بین همسویی راهبرد فناوری اطلاعات و راهبرد کسب‌وکار با چابکی سازمانی در شرکت‌های نرم‌افزاری. مطالعات مدیریت کسب‌وکار هوشمند، 5(19)، 75-103. doi: 10.22054/ ims.2017.7055
 
References
Akiki, P. A., Bandara, A. K., & Yu, Y. (2014). Adaptive model-driven user interface development systems. ACM Computing Surveys (CSUR), 47(1), 1-33. https://doi.org/10.1145/2597999
Alamin, M., Malakar, S., Uddin, G., Afroz, S., Haider, T., Iqbal, A. (2021). An Empirical Study of Developer Discussions on Low-Code Software Development Challenges. IEEE/ACM 18th International Conference on Mining Software Repositories (MSR). (pp. 46-57). https://doi.org/10.1109/MSR52588.2021.00018
Alamin, M. A. A., Uddin, G., Malakar, S., Afroz, S., Haider, T., & Iqbal, A. (2023). Developer discussion topics on the adoption and barriers of low code software development platforms. Empirical Software Engineering, 28(1), 1-59.‏ https://doi.org/10.1007/s10664-022-10244-0
Bedini, F., Maschotta, R., & Zimmermann, A. (2021, April). A generative Approach for creating Eclipse Sirius Editors for generic Systems. In 2021 IEEE International Systems Conference (SysCon) (pp. 1-8). IEEE.‏ https://doi.org/10.1109/SysCon48628.2021.9447062
Bhattacharyya, S. S., & Kumar, S. (2021). Study of deployment of “low code no code” applications toward improving digitization of supply chain management. Journal of Science and Technology Policy Management, 14(2), 271-278. https://doi.org/10.1108/JSTPM-06-2021-0084
Bock, A. C., & Frank, U. (2021). Low-code platform. Business & Information Systems Engineering, 63, 733-740.‏ https://doi.org/10.1007/s12599-021-00726-8
Booch, G. (2018). The history of software engineering. IEEE Software, 35(5), 108-114.‏ https://doi.org/10.1109/MS.2018.3571234
Boubeta-Puig, J., Rosa-Bilbao, J., & Mendling, J. (2021). CEPchain: A graphical model-driven solution for integrating complex event processing and blockchain. Expert Systems with Applications, 184, 115578.‏ https://doi.org/10.1016/j.eswa.2021.115578
Brambilla, M., Cabot, J., Wimmer, M. (2017). Model-Driven Software Engineering in Practice. Synthesis Lectures on Software Engineering, 2nd edition. Morgan & Claypool Publishers, San Rafael. https://doi.org/10.2200/S00751ED2V01Y201701SWE004
Brosch, P., Seidl, M., Wieland, K., Wimmer, M., & Langer, P. (2009). We can work it out: Collaborative conflict resolution in model versioning. In ECSCW 2009 (pp. 207-214). Springer London.‏ https://doi.org/10.1007/978-1-84882-854-4_12
Bruneliere, H., Cabot, J., Dupé, G., & Madiot, F. (2014). Modisco: A model driven reverse engineering framework. Information and Software Technology, 56(8), 1012-1032.‏ https://doi.org/10.1016/j.infsof.2014.04.007
Bucaioni, A., Cicchetti, A., & Ciccozzi, F. (2022). Modelling in low-code development: a multi-vocal systematic review. Software and Systems Modeling, 21(5), 1959-1981.‏ https://doi.org/10.1007/s10270-021-00964-0
Cabot, J. (2020). Positioning of the low-code movement within the field of model-driven engineering. In Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (pp. 1-3). https://doi.org/10.1145/3417990.3420210
ElBatanony, A., & Succi, G. (2021, October). Towards the no-code era: A vision and plan for the future of software development. In Proceedings of the 1st ACM SIGPLAN International Workshop on Beyond Code: No Code (pp. 29-35).‏ https://doi.org/10.1145/3486949.3486965
Gottschalk, S., Bhat, R., Weidmann, N., Kirchhoff, J., & Engels, G. (2022). Low-code experimentation on software products. In Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (pp. 798-807).‏ https://doi.org/10.1145/3550356.3561572
Guizzardi, G., & Proper, H. A. (2021). On understanding the value of domain modeling. In Proceedings of 15th International Workshop on Value Modelling and Business Ontologies (VMBO 2021). (pp. 51-62). https://ceur-ws.org/Vol-2835/paper6.pdf
Gürcan, F., Taentzer, G. (2021). Using Microsoft PowerApps, Mendix and OutSystems in two development scenarios: an experience report. In 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C) (pp. 67-72). IEEE. https://doi.org/10.1109/MODELS-C53483.2021.00017
Harkes, D. C. (2019). Declarative Specification of Information System Data Models and Business Logic (Doctoral dissertation, Delft University of Technology, Netherlands). https://doi.org/10.4233/uuid:5e9805ca-95d0-451e-a8f0-55decb26c94a
Hettel, T., Lawley, M., Raymond, K. (2008). Model synchronisation: Definitions for round-trip engineering. International Conference on Theory and Practice of Model Transformations. Springer, Berlin, Heidelberg. (pp. 31-45). https://doi.org/10.1007/978-3-540-69927-9_3
Hey, A., Hey, T., Pápay, G. (2014). The computing universe: a journey through a revolution, Cambridge University Press.‏
Hili, N., & Oliveira, R. A. (2022). A light-weight low-code platform for back-end automation. In Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (pp. 837-846).‏ https://doi.org/10.1145/3550356.3561590
Käss, S., Strahringer, S., & Westner, M. (2023). Practitioners’ Perceptions on the Adoption of Low Code Development Platforms. IEEE Access, 11, 29009-29034.‏ https://doi.org/10.1109/ACCESS.2023.3258539
Kenneweg, B., Kasam, I., & McMullen, M. (2021). Building Low-Code Applications with Mendix: Discover Best Practices and Expert Techniques to Simplify Enterprise Web Development (pp. 1525-1551). Birmingham: Packt Publishing.‏
Khorram, F., Mottu, J. M., & Sunyé, G. (2020). Challenges & opportunities in low-code testing. In Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (pp. 1-10). https://doi.org/10.1145/3417990.3420204
Kolovos, D. S., Paige, R. F., & Polack, F. A. (2006). Eclipse development tools for epsilon. In Eclipse summit Europe, eclipse modeling symposium (Vol. 20062, p. 200).‏ https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=8268b0795e2af075b4d0f78d1cc558dd69b24ea7
Kung, D. (2013). Object-oriented Software Engineering. In An Agile Unified Methodology. McGraw-Hill Higher Education.‏
Martins, R., Caldeira, F., Sa, F., Abbasi, M., & Martins, P. (2020). An overview on how to develop a low-code application using OutSystems. In 2020 International Conference on Smart Technologies in Computing, Electrical and Electronics (ICSTCEE) (pp. 395-401). IEEE.‏ https://doi.org/10.1109/ICSTCEE49637.2020.9277404
Mayerhofer, T., Langer, P., Wimmer, M., Kappel, G. (2013). XMOF: Executable DSMLs based on fUML. International conference on software language engineering. (pp. 56-75). https://doi.org/10.1007/978-3-319-02654-1_4
Mernik, M., Heering, J., & Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM computing surveys (CSUR), 37(4), 316-344.‏ https://doi.org/10.1145/1118890.1118892
Nekrasov, A. (2022). SwiftUI. In Swift Recipes for iOS Developers: Real-Life Code from App Store Apps (pp. 319-341). Berkeley, CA: Apress.‏ https://doi.org/10.1007/978-1-4842-8098-0_8
Overeem, M. (2022). Evolution of Low-Code Platforms (Doctoral dissertation, Utrecht University). https://dspace.library.uu.nl/handle/1874/420601
Rekstad, K. (2021). A Modeling Environment in the Cloud for Education. Master's thesis, NTNU. https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2837177/no.ntnu:inspera:74730513:26437651.pdf?sequence=1
Richardson, C., Rymer, J. R. (2014). New Development Platforms Emerge For Customer-Facing Applications. Forrester: Cambridge, MA, USA. https://www.forrester.com/report/New-Development-Platforms-Emerge-For-CustomerFacing-Applications/RES113411
Rokis, K., & Kirikova, M. (2022, September). Challenges of Low-Code/No-Code Software Development: A Literature Review. In 21st International Conference on Business Informatics Research, BIR. (pp. 3-17). Cham: Springer International Publishing.‏ https://doi.org/10.1007/978-3-031-16947-2_1
Ruscio, D., Kolovos, D., Lara, J., Pierantonio, A., Tisi, M., Wimmer, M. (2022). Low-code development and model-driven engineering: Two sides of the same coin? Journal of Software and Systems Modeling, 1-10. https://doi.org/10.1007/s10270-021-00970-2
Sahay, A., Indamutsa, A., Ruscio, D., Pierantonio, A. (2020). Supporting the understanding and comparison of low-code development platforms. Proceedings of 46th Euromicro Conference on Software Engineering and Advanced Applications SEAA. (pp. 171–178). https://doi.org/10.1109/SEAA51224.2020.00036
Samimi-Dehkordi, L., Zamani, B., & Kolahdouz-Rahimi, S. (2019). Leveraging product line engineering for the development of domain-specific metamodeling languages. Journal of Computer Languages, 51, 193-213.‏ https://doi.org/10.1016/j.cola.2019.02.006
Tisi, M., Mottu, J., Kolovos, D. S., Lara, J., Guerra, E., Ruscio, D., Pierantonio, A., and Wimmer, M. (2019). Lowcomote: Training the next generation of experts in scalable low-code engineering platforms. In STAF (Co-Located Events). (pp. 73-78).‏ https://ceur-ws.org/Vol-2405/13_paper.pdf
Tolvanen, J. P., Kelly, S. (2008). Domain-specific modeling: Enabling full code generation. Wiley IEEE Computer Society. http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470036664.html
Verbruggen, C., & Snoeck, M. (2023). Practitioners’ experiences with model-driven engineering: a meta-review. Software and Systems Modeling, 22(1), 111-129.‏ https://doi.org/10.1007/s10270-022-01020-1
Vincent, P., Iijima, K., Driver, M., Wong, J., & Natis, Y. (2019). Magic quadrant for enterprise low-code application platforms. Gartner report.‏ https://www.zoho.com/sites/zweb/images/zoho_general_pages/magic-quadrant-for-enterprise-low-code-shareable-until-end-of-year-only.pdf
Wei, Y., & Blake, M. B. (2010). Service-oriented computing and cloud computing: Challenges and opportunities. IEEE Internet Computing, 14(6), 72-75.‏ https://doi.org/10.1109/MIC.2010.147
Wurster, M., Breitenbücher, U., Falkenthal, M., Krieger, C., Leymann, F., Saatkamp, K., & Soldani, J. (2020). The essential deployment metamodel: a systematic review of deployment automation technologies. SICS Software-Intensive Cyber-Physical Systems, 35, 63-75. https://doi.org/10.1007/s00450-019-00412-x
Zhao, J. F., & Zhou, J. T. (2014). Strategies and methods for cloud migration. International Journal of Automation and Computing, 11(2), 143-152.‏ https://doi.org/10.1007/s11633-014-0776-7
Zheng, Z., Xie, S., Dai, H. N., Chen, W., Chen, X., Weng, J., & Imran, M. (2020). An overview on smart contracts: Challenges, advances and platforms. Future Generation Computer Systems, 105, 475-491.‏ https://doi.org/10.1016/j.future.2019.12.019
References [In Persian]
Shahsavari-pour, N., Rezvandoust, S., Mirzaie, A., Heydarbeig, S. (2017). An Investigation into the Relationship between Alignment of IT Strategy and Business Strategy with Enterprise Agility in Software Companies. Business Intelligence Management Studie, 5(19), 75-103 https://doi.org/10.22054/ims.2017.7055 [In Persia