Combining Rigorous Requirements Specifications with Low-Code Platforms to Rapid Development Software Business Applications
Abstract
:1. Introduction
2. Background
2.1. Domain-Specific Languages for Business Apps
2.2. Low-Code Development Platforms
2.3. ITLingo ASL
2.4. Quidgest Genio
3. Comparison of ASL and Genio Languages
“The Invoice Management System (IMS) is a system that allows users to manage customers, products, and invoices. An IMS user has a user account and is assigned to user roles, such as operator, manager, and customer. For each customer, the system shall maintain the following information: name, fiscal id, logo image, address, bank details, and additional information such as basic personal contact information. Each product must have only one VAT category and maintain the respective current VAT value. Additionally, the system should maximise the productivity of its users by using computed fields, so the users only need to focus on what is strictly necessary. [...]”
3.1. Data Entities
- Spec. 1. ASL specification of the “Invoice” and “InvoiceLine” data entities (IMS example).
3.2. UI Elements
3.2.1. UI Forms
- Spec. 2. ASL specification of a Form and a List for the “Invoice” data entity (IMS example).
3.2.2. UI Lists
3.3. Actors and Use Cases
- Spec. 3. Example specification of actors and use cases in ASL.
4. ASL Extensions
4.1. Data Attribute’s Formulas
- Spec. 4. Example usage of formulas for the ASL specification of the “Invoice” data entity.
4.2. UI Elements’ Expressions
4.3. Extended Data Enumerations
- Spec. 5. Example specification of the data enumeration “Document Type”.
5. ASL2Genio Transformation
- Spec. 6. Pseudo-code of the generate method of ASL’s Genio extension.
6. Case Study: Invoice Management System
6.1. ASL Specification
6.2. Genio Model
6.3. Software Business Application
7. Related Work
7.1. Languages and Architectural Views
7.2. Model-Driven Tool Interoperability
7.3. Low-Code Platforms’ Interoperability
8. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Appendix A. ASL Specification of the IMS Application
References
- Shah, T.; Patel, S.V. A Review of Requirement Engineering Issues and Challenges in Various Software Development Methods. Int. J. Comput. Appl. 2014, 99, 36–45. [Google Scholar] [CrossRef]
- Al-Fedaghi, S. Developing Web Applications. Int. J. Softw. Eng. Its Appl. 2011, 5, 57–68. [Google Scholar]
- Gamito, I.; Silva, A.R. From Rigorous Requirements and User Interfaces Specifications into Software Business Applications. In Proceedings of the 13th International Conference on the Quality of Information and Communications Technology (QUATIC’2020), Braga, Portugal, 8–11 September 2020. [Google Scholar]
- Bock, A.C.; Frank, U. Low-code platform. Bus. Inf. Syst. Eng. 2021, 63, 733–740. [Google Scholar] [CrossRef]
- Frank, U.; Maier, P.; Bock, A. Low Code Platforms: Promises, Concepts and Prospects: A Comparative Study of Ten Systems; ICB-Research Report No. 70; Universität Duisburg-Essen, Institut für Informatik und Wirtschaftsinformatik (ICB): Essen, Germany, 2021. [Google Scholar] [CrossRef]
- Overeem, M. Evolution of Low-Code Platforms. Ph.D. Thesis, Utrecht University, Utrecht, The Netherlands, 2022. [Google Scholar]
- Di Ruscio, D.; Kolovos, D.; de Lara, J.; Pierantonio, A.; Tisi, M.; Wimmer, M. Low-code development and model-driven engineering: Two sides of the same coin? Softw. Syst. Model. 2022, 21, 437–446. [Google Scholar] [CrossRef]
- PLATFORM—Genio by Quidgest. Available online: https://genio.quidgest.com/platform (accessed on 13 October 2021).
- OutSystems Evaluation Guide. Available online: https://www.outsystems.com/evaluation-guide (accessed on 13 October 2021).
- Mendix Evaluation Guide. Available online: https://www.mendix.com/evaluation-guide (accessed on 13 October 2021).
- Business Apps|Microsoft Power Apps. Available online: https://powerapps.microsoft.com (accessed on 22 August 2022).
- Google AppSheet|Build Apps with No Code. Available online: https://www.appsheet.com (accessed on 22 August 2022).
- Build a Better Way to Work|Amazon Honeycode. Available online: https://www.honeycode.aws (accessed on 22 August 2022).
- Silva, A.R. Model-driven engineering: A survey supported by the unified conceptual model. Comput. Lang. Syst. Struct. 2015, 43, 139–155. [Google Scholar]
- Cabot, J. 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 (MODELS’ 20), New York, NY, USA, 16–23 October 2020. [Google Scholar]
- PROJECTS—Genio by Quidgest. Available online: https://genio.quidgest.com/projects-2 (accessed on 8 July 2022).
- Silva, A.R. ITLingo Research Initiative in 2022. arXiv 2022, arXiv:1804.00344. [Google Scholar]
- Deursen, A.V.; Klint, P.; Visser, J. Domain-specific languages. ACM Sigplan Not. 2000, 35, 26–36. [Google Scholar] [CrossRef]
- Kosar, T.; Oliveira, N.; Mernik, M.; Pereira, V.J.M.; Črepinšek, M.; Da, C.D.; Henriques, R.P. Comparing General-Purpose and Domain-Specific Languages: An Empirical Study. Comput. Sci. Inf. Syst. 2010, 438, 247–264. [Google Scholar] [CrossRef]
- HTML: HyperText Markup Language. Available online: https://developer.mozilla.org/en-US/docs/Web/HTML (accessed on 20 June 2022).
- CSS: Cascading Style Sheets. Available online: https://developer.mozilla.org/en-US/docs/Web/CSS (accessed on 20 June 2022).
- LaTeX—A Document Preparation System. Available online: https://www.latex-project.org (accessed on 20 June 2022).
- Kurtev, I.; Bézivin, J.; Jouault, F.; Valduriez, P. Model-based DSL frameworks. In Proceedings of the Companion to the 21st ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages and Applications—OOPSLA’06, Portland, OR, USA, 22–26 October 2006. [Google Scholar]
- Sanchis, R.; García-Perales, Ó.; Fraile, F.; Poler, R. Low-Code as Enabler of Digital Transformation in Manufacturing Industry. Appl. Sci. 2020, 10, 12. [Google Scholar] [CrossRef]
- How Enterprise-Grade Low-Code Speeds up Time to Market. Available online: https://www.nearpartner.com/2021/02/how-enterprise-grade-low-code-speeds-up-time-to-market (accessed on 20 October 2021).
- Gartner Says the Majority of Technology Products and Services Will Be Built by Professionals Outside of IT by 2024. Available online: https://www.gartner.com/en/newsroom/press-releases/2021-06-10-gartner-says-the-majority-of-technology-products-and-services-will-be-built-by-professionals-outside-of-it-by-2024 (accessed on 20 October 2021).
- Danilchenko, Y.B. Automatic Code Generation Using Artificial Intelligence; ProQuest/UMI: Ann Arbor, MI, USA, 2012. [Google Scholar]
- Event Sourcing. Available online: https://martinfowler.com/eaaDev/EventSourcing.html (accessed on 23 August 2022).
- What Is API Management? Available online: https://www.redhat.com/en/topics/api/what-is-api-management (accessed on 23 August 2022).
- Evolutionary Architecture: Supporting Constant Change. Available online: https://www.sqli.nl/en/blog/evolutionary-architecture (accessed on 23 August 2022).
- Silva, A.R. Rigorous Specification of Use Cases with the RSL Language. In Proceedings of the 28th International Conference on Information Systems Development (ISD’2019), Toulon, France, 28–30 August 2019. [Google Scholar]
- Silva, A.R.; Savić, D. Linguistic Patterns and Linguistic Styles for Requirements Specification: Focus on Data Entities. Appl. Sci. 2021, 11, 4119. [Google Scholar] [CrossRef]
- Silva, A.R. Linguistic Patterns and Linguistic Styles for Requirements Specification (I): An Application Case with the Rigorous RSL/Business-level Language. In Proceedings of the 22nd European Conference on Pattern Languages of Programs (EuroPLOP’2017), Irsee, Germany, 12–16 July 2017. [Google Scholar]
- Silva, A.R. Linguistic Patterns, Styles, and Guidelines for Writing Requirements Specifications: Focus on Use Cases and Scenarios. IEEE Access 2021, 9, 143506–143530. [Google Scholar] [CrossRef]
- Flow Modeling Language Specification Version 1.0. Available online: https://www.omg.org/spec/IFML/1.0 (accessed on 21 October 2021).
- GENIO: Xtreme Low-Code Platform. Available online: https://quidgest.com/en/about-quidgest/genio-platform (accessed on 20 October 2021).
- Ribeiro, A.; Silva, A.; Silva, A.R. Data Modeling and Data Analytics: A Survey from a Big Data Perspective. J. Softw. Eng. Appl. 2015, 8, 617–634. [Google Scholar] [CrossRef] [Green Version]
- Nielsen, J. Usability Engineering; Morgan Kaufmann Publishers Inc.: San Francisco, CA, USA, 1994. [Google Scholar]
- O’Hara, J.M.; Fleger, S. Human-System Interface Design Review Guidelines; Technical Report; Brookhaven National Lab (BNL): Upton, NY, USA, 2020. [Google Scholar]
- Overview of Formulas. Available online: https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263 (accessed on 5 July 2022).
- Eclipse Foundation. Available online: https://www.eclipse.org (accessed on 25 June 2022).
- Xtend. Available online: https://www.eclipse.org/xtend (accessed on 4 January 2022).
- Invoice Management System (IMS) Specified in the ITLingo ASL Language. Available online: https://github.com/pgalhardo/ims (accessed on 25 June 2022).
- ASP. NET MVC Pattern. Available online: https://dotnet.microsoft.com/en-us/apps/aspnet/mvc (accessed on 25 June 2022).
- Medvidovic, N.; Taylor, R.N. A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 2000, 26, 70–93. [Google Scholar] [CrossRef]
- Hasselbring, W. Software Architecture: Past, Present, Future. In The Essence of Software Engineering, 1st ed.; Gruhn, V., Striemer, R., Eds.; Springer International Publishing: Cham, Switzerland, 2018; pp. 169–184. [Google Scholar]
- ISO/IEC/IEEE 42010:2011; Systems and Software Engineering—Architecture Description. ISO: Geneva, Switzerland, 2011.
- Kruchten, P. The 4 + 1 View Model of Software Architecture. IEEE Softw. 1995, 12, 42–50. [Google Scholar] [CrossRef]
- Górski, T. The 1 + 5 Architectural Views Model in Designing Blockchain and IT System Integration Solutions. Symmetry 2021, 13, 2000. [Google Scholar] [CrossRef]
- Brambilla, M.; Fraternali, P. Large-scale Model-Driven Engineering of web user interaction: The WebML and WebRatio experience. Sci. Comput. Program 2014, 89, 71–87. [Google Scholar] [CrossRef]
- Ribeiro, A.; da Silva, A.R. Evaluation of XIS-Mobile, a domain specific language for mobile application development. J. Softw. Eng. Appl. 2014, 7, 906–919. [Google Scholar] [CrossRef]
- Seixas, J.; Ribeiro, A.; da Silva, A.R. A Model-Driven Approach for Developing Responsive Web Apps. In Proceedings of the ENASE, Heraklion, Greece, 4–5 May 2019. [Google Scholar]
- Cortés, H.; Navarro, A. Enterprise WAE: A Lightweight UML Extension for the Characterisation of the Presentation Tier of Enterprise Applications with MDD-Based Mockup Generation. Int. J. Softw. Eng. Knowl. Eng. 2017, 27, 1291–1331. [Google Scholar]
- Filipović, M.; Vuković, Ž.; Dejanović, I.; Milosavljević, G. Rapid Requirements Elicitation of Enterprise Applications Based on Executable Mockups. Appl. Sci. 2021, 11, 7684. [Google Scholar] [CrossRef]
- Wicks, M.N.; Dewar, R.G. A new research agenda for tool integration. J. Syst. Softw. 2007, 80, 1569–1585. [Google Scholar]
- Bézivin, J.; Bruneliere, H.; Jouault, F.; Kurtev, I. Model Engineering Support for Tool Interoperability. In Proceedings of the Workshop in Software Model Engineering (WiSME’2005)—A MODELS 2005 Satellite Event, Montego Bay, Jamaica, 2–7 October 2005. [Google Scholar]
- Voelter, M.; Visser, E. Product Line Engineering Using Domain-Specific Languages. In Proceedings of the 15th International Software Product Line Conference, Munich, Germany, 21–26 August 2011. [Google Scholar]
- Brunelière, H.; Cabot, J.; Clasen, C.; Jouault, F.; Bézivin, J. Towards Model Driven Tool Interoperability: Bridging Eclipse and Microsoft Modeling Tools. In Modelling Foundations and Applications; ECMFA; Springer: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
- Bragança, A.; Azevedo, I.; Bettencourt, N.; Morais, C.; Teixeira, D.; Caetano, D. Towards supporting SPL engineering in low-code platforms using a DSL approach. In Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, Chicago, IL, USA, 17–18 October 2021. [Google Scholar]
- Ferreira, A.; Silva, A.R.; Paiva, A.C. Towards the Art of Writing Agile Requirements with User Stories, Acceptance Criteria, and Related Constructs. In Proceedings of the International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE’2022), Online, 25–26 April 2022. [Google Scholar]
- Paiva, A.C.; Maciel, D.; Silva, A.R. From Requirements to Automated Acceptance Tests with the RSL Language. In Communications in Computer and Information Science; Springer: Cham, Switzerland, 2020; Volume 1172. [Google Scholar]
- Correia, C.M.; Silva, A.R. Platform-Independent Specifications for Robotic Process Automation. In Proceedings of the International Conference on Model-Driven Engineering and Software Development (MODELSWARD’2022), Online, 6–8 February 2022. [Google Scholar]
- Verelst, J.; Silva, A.R.; Mannaert, H.; Ferreira, D.A.; Huysmans, P. Identifying Combinatorial Effects in Requirements Engineering. In Proceedings of the Third Enterprise Engineering Working Conference (EEWC 2013), Luxembourg, 13–14 May 2013. [Google Scholar]
- Górski, T.; Bednarski, J. Applying model-driven engineering to distributed ledger deployment. IEEE Access 2020, 8, 118245–118261. [Google Scholar] [CrossRef]
- Ivančić, L.; Suša Vugec, D.; Bosilj Vukšić, V. Robotic Process Automation: Systematic Literature Review. In Proceedings of the 17th International Conference on Business Process Management (BPM 2019), Vienna, Austria, 1–6 September 2019. [Google Scholar]
- Enríquez, J.G.; Jiménez-Ramírez, A.; Domínguez-Mayo, F.J.; Garcia-Garcia, J.A. Robotic process automation: A scientific and industrial systematic mapping study. IEEE Access 2020, 8, 39113–39129. [Google Scholar] [CrossRef]
- Haleem, A.; Javaid, M.; Singh, R.P.; Rab, S.; Suman, R. Hyperautomation for the enhancement of automation in industries. Sens. Int. 2021, 2, 100124. [Google Scholar] [CrossRef]
ASL Element | Genio Element | Folder | File Name (.xml) |
---|---|---|---|
DataEntities | Tables | GENTABEL | {Data entity name} |
UIComponent | Forms | GENFORMS | {Form name} |
UIComponent | Menus | GENMENUS | {Menu name} |
- | Modules | GENMODUL | {Module name} |
DataEnumerations | Enumerations | - | GENARRS |
Actors + UseCases | Access levels | - | GENNIVAC |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Galhardo, P.; Silva, A.R.d. Combining Rigorous Requirements Specifications with Low-Code Platforms to Rapid Development Software Business Applications. Appl. Sci. 2022, 12, 9556. https://doi.org/10.3390/app12199556
Galhardo P, Silva ARd. Combining Rigorous Requirements Specifications with Low-Code Platforms to Rapid Development Software Business Applications. Applied Sciences. 2022; 12(19):9556. https://doi.org/10.3390/app12199556
Chicago/Turabian StyleGalhardo, Pedro, and Alberto Rodrigues da Silva. 2022. "Combining Rigorous Requirements Specifications with Low-Code Platforms to Rapid Development Software Business Applications" Applied Sciences 12, no. 19: 9556. https://doi.org/10.3390/app12199556
APA StyleGalhardo, P., & Silva, A. R. d. (2022). Combining Rigorous Requirements Specifications with Low-Code Platforms to Rapid Development Software Business Applications. Applied Sciences, 12(19), 9556. https://doi.org/10.3390/app12199556