Lua-Based Virtual Machine Platform for Spacecraft On-Board Control Software

Sihyeong Park, Hyungshin Kim, Soo-Yeong Kang, Cheol-hea Koo, Hyunwoo Joe
{"title":"Lua-Based Virtual Machine Platform for Spacecraft On-Board Control Software","authors":"Sihyeong Park, Hyungshin Kim, Soo-Yeong Kang, Cheol-hea Koo, Hyunwoo Joe","doi":"10.1109/EUC.2015.21","DOIUrl":null,"url":null,"abstract":"Mission critical embedded software for autonomous operation requires high development cost due to its long development cycle. One of the potential solutions for reducing the cost is to reuse the software developed at previous missions. Virtual machine platform such as JVM is a good example to provide code portability across various missions. Flight software in aerospace field is adopting this concept to improve reusability and eventually to reduce development cost. In this paper, we propose a Lua-based virtualization environment for spacecraft flight software. Flight software for spacecraft control consists of a few tasks that are highly autonomous. Lua is chosen as the script language for programming the control tasks. Though Lua was designed with simplicity and portability, it only supports multithreading with collaborative coroutines. To support preemptive multitasking, we implement time slicing coroutines as spacecraft control processes. New coroutine scheduler is devised and time slicing functionality is added into the scheduler. Scheduler locking and message passing with external flight software are also implemented. Instead of modifying the Lua interpreter, we have exploited the debug support APIs for our implementation. For evaluation, we have implemented the flight software virtualization environment on the flight computer. Accuracy of the time slicing scheduler is also analyzed.","PeriodicalId":299207,"journal":{"name":"2015 IEEE 13th International Conference on Embedded and Ubiquitous Computing","volume":"34 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE 13th International Conference on Embedded and Ubiquitous Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EUC.2015.21","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

Mission critical embedded software for autonomous operation requires high development cost due to its long development cycle. One of the potential solutions for reducing the cost is to reuse the software developed at previous missions. Virtual machine platform such as JVM is a good example to provide code portability across various missions. Flight software in aerospace field is adopting this concept to improve reusability and eventually to reduce development cost. In this paper, we propose a Lua-based virtualization environment for spacecraft flight software. Flight software for spacecraft control consists of a few tasks that are highly autonomous. Lua is chosen as the script language for programming the control tasks. Though Lua was designed with simplicity and portability, it only supports multithreading with collaborative coroutines. To support preemptive multitasking, we implement time slicing coroutines as spacecraft control processes. New coroutine scheduler is devised and time slicing functionality is added into the scheduler. Scheduler locking and message passing with external flight software are also implemented. Instead of modifying the Lua interpreter, we have exploited the debug support APIs for our implementation. For evaluation, we have implemented the flight software virtualization environment on the flight computer. Accuracy of the time slicing scheduler is also analyzed.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
基于lua的航天器机载控制软件虚拟机平台
面向自主作战的关键任务嵌入式软件开发周期长,开发成本高。降低成本的潜在解决方案之一是重用在以前的任务中开发的软件。JVM等虚拟机平台是提供跨各种任务的代码可移植性的好例子。航空航天领域的飞行软件正在采用这一概念,以提高可重用性,最终降低开发成本。本文提出了一种基于lua的航天器飞行软件虚拟化环境。用于航天器控制的飞行软件由几个高度自主的任务组成。选择Lua作为控制任务编程的脚本语言。尽管Lua的设计具有简单性和可移植性,但它只支持带有协作协程的多线程。为了支持抢占式多任务处理,我们实现了时间切片协同程序作为航天器控制进程。设计了新的协程调度器,并将时间切片功能添加到调度器中。调度锁定和消息传递与外部飞行软件也实现了。我们没有修改Lua解释器,而是为我们的实现利用了调试支持api。为了进行评估,我们在飞行计算机上实现了飞行软件虚拟化环境。分析了时间切片调度器的精度。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Linux SCHED DEADLINE vs. MARTOP-EDF Context Aware Power Management Enhanced by Radio Wake Up in Body Area Networks A Holistic Approach for Advancing Robots in Ambient Assisted Living Environments A Self-Adaptive System for Vehicle Information Security Applications Automatic Design of Low-Power VLSI Circuits: Accurate and Approximate Multipliers
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1