JACoW logo

Journals of Accelerator Conferences Website (JACoW)

JACoW is a publisher in Geneva, Switzerland that publishes the proceedings of accelerator conferences held around the world by an international collaboration of editors.


RIS citation export for MOPV036: Porting Control System Software From Python 2 to 3 - Challenges and Lessons

TY  - CONF
AU  - Joubert, A.F.
AU  - Ockards, M.T.
AU  - Wai, S.
ED  - Furukawa, Kazuro
ED  - Yan, Yingbing
ED  - Leng, Yongbin
ED  - Chen, Zhichu
ED  - Schaa, Volker R.W.
TI  - Porting Control System Software From Python 2 to 3 - Challenges and Lessons
J2  - Proc. of ICALEPCS2021, Shanghai, China, 14-22 October 2021
CY  - Shanghai, China
T2  - International Conference on Accelerator and Large Experimental Physics Control Systems
T3  - 18
LA  - english
AB  - Obsolescence is one of the challenges facing all long-term projects. It not only affects hardware platforms, but also software. Python 2.x reached official End Of Life status on 1 January 2020. In this paper we review our efforts to port to the replacement, Python 3.x. While the two versions are very similar, there are important differences which can lead to incompatibility or changes in behaviour. We discuss our motivation and strategy for porting our code base of approximately 200 k source lines of code over 20 Python packages. This includes aspects such as internal and external dependencies, legacy and proprietary software that cannot be easily ported, testing and verification, and why we selected a phased approach rather than "big bang". We also report on the challenges and lessons learnt - notably why good test coverage is so important for software maintenance. Our application is the 64-antenna MeerKAT radio telescope in South Africa - a precursor to the Square Kilometre Array
PB  - JACoW Publishing
CP  - Geneva, Switzerland
SP  - 217
EP  - 221
KW  - software
KW  - controls
KW  - operation
KW  - factory
KW  - MMI
DA  - 2022/03
PY  - 2022
SN  - 2226-0358
SN  - 978-3-95450-221-9
DO  - doi:10.18429/JACoW-ICALEPCS2021-MOPV036
UR  - https://jacow.org/icalepcs2021/papers/mopv036.pdf
ER  -