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

Zirkelbach, Christian, Krause, Alexander and Hasselbring, Wilhelm (2020) The Collaborative Modularization and Reengineering Approach CORAL for Open Source Research Software International Journal On Advances in Software, 13 (1&2). pp. 34-49.

[img] Text
IJAS2020.pdf - Published Version

Download (736Kb)


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.

Document Type: Article
Keywords: collaborative software engineering; software modularization; software modernization; open source software; microservices.
Research affiliation: Kiel University > Software Engineering
Refereed: Yes
ISSN: 1942-2628
Projects: ExplorViz
Date Deposited: 16 Jul 2020 13:50
Last Modified: 16 Jul 2020 17:43

Actions (login required)

View Item View Item

Document Downloads

More statistics for this item...