Document Type : Research Paper
Authors
1 Department of computer engineering, faculty of engineering, Shahrekord University, Shahrekord, Iran
2 Department of Computer Engineering, Faculty of Engineering, Shahrekord University, Shahrekord, Iran
Abstract
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.
Keywords