A big number of research efforts in the history of computer science have shared a common objective: enabling the construction of software applications without recurring to traditional procedural computer programming. Early products of these research efforts, like fourth-generation programming languages and rapid application development tools, have seen a significant industrial adoption in alternating periods since the nineties, but never reached a dominating position in the software construction landscape.
Today a new generation of tools that successfully address this challenge in specific domains is becoming one of the new major trends in industry. They are commonly called low-code development platforms (LCDPs): software development platforms on the Cloud, provided through a Platform-as-a-Service (PaaS) model, that allow users to build fully operational applications by interacting through dynamic graphical user interfaces, visual diagrams and declarative languages. The growth of these technologies is documented by the research firm Forrester, that is forecasting a market increase for LCDP companies to over $21 billion over the next four years. Major PaaS players like Google and Microsoft are all integrating LCDPs (Google AppMaker and Microsoft Business Platform, respectively) in their general-purpose solutions.
LCDPs are evolving at a high speed, to address the current limitations that hamper their use throughout all software domains. One main area of work is scalability, as LCDPs are currently popular for the development of small applications, and their use in large-scale and mission-critical enterprise applications is seen as their next evolution. For large developments, LCPDs should be able to scale also in number of collaborating users, and enable social-network-style collaboration.
Another major problem is fragmentation. Each tool vendor proposes his own low-code development paradigm, associated with a particular programming model. Development artefacts cannot be easily migrated to different LCDPs, causing phenomena of vendor lock-up. Moreover no facility is provided for cross-LCDP development, since the interaction among different LCDPs is generally done at the level of generated executable code. Finally it is not possible to easily reuse pre-low-code artefacts, e.g. programs in declarative languages built on traditional development environments. Integrating existing languages in a LCDP requires re-implementing them from scratch, and this is often economically unreasonable for complex languages.
Finally, current LCDPs are limited to the definition of software-only systems. This is a particularly constraining limitation for the growth of LCDPs, since while citizen developers have little knowledge of programming, they are often experts in some other engineering domain. These domain experts expect to be able to use their knowledge in the application, at the right level of abstraction and using familiar formalisms. However, no support is currently given for integrating with heterogeneous (e.g. coming from mechanical, electrical, civil engineering) models. This need starts to be observable in the market, as some IoT applications would already benefit from integrating with physical engineering models. Since these models can be very large, poor scalability of low-code methods and tools is again a limiting factor.
Lowcomote aims to train a generation of professionals in the design, development and operation of new LCDPs, that overcome the limitations above, by being scalable (i.e., supporting the development of large-scale applications, and using artefacts coming from a large number of users), open (i.e., based on interoperable and exchangeable programming models and standards), and heterogeneous (i.e., able to integrate with models coming from different engineering disciplines). These scientists will drive the upgrade of the current landscape of Low-Code Development Platforms to Low-Code Engineering Platforms (LCEPs).
To reach its main scientific goal, Lowcomote integrates an interdisciplinary and intersectoral research program around three specific research objectives (RO). Lowcomote will train ESRs capable of:
RO1: Enabling Low-code Engineering of Large-Scale Heterogeneous Systems, by smart development environments on the Cloud and precise integration of low-code languages with new domains.
RO2: Developing a Large-scale Repository and Services for Low-Code Engineering, as a Cloud-based service able to handle a very large number of low-code artefacts, and automatically learn from them.
RO3: Producing advancements in Scalable Low-Code Artefact Management, as new algorithms and reusable components.
Lowcomote will explore the required research breakthroughs in three complementary and interconnected research driven work packages, one training-oriented work package, a work-package dedicated to project management and a work-package responsible for the dissemination and exploitation of the findings of the network.
|#||Work package title||Start month||End month||Activity type||Lead beneficiary||ESR involvement|
|2||Scientific and transferable skills training||1||48||Training||UY||1–15|
|3||Low-code engineering of large-scale heterogeneous systems||9||45||RTD||UAM||1–5|
|4||Large-scale repository and services for low-code engineering||9||45||RTD||UDA||6–10|
|5||Scalable low-code artefact management||9||45||RTD||JKUL||11–15|
|6||Dissemination and exploitation||1||48||Dissemination||INT||1–15|