A Comparative Study of Programming Languages for a Real-Time Smart Grid Application

dc.contributor.authorRooney, Michael P.
dc.contributor.authorRao, Nakul
dc.contributor.authorLiebers, Nicholas
dc.contributor.authorSt. Leger, Aaron
dc.contributor.authorMatthews, Suzanne J.
dc.date.accessioned2024-06-03T12:30:43Z
dc.date.available2024-06-03T12:30:43Z
dc.date.issued2023-11-13
dc.description.abstractWith security an increasing concern, SCADA system designers should consider the programming language used to implement critical smart grid applications. In this paper, we compare the performance of an anomaly detection workflow implemented in a common programming language used in SCADA systems (C) to equivalent implementations in three less commonly-known languages (Numba Python, Cython, and Rust). We benchmark our implementations on two real-world datasets of synchrophasor data and compare their performance on two Arm-based single board computers. Our results demonstrate that the Numba Python implementations achieve real-time performance in many contexts that pure Python counterparts cannot. In all tested scenarios, the Rust implementations achieve real-time performance while consuming similar amounts of power to their C counterparts. Our results suggest that SCADA designers should take a closer look at Numba Python and Rust for performant WAMS applications.
dc.description.sponsorshipDepartment of Defense
dc.identifier.citationM. P. Rooney, N. Rao, N. Liebers, A. S. Leger and S. J. Matthews, "A Comparative Study of Programming Languages for a Real-Time Smart Grid Application," 2023 IEEE Green Energy and Smart Systems Conference (IGESSC), Long Beach, CA, USA, 2023, pp. 1-6, doi: 10.1109/IGESSC59090.2023.10321761.
dc.identifier.doihttps://doi.org/10.1109/IGESSC59090.2023.10321761
dc.identifier.otherhttps://www.suzannejmatthews.com/docs/Rooney2023b.pdf
dc.identifier.urihttps://hdl.handle.net/20.500.14216/1503
dc.publisherIEEE
dc.relation.ispartof2023 IEEE Green Energy and Smart Systems Conference (IGESSC)
dc.subjectWide Area Monitoring System
dc.subjectSynchrophasor
dc.subjectLinear State Estimation
dc.subjectAnomaly Detection
dc.subjectRust
dc.subjectC
dc.subjectNumba
dc.subjectRaspberry Pi
dc.titleA Comparative Study of Programming Languages for a Real-Time Smart Grid Application
dc.typeConference proceedings
local.peerReviewedYes

Files