Author: Georg, J.
Paper Title Page
MO2BCO02 Concept and Design of an Extensible Middle-Layer Application Framework for Accelerator Operations and Development 30
 
  • M. Schütte, J. Georg, A. Grünhagen, H. Schlarb
    DESY, Hamburg, Germany
 
  Data collection and analysis are becoming increasingly vital not only for the experiments conducted with particle accelerators but also for their operation, maintenance, and development. Due to lack of feasible alternatives, experts regularly resort to writing task-specific scripts to perform actions such as (event triggered or temporary) data collection, system failure detection and recovery, and even simple high-level feedbacks. Often, these scripts are not shared and are deemed to have little reuse value, giving them a short lifetime and causing redundant work. We report on a modular Python framework for constructing middle-layer applications from a library of parameterized functionality blocks (modules) by writing a simple configuration file in a human-oriented format. This encourages the creation of maintainable and reusable modules while offering an increasingly powerful and flexible platform that has few requirements to the user. A core engine instantiates the modules according to the configuration file, collects the required data from the control system and distributes it to the individual module instances for processing. Additionally, a publisher-subscriber messaging system is provided for inter-module communication. We discuss architecture & design choices, current state and future goals of the framework as well as real use-case examples from the European XFEL.  
slides icon Slides MO2BCO02 [1.915 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-MO2BCO02  
About • Received ※ 05 October 2023 — Revised ※ 07 October 2023 — Accepted ※ 13 October 2023 — Issued ※ 30 October 2023
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)  
 
MO2BCO07 Continuous Integration and Debian Packaging for Rapidly Evolving Software 61
 
  • A.W.C. Barker, J. Georg, M. Hierholzer, M. Killenberg, T. Kozak, D. Rothe, N. Shehzad, C. Willner
    DESY, Hamburg, Germany
 
  We describe our Jenkins-based continuous integration system and Debian packaging methods, and their application to the rapid development of the ChimeraTK framework. ChimeraTK is a C++ framework for control system applications and hardware access with a high level of abstraction and consists of more than 30 constantly changing interdependent libraries. Each component has its own release cycle for rapid development, yet API and ABI changes must be propagated to prevent problems in dependent libraries and over 60 applications. We present how we configured a Jenkins-based continuous integration system to detect problems quickly and systematically for the rapid development of ChimeraTK. The Debian packaging system is designed to ensure the compatibility of binary interfaces (ABI) and of development files (API). We present our approach using build scripts that allow the deployment of rapidly changing libraries and their dependent applications as Debian packages. These even permit applications to load runtime plugins that draw from the same core library, yet are compiled independently.  
slides icon Slides MO2BCO07 [0.805 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-MO2BCO07  
About • Received ※ 06 October 2023 — Accepted ※ 13 October 2023 — Issued ※ 26 October 2023  
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)  
 
TUPDP025 Board Bring-up with FPGA Framework and ChimeraTK on Yocto 557
 
  • J. Georg, A.W.C. Barker, Ł. Butkowski, M. Hierholzer, M. Killenberg, T. Kozak, N. Omidsajedi, M. Randall, D. Rothe, N. Shehzad, C. Willner
    DESY, Hamburg, Germany
  • K. Zenker
    HZDR, Dresden, Germany
 
  This presentation will showcase our experience in board bring-up using our FPGA Framework and ChimeraTK, our C++ hardware abstraction library. The challenges involved in working with different FPGA vendors will be discussed, as well as how the framework and library help to abstract vendor-specific details to provide a consistent interface for applications. Our approach to integrating this framework and libraries with Yocto, a popular open-source project for building custom Linux distributions, will be discussed. We will show how we leverage Yocto’s flexibility and extensibility to create a customized Linux image that includes our FPGA drivers and tools, and discuss the benefits of this approach for embedded development. Finally, we will share some of our best practices for board bring-up using our framework and library, including tips for debugging and testing. Our experience with FPGA-based board bring-up using ChimeraTK and Yocto should be valuable to anyone interested in developing embedded systems with FPGA technology  
poster icon Poster TUPDP025 [0.567 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-TUPDP025  
About • Received ※ 06 October 2023 — Accepted ※ 11 December 2023 — Issued ※ 15 December 2023  
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)