Skip to content

Commit 75a682a

Browse files
authored
Update 2025_05_15-seminar_42.md
1 parent 364be29 commit 75a682a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

_series/2025_05_15-seminar_42.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,21 @@ We welcome the 2023 Award Winner - [Yudong Sun](https://yudong.dev/?hl=de&expand
1313
**Abstract**:
1414

1515
**Yudong Sun**
16+
1617
**Title**: Modularity in Software-Hardware Interaction for Experimental Physics, an Example
18+
1719
**Abstract**:Software-hardware interfacing is vital to experimental physics, and is often used to automate data collection and analysis. However, while technologies like Virtual Instrument Software Architecture (VISA) exist, modularity is still not common in homemade software for research. Code written by researchers, despite using the same equipment, often does not get preserved, and generally does not align with the Object-Oriented Programming (OOP) paradigm. Here, we look back at project "nanosquared", a Python interfacing package that is highly modular and extensively tested for laser M-squared measurements. Such modularity aims to increase code re-usability/longevity and lower barriers-of-entry for software development.
1820

1921
**Florian Sihler**
22+
2023
Title: flowR: A Program Slicer for the R Programming Language
24+
2125
Abstract: Program slicing is an important technique to assist program comprehension. A program slicer identifies the parts of a program that are relevant to a given variable, e.g. a visualization or statistical test. The resulting slice can then help R programmers and researchers to understand the program by reducing the amount of code to be considered. We present flowR, a novel program slicer and dataflow analyzer for the R programming language. Given an R program and a variable of interest, flowR can return the resulting slice as a subset of the program or highlight the relevant parts directly in the input. Currently, flowR provides a read-eval-print loop, a server connection, an extension for Visual Studio Code, RStudio, and Positron. flowR is available as a docker image. flowR uses a five-step pipeline architecture, starting with a parser to convert the program into an abstract syntax tree (AST). After normalizing the AST, the dataflow extraction works as a stateful fold over the AST, incrementally constructing the graph of each subtree. The calculation of the program slice reduces to a reachability traversal of the dataflow graph which contains the uses and definitions of all variables. Finally, the slice is either reconstructed as R code or highlighted in the input.
2226

2327
**Anna Lena Schaible**
28+
2429
Title: Fast GPU-powered and auto-differentiable forward modeling for cosmological hydrodynamical simulations
30+
2531
Abstract: In the field of extragalactic astronomy we have typical two groups: The observers and the theorists. The nature of the data these two groups work with is very different: Observers count photons with the instrument detectors and theorists work with particles that have specific physical properties. This results in a rather small scientific exchange between both groups. Generally, there are two ways to bring observational data and simulation data closer together to allow a direct comparison between them: Forward modeling and inverse modeling.
2632
Forward modeling calculates what should be observed for a particular model. The forward model takes certain parameters and produces data that are comparable to actual observations. Here, we present RUBIX, a novel python framework that aims at bridging the gap between observation and modeling. Inverse modeling is the process of starting with the result - the observational data - and calculating the causal factors that produce these data, which means constructing a model that accounts for the given set of observations. In the future, RUBIX will also allow for inverse modeling of observational data of galaxies. To this end, it leverages the sophisticated features of the JAX ecosystem and implements a pipeline structure that naturally supports differentiability of the computations. Besides the pure software side, I will spent part time of the talk on how to start writing a research software from scratch. I will discuss the experiences and lessons learned in the journey from being a PhD student with no prior experience in research software engineering to developing an innovative open-source scientific software that uses cutting edge technologies.
2733

0 commit comments

Comments
 (0)