Work-in-Progress Abstract: Revealing and Analyzing Architectural Models in Open-source ArduPilot

IF 0.5 Q4 COMPUTER SCIENCE, SOFTWARE ENGINEERING
S. Staroletov
{"title":"Work-in-Progress Abstract: Revealing and Analyzing Architectural Models in Open-source ArduPilot","authors":"S. Staroletov","doi":"10.1109/RTCSA52859.2021.00034","DOIUrl":null,"url":null,"abstract":"Building robust software can be considered a major challenge in current software engineering processes. This task is especially relevant for the code of cyber-physical systems (CPS) that interact with tangible data of the environment and make decisions that have an impact on the real world. The study of good practices of the architectural organization of such software systems is suitable to conduct on solutions with open-source code, which are developed by large communities of enthusiasts. Such a code bears a long history and has been tested many times on real devices in a real-world environment. The construction of various models using the program code allows us to understand stable architectural solutions, to present them in a graphical form; these solutions can be used in STEM centers when designing other systems, taking into account all the achievements of the communities. In addition, it is possible to propose methods for analyzing models to prove various properties of cyber-physical systems. In this paper, we analyze ArduPilot Mega (APM), an Arduino-compatible solution for building DIY driving and flying systems. The solution is based on a specially designed board with a controller and necessary peripherals, as well as a firmware code in a C++ -compatible dialect. Since there are many limitations associated with hardware, it is advisable to carry out a so-called co-modeling, taking into account both hardware and software sides. We consider modeling the interaction of equipment on connected pins and data transmission buses, the software part in the form of a class diagram for the solution. We then describe methods for analyzing the interactions between tasks running on the system through shared variables and evaluating the performance of the task scheduler.","PeriodicalId":38446,"journal":{"name":"International Journal of Embedded and Real-Time Communication Systems (IJERTCS)","volume":"29 1","pages":"207-209"},"PeriodicalIF":0.5000,"publicationDate":"2021-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Embedded and Real-Time Communication Systems (IJERTCS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTCSA52859.2021.00034","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 1

Abstract

Building robust software can be considered a major challenge in current software engineering processes. This task is especially relevant for the code of cyber-physical systems (CPS) that interact with tangible data of the environment and make decisions that have an impact on the real world. The study of good practices of the architectural organization of such software systems is suitable to conduct on solutions with open-source code, which are developed by large communities of enthusiasts. Such a code bears a long history and has been tested many times on real devices in a real-world environment. The construction of various models using the program code allows us to understand stable architectural solutions, to present them in a graphical form; these solutions can be used in STEM centers when designing other systems, taking into account all the achievements of the communities. In addition, it is possible to propose methods for analyzing models to prove various properties of cyber-physical systems. In this paper, we analyze ArduPilot Mega (APM), an Arduino-compatible solution for building DIY driving and flying systems. The solution is based on a specially designed board with a controller and necessary peripherals, as well as a firmware code in a C++ -compatible dialect. Since there are many limitations associated with hardware, it is advisable to carry out a so-called co-modeling, taking into account both hardware and software sides. We consider modeling the interaction of equipment on connected pins and data transmission buses, the software part in the form of a class diagram for the solution. We then describe methods for analyzing the interactions between tasks running on the system through shared variables and evaluating the performance of the task scheduler.
摘要:揭示和分析开源ArduPilot的架构模型
构建健壮的软件可以被认为是当前软件工程过程中的一个主要挑战。这项任务与网络物理系统(CPS)的代码特别相关,这些系统与环境的有形数据相互作用,并做出对现实世界有影响的决策。对这类软件系统的架构组织的良好实践的研究适合于对由大型爱好者社区开发的开源代码的解决方案进行研究。这样的代码有很长的历史,并且已经在真实环境中的真实设备上进行了多次测试。使用程序代码构建各种模型使我们能够理解稳定的架构解决方案,并以图形形式呈现它们;这些解决方案可以在STEM中心设计其他系统时使用,同时考虑到社区的所有成就。此外,还可以提出分析模型的方法来证明网络物理系统的各种特性。在本文中,我们分析了ArduPilot Mega (APM),一个arduino兼容的解决方案,用于构建DIY驾驶和飞行系统。该解决方案基于一个特殊设计的电路板,带有控制器和必要的外围设备,以及c++兼容方言的固件代码。由于存在与硬件相关的许多限制,因此建议执行所谓的协同建模,同时考虑硬件和软件方面。我们考虑对连接的引脚和数据传输总线上的设备的交互进行建模,软件部分以类图的形式提供解决方案。然后,我们描述了通过共享变量分析系统上运行的任务之间的交互以及评估任务调度器性能的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
CiteScore
1.70
自引率
14.30%
发文量
17
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信