DRA events

Better Software Architecture, Better Software, Better Research - On the Two Types of Value of Research Software

by Jan Linxweiler

→ Europe/Zurich
Online, Zoom

Online, Zoom

Description

The value of scientific software — and of software in general — is twofold. It lies both in its behaviour and in its structure. The latter, often referred to as architecture, determines the extent to which software retains its most defining property: its softness. While most scientists primarily focus on behavioural aspects — that is, what the software does — it is the structural value that ultimately enables maintainability, extensibility, and reuse. Without a sound architecture, software becomes rigid and difficult to adapt.

This challenge is particularly pronounced in the scientific context, where inquiry is inherently open-ended and software must evolve continuously alongside research. Change has posed difficulties for scientific software developers since the earliest days and remains a central issue today.

In this workshop, we will take a high-level perspective on software design and architecture to explore structural characteristics that either facilitate or inhibit change. We will argue that only by establishing architectures that embrace change can we sustain long-term value — not only in structure but also in behaviour, as our scientific requirements evolve.

Content

We will begin by defining what software architecture is and why it plays a particularly important role in the context of research software. By examining the key characteristics of software architecture, we will explore its purpose and what distinguishes good architectures from bad ones. Participants will learn how to design component structures that enable evolvable architectures by applying fundamental component principles. Finally, we will look at different architectural styles and discuss their relevance and application to research software.

Learning Outcomes

Participants will:

  • Understand the dual nature of software value — behavioural and structural — and its implications for research software.
  • Be able to define the concept of software architecture and explain its importance for long-term software sustainability.
  • Recognize the characteristics of good software architecture and identify common structural pitfalls.
  • Learn how to design component-based architectures that support change, extension, and reuse.
  • Gain an overview of common architectural styles and learn how to choose and apply them effectively in research software projects.

Prerequisites

  • Basic knowledge of an Object Oriented Programming Language (e.g. Python)
  • Basic understanding of UML or similar modelling notations



Jan Linxweiler is the head of IT and Research Services at  the University of TU Braunschweig and the general manager of the Center for Mechanics, Uncertainty and Simulation in Engineering (MUSEN). His research interests include Research Software Engineering, High Performance Computing, Research Data Management and Open Science. Linxweiler holds a PhD in Engineering and is a founding member of the German RSE association, of which he is also chairman of the board. Contact him at j.linxweiler@tu-braunschweig.de.
 
 

This workshop is a collaboration between JuRSE and the Digitial Research Academy.

JuRSE logo DRA logo

Organised by

Julia Pauquet

Registration
Registration Form
0 / 40