Obermayer, T.-B. (2012). Data acquisition software for a silicon strip detector readout system [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-59032
Siliziumstreifendetektor; Readout-System; Belle II Silicon Vertex Detector; APV25; Datenerfassung; Objektorientierte Analyse; Objektorientiertes Design; Objektorientierte Programmierung; C++; Entwurfsmuster
de
silicon strip detector; readout system; Belle II Silicon Vertex Detector; APV25; data acquisition; object-oriented analysis; Object-oriented design; object-oriented programming; C++; design patterns
en
Abstract:
In der Hochenergiephysik werden zur Reproduktion von Teilchen-Trajektorien Siliziumstreifendetektoren eingesetzt. Zur Erfassung entsprechender Detektordaten werden speziell dafür vorgesehene Readout-Chips und Auslesesysteme verwendet.<br />Das Institut für Hochenergiephysik der Österreichischen Akademie der Wissenschaften (HEPHY) hat einen Prototyp für das Auslesesystem des Belle II Silicon Vertex Detectors vorgestellt, welches Readout-Chips des Typs APV25 initialisiert, steuert und ausliest. Dieses Auslesesystem wird im Rahmen des Belle II Experiments im japanischen Forschungszentrum für Hochenergiephysik (KEK) zum Einsatz kommen. In Ergänzung zum genannten Prototyp wurde eine Windows-Applikation zur Datenerfassung mittels Personal Computer entwickelt. Mängel im Software-Design und in der Dokumentation verursachten Probleme bei der Wartung und Weiterentwicklung dieses Programms.<br />Diese Arbeit beschreibt den Entwicklungsprozess, das daraus resultierende Design und die Implementierung einer neuen, auf Linux basierenden Applikation zur Erfassung von Daten mit dem genannten Auslesesystem. Eine Anforderungsspezifikation, welche vor der Softwareentwicklung erstellt wurde, wird präsentiert. Ferner werden eine reproduzierbare Vorgehensweise für die objektorientierte Analyse (OOA) und die Einhaltung allgemein anerkannter Grundsätze im objektorientierten Design (OOD) beschrieben. Es wird gezeigt, dass etablierte Entwurfsmuster und Softwareentwicklungstechniken mit dem Ziel verfolgt wurden, ein wartbares C++ Programm zu erstellen, welches einfach zu lesen und testen ist und entsprechend neuer Anforderungen angepasst werden kann. Außerdem beschreibt die Arbeit, wie ein wiederverwendbares Framework aus Softwarekomponenten für das Belle II Experiment erstellt wurde. Die Struktur und das Verhalten der Software werden mit einer geeigneten Teilmenge der Unified Modeling Language (UML) beschrieben.<br />In ihrer Gesamtheit stellt diese Arbeit einen Ansatz vor, wie etablierte Softwareentwicklungstechniken eingesetzt werden können, um einen vernünftigen Kompromiss zwischen zeitlichem und technischem Aufwand auf der einen Seite und Softwarequalität auf der anderen Seite zu erreichen.<br />
de
It the area of high energy physics, Silicon Strip Detectors (SSDs) are used to reproduce the trajectories of particles traversing a particle detector. The readout of SSDs is accomplished by dedicated readout chips and readout systems intended for Data Acquisition (DAQ).<br />The Institute of High Energy Physics of the Austrian Academy of Sciences (HEPHY) developed a prototype of the Belle II Silicon Vertex Detector readout system, designed for initialising, controlling and reading out front-end chips of the APV25 type. It will be used for the Belle II Experiment conducted at the KEK research laboratory in Japan. An appropriate Windows-based DAQ software application supporting this prototype was also developed at HEPHY.<br />However, shortcomings in the design and documentation of this DAQ application caused issues in maintenance and further development.<br />This thesis describes the development process, the resulting design and the implementation of a new, Linux-based, DAQ application supporting the prototype readout system mentioned above. The thesis also presents a requirements specification, which was finalised ahead of further software development. Furthermore, a reproducible strategy for Object-Oriented Analysis (OOA) and the compliance with generally accepted principles of Object-Oriented Design (OOD) are described. It is shown how established design patterns and software engineering techniques were followed with the aim to create a maintainable C++ program that is easy to read, test and debug, and can be adapted to changing requirements. In addition to this, the extraction of a stable, state-of-the-art framework of components reusable for the Belle II Experiment is illustrated. An appropriate subset of the Unified Modeling Language (UML) is used to describe software structure and behaviour in brief.<br />As a whole, this thesis presents an approach as to how established software engineering techniques can be utilised to reach a reasonable tradeoff between temporal and technical development effort on the one hand and software quality on the other hand.