2026-08-14 –, Room 3
Technical systems become increasingly complex, optimizing their processes by adapting to external conditions. Such self-adaptive systems (SAS) need software that dynamically adapts its behavior.
Context-Oriented and Role-Oriented Programming simplify defining dynamic behavior. Hence, implementing these concepts in Julia is beneficial for SAS development. The library Contexts.jl provides infrastructure for using these paradigms in Julia. This talk introduces its structure and key features.
Technical systems, such as power grids and vehicles, grow increasingly complex as they optimize their processes by adapting to both environmental conditions and their internal states. These so-called self-adaptive systems (SAS) rely on software capable of dynamically adjusting their behavior to meet these demands.
Context-Oriented Programming (COP) and Role-Oriented Programming (ROP) are programming paradigms designed to simplify the definition of such dynamic behavior. The Julia programming language, with its just-in-time compilation and multiple dispatch, is particularly well-suited for implementing and invoking dynamic behaviors. Furthermore, Julia’s simulation ecosystem, including tools like ModelingToolkit.jl, provides an ideal environment for simulating self-adaptive cyber-physical systems. This makes the implementation of COP and ROP in Julia a valuable contribution to the development of SAS. The Contexts.jl library offers a framework for leveraging these paradigms in Julia. This talk will introduce its structure and key features.
The presentation will begin with an introduction to the concepts of COP and ROP, highlighting their role in the development of self-adaptive systems. The second part will focus on the implementation of COP in Contexts.jl, detailing its architecture and the use of Julia’s multiple dispatch and metaprogramming capabilities. A brief example will demonstrate how Contexts.jl allows specifying context-dependent behavior and contextual control mechanisms. The final section will introduce ROP, its implementation as an embedded domain-specific language, and a practical example showcasing its application.
This talk will provide attendees with a comprehensive understanding of how COP and ROP paradigms, implemented in Julia, can advance the development and simulation of self-adaptive systems.
I am a PhD student at TU Dresden. After studying physics, I began a PhD in the Boysen-TU Dresden-Research Training Group and the Chair of Software Technology at TU Dresden in 2023. My research focuses on extending Equation-based Modeling (EBM) languages to improve simulations of cyber-physical systems.