{"title":"SaaSyML: Software as a Service for Machine Learning On-board the OPS-SAT Spacecraft","authors":"Georges Labrèche, Cesar Guzman Alvarez","doi":"10.1109/AERO55745.2023.10115531","DOIUrl":null,"url":null,"abstract":"The SaaSyML app developed for the OPS-SAT spacecraft provides open access to on-board Machine Learning (ML) capabilities that an experimenter can interact with via RESTful Application Programming Interface (API) endpoints. The app's architecture follows the successes of Software as a Service (SaaS) in modern Web-based software engineering and implements the “as-a-Service” model, thus introducing the concept of Satellite Platform as a Service (SPaaS). An experimenter app on-board OPS-SAT can subscribe to SaaSyML's training data feed and pull measurement, telemetry, and housekeeping data from any of the spacecraft's instruments or its on-board software datapool. The ML features provided by the SaaSyML app cover both training and prediction operations. The Java Statistical Analysis Tool (JSAT) open-source java library for ML is used thus unlocking access to over 100 training algorithms on-board a flying mission. Past experiments have successfully implemented ML on-board OPS-SAT but have yet to offer any comprehensive re-usability. SaaSyML's service-oriented approach spares the experimenters the complexities of having to implement their own data provisioning and ML solutions so that they can focus instead on expanding the field of experimentation and use-cases for applied ML in space. A further novelty is also introduced with a plugin design for an software extension mechanism that allows experimenters to inject custom code to address ML needs specific to their experiments (e.g. calculating target labels/classes during supervised learning training operations). SaaSyML is developed using the Eclipse Vert.x event-driven application toolkit that runs on the Java Virtual Machine (JVM). This design choice introduces event-driven software engineering and practical use of the spacecraft dual-core payload computer and Linux environment. SaaSyML is a reference in embracing and leveraging multi-threaded and multi-core software design for space applications. This translates to non-blocking ML training and prediction operations running in parallel while multiple experimenter apps interact with the service. SaaSyML demonstrates how a more capable space-grade processor enables a paradigm shift towards developing more sophisticated client facing space software with reduced development complexity, effort, and cost.","PeriodicalId":344285,"journal":{"name":"2023 IEEE Aerospace Conference","volume":"92 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-03-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE Aerospace Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/AERO55745.2023.10115531","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
The SaaSyML app developed for the OPS-SAT spacecraft provides open access to on-board Machine Learning (ML) capabilities that an experimenter can interact with via RESTful Application Programming Interface (API) endpoints. The app's architecture follows the successes of Software as a Service (SaaS) in modern Web-based software engineering and implements the “as-a-Service” model, thus introducing the concept of Satellite Platform as a Service (SPaaS). An experimenter app on-board OPS-SAT can subscribe to SaaSyML's training data feed and pull measurement, telemetry, and housekeeping data from any of the spacecraft's instruments or its on-board software datapool. The ML features provided by the SaaSyML app cover both training and prediction operations. The Java Statistical Analysis Tool (JSAT) open-source java library for ML is used thus unlocking access to over 100 training algorithms on-board a flying mission. Past experiments have successfully implemented ML on-board OPS-SAT but have yet to offer any comprehensive re-usability. SaaSyML's service-oriented approach spares the experimenters the complexities of having to implement their own data provisioning and ML solutions so that they can focus instead on expanding the field of experimentation and use-cases for applied ML in space. A further novelty is also introduced with a plugin design for an software extension mechanism that allows experimenters to inject custom code to address ML needs specific to their experiments (e.g. calculating target labels/classes during supervised learning training operations). SaaSyML is developed using the Eclipse Vert.x event-driven application toolkit that runs on the Java Virtual Machine (JVM). This design choice introduces event-driven software engineering and practical use of the spacecraft dual-core payload computer and Linux environment. SaaSyML is a reference in embracing and leveraging multi-threaded and multi-core software design for space applications. This translates to non-blocking ML training and prediction operations running in parallel while multiple experimenter apps interact with the service. SaaSyML demonstrates how a more capable space-grade processor enables a paradigm shift towards developing more sophisticated client facing space software with reduced development complexity, effort, and cost.