Home // International Journal On Advances in Software, volume 13, numbers 1 and 2, 2020 // View article


The Collaborative Modularization and Reengineering Approach CORAL for Open Source Research Software

Authors:
Christian Zirkelbach
Alexander Krause
Wilhelm Hasselbring

Keywords: collaborative software engineering; software modularization; software modernization; open source software; microservices

Abstract:
Software systems evolve over their lifetime. Changing requirements make it inevitable for developers to modify and extend the underlying code base. Especially in the context of open source software where everybody can contribute, requirements can change over time and new user groups may be addressed. In particular, research software is often not structured with a maintainable and extensible architecture. In combination with obsolescent technologies, this is a challenging task for new developers, especially, when students are involved. In this paper, we report on the modularization process and architecture of our open source research project ExplorViz towards a microservice architecture. The new architecture facilitates a collaborative development process for both researchers and students. We explain our employed iterative modularization and reengineering approach CORAL, applied measures, and describe how we solved occurring issues and enhanced our development process. Afterwards, we illustrate the application of our modularization approach and present the modernized, extensible software system architecture and highlight the improved collaborative development process. After the first iteration of the process, we present a proof-of-concept implementation featuring several developed extensions in terms of architecture and extensibility. After conducting the second iteration, we achieved a first version of a microservice architecture and an improved development process with room for improvement, especially regarding service decoupling. Finally, as a result of the third iteration, we illustrate our improved implementation and development process representing an entire, separately deployable, microservice architecture.

Pages: 34 to 49

Copyright: Copyright (c) to authors, 2020. Used with permission.

Publication date: June 30, 2020

Published in: journal

ISSN: 1942-2628