Approaching Software Engineering for Marine Sciences: A Single Development Process for Multiple End-User Applications
Metadata
Show full item recordAuthor
Magaña Redondo, Pedro Javier; Del Rosal Salido, Juan; Cobos Budia, Manuel; Lira Loarca, Andrea; Ortega Sánchez, MiguelEditorial
MDPI
Materia
Sea level rise Climate change Research software engineers Reproducibility Open source software
Date
2020-05-14Referencia bibliográfica
Magaña, P., Del-Rosal-Salido, J., Cobos, M., Lira-Loarca, A., & Ortega-Sánchez, M. (2020). Approaching Software Engineering for Marine Sciences: A Single Development Process for Multiple End-User Applications. Journal of Marine Science and Engineering, 8(5), 350. [doi: 10.3390/jmse8050350]
Sponsorship
"Programa Iberoamericano de Ciencia y Tecnologia para el Desarrollo", CYTED (project PROTOCOL) 917PTE0538; Spanish Ministry of Economy and Competitiveness PCIN-2017-108Abstract
Research software is currently used by a large number of scientists on a daily basis,
and everything indicates that this trend will continue to increase in the future. Most of this
scientific software is very often developed by the researchers themselves, who usually make it
available to the rest of the scientific community. Although the relationship between science and
software is unquestionably useful, it is not always successful. Some of the critical problems that
scientists face include a lack of training in software development, a shortage of time and resources,
or difficulty in effectively cooperating with other colleagues. Additional challenges arise in the
context of increasingly common cross-cutting and multidisciplinary research. This often results
in the developed software and code being slow, not reusable, lacks visibility and dissemination,
and in the worst cases it is defective and unreliable. Therefore, a multidisciplinary framework is
needed to meet the demands of both scientists and software engineers and handle the situation
successfully. However, a multidisciplinary team is not always sufficient to solve this problem, and
it is necessary to have links between scientists and developers: software engineers with a solid
scientific background. This paper presents the approach used in the framework of the PROTOCOL
project, and more particularly in the development of its applied software, in which a tool for the
characterization of climate agents has been developed. The main guidelines of the development
process include, among others, modularity, distributed control version, unit testing, profiling, inline
documentation and the use of best practices and tools.