Author:
Rybiński Kamil,Śmiałek Michał,Sostaks Agris,Marek Krzysztof,Roszczyk Radosław,Wdowiak Marek
Abstract
AbstractDistributed, large-scale computing is typically performed using textual general-purpose programming languages. This requires significant programming skills associated with the parallelisation and distribution of computations. In this paper, we present a visual (graphical) programming language called the Computation Application Language (CAL) to raise abstraction in distributed computing. CAL programs define computation workflows by visualising data flowing between computation units. The goal is to reduce the amount of traditional code needed and thus facilitate development even by non-professional programmers. The language follows the low-code paradigm, i.e. its implementation (the editor and the runtime system) is available online. We formalise the language by defining its syntax using a metamodel and specifying its semantics using a two-step approach. We define a translation of CAL into an intermediate language which is then defined using an operational approach. This formalisation was used to develop a programming and execution environment. The environment orchestrates computations by interpreting the intermediate language and managing the instantiation of computation modules using data tokens. We also present an explanatory case-study example that shows a practical application of the language.
Publisher
Springer Science and Business Media LLC
Subject
Computer Networks and Communications,Hardware and Architecture,Information Systems,Software
Reference61 articles.
1. Richardson, C., Rymer, J.R., Mines, C., Cullen, A., Whittaker, D.: New development platforms emerge for customer-facing applications. Forrester report (2014)
2. 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? Software and Systems Modeling 21(2), 437–446 (2022). https://doi.org/10.1007/s10270-021-00970-2
3. Trigo, A., Varajão, J., Almeida, M.: Low-code versus code-based software development: Which wins the productivity game? IT Professional 24(5), 61–68 (2022). https://doi.org/10.1109/MITP.2022.3189880
4. Noone, M., Mooney, A.: Visual and textual programming languages: a systematic review of the literature. Journal of Computers in Education 5(2), 149–174 (2018). https://doi.org/10.1007/s40692-018-0101-5
5. Kuhail, M.A., Farooq, S., Hammad, R., Bahja, M.: Characterizing visual programming approaches for end-user developers: A systematic review. IEEE Access 9, 14181–14202 (2021). https://doi.org/10.1109/ACCESS.2021.3051043