Abstract
| Among many tools available on the market, LabVIEW is a programming environment widely used at CERN to monitor and control facilities around the accelerator complex. It allows fast programming, especially for GUI development, while interfacing with CERN’s control infrastructure. RADE is a ``Rapid Application Development Environment'' developed at CERN and integrated into LabVIEW to access the accelerator infrastructure from a user application. The goal of RADE is thus to help LabVIEW users at CERN focus on solving their problems and creating their applications, instead of re-developing already existing interfaces to the devices within CERN's control system. Over time, RADE has grown larger than intended in its original design, and now incorporates many modules, libraries, templates, and dependencies. Moreover, RADE is built through Continuous Integration (CI), and a single change into the framework would trigger CI to re-build it again. Therefore, a framework decoupling is needed to make RADE lighter, less complex and nested, also to allow CI to be triggered at the library level in the future. In addition, CERN's computing infrastructure features a multitier environment as well as different operating systems, which a single package manager cannot handle. As a result, different methods for installing and updating packages on a system were used in combination, that was hard to keep track of. We propose RADE Package Manager (RPKG), a new Python-based package manager for LabVIEW, tailored for CERN's control infrastructure. RPKG helps package and distribute libraries and modules, including RADE, overcoming the shortcomings of existing solutions. This work proposes the core library (rpkglib), a user-friendly GUI, through which users can install, create, and manage LabVIEW and RADE packages, and an evaluation of its functionalities. The newly developed package manager is compatible with legacy and future versions of LabVIEW, also when multiple versions are installed on a single system. |