Software Architecture for Optical Detector Systems
Introduction: Astronomical detector systems are the main tool for observations in the optical and infrared regions. But the requirements for speed, accuracy and reliability of video processing in astronomy are significantly higher than those in the industry and everyday life machine vision systems. Therefore, astronomical detector systems use ad hoc software. The imperfection of the existing software for CCD systems has led to a situation where an attempt to fix some software errors causes other faults; software development for new high-speed detector systems slows down and does not solve all the tasks. One of the effective ways to solve this problem is automata-based programming. Purpose: The goal is to develop a generalized architectural model for highly efficient and reliable video acquisition software taking into account the characteristics of the equipment in use. Results: The paper describes the structure of the digital detector system and shows the characteristics of the existing CCD systems. It is shown that astronomical control software should be classified as reactive systems whose behavior is determined using state-transition models. This approach lies at the basis of automata-based programming. The acquisition software algorithms are described by extended state machine diagrams. The paper shows the control automatons for the observation process and the interface board. The architectural model of the acquisition program was constructed from the interacting state machine diagram. Its main components are discussed in the paper. The implemented program is isomorphic to the architectural model. Practical relevance: The presented architecture was the basis of several acquisition programs designed for optical detector systems. The developed models and algorithms have increased the efficiency of astronomical observations and greatly reduced the software development life for a wide range of digital detector systems. The obtained results can be used for the design of new acquisition systems or for developing experiment automation software along with other types of astronomical devices.