Reactive programming in Ada 2012 with RxAda
Resumen: The ReactiveX API, also known as the Reactive Extensions in the. NET world, is a popular functional reactive programming framework for asynchronous, event-based, multithreaded programming. Although Ada built-in tasking reduces the dire needs for additional multithreading support of some other languages, the reactive approach has properties that are well-suited to the safety and maintainability culture predominant in the Ada world, such as complexity reduction, well-defined concurrency semantics, and enhanced legibility by means of concise and explicit information flows appealing to imperative reasoning. This work presents the design of a ReactiveX Ada implementation that aims to balance desirable library properties such as compile-time type-safety, amount of user-required generic instantiations, and a smooth learning curve for both library clients and maintainers. Concurrency design aspects of the library are detailed, showing how the Flat_Map and Thread abstractions have been implemented following Ada programming expectations, in particular with regard to task termination. In the intervening time from its first presentation, the library has gained implemented operators to the point of having all fundamental building blocks available. With RxAda, the Ada programmer can henceforth benefit from the abundant documentation existing for the language-agnostic ReactiveX approach without stepping out of the Ada tool chain.
Idioma: Inglés
DOI: 10.1016/j.sysarc.2020.101784
Año: 2020
Publicado en: Journal of Systems Architecture 110 (2020), 101784 [11 pp]
ISSN: 1383-7621

Factor impacto JCR: 3.777 (2020)
Categ. JCR: COMPUTER SCIENCE, SOFTWARE ENGINEERING rank: 19 / 108 = 0.176 (2020) - Q1 - T1
Categ. JCR: COMPUTER SCIENCE, HARDWARE & ARCHITECTURE rank: 17 / 53 = 0.321 (2020) - Q2 - T1

Factor impacto SCIMAGO: 0.597 - Software (Q1) - Hardware and Architecture (Q1)

Financiación: info:eu-repo/grantAgreement/ES/DGA-FSE/T45-17R
Financiación: info:eu-repo/grantAgreement/ES/DGA-FSE/T45-20R
Financiación: info:eu-repo/grantAgreement/ES/MINECO-AEI-FEDER/DPI2016-76676-R
Financiación: info:eu-repo/grantAgreement/ES/UZ/CUD2018-03
Financiación: info:eu-repo/grantAgreement/ES/UZ/CUD2019-05
Tipo y forma: Article (PostPrint)

Creative Commons You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. You may not use the material for commercial purposes. If you remix, transform, or build upon the material, you may not distribute the modified material.


Exportado de SIDERAL (2021-11-22-14:00:06)


Visitas y descargas

Este artículo se encuentra en las siguientes colecciones:
Articles



 Record created 2021-11-22, last modified 2021-11-22


Postprint:
 PDF
Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)