计算机科学 ›› 2020, Vol. 47 ›› Issue (12): 87-92.doi: 10.11896/jsjkx.201100173
所属专题: 复杂系统的软件工程和需求工程
丁嵘1, 于千惠2
DING Rong1, YU Qian-hui2
摘要: 近年来自主无人系统的开发成本随着硬件设备性能的提高而增加如何高效、智能化地完成开发工作成为无人系统的热门研究领域.基于AADL(Architecture Analysisand DesignLanguage)的自主无人系统可成长框架从系统架构方式、基于配置项的系统工作模式以及原型系统等方面实现了无人系统(无人机、无人车等)软件适应性方案以支撑资源、任务、环境变化时无人系统软件的成长和演化.搭建系统框架时采用基于模型驱动的思想使用AADL模型基表示系统的中间组件既保留了组件之间的继承关系又便于开发者更直观地观察系统结构.系统模块化是实现其可成长性的基础通过统一规范接口书写规则的方式AADL模型基将可替换算法封装在中间组件中算法的迭代与进化映射出了系统的可持续演化过程.通过爬虫的方式建立一个不断扩展的系统组件库组件库除了支持自适应扩展功能外还支持自定义模型的基功能.系统框架的可成长特性除了表现在系统文件的内容可扩展外还表现在系统配置方案的选择多样性.在不同的环境、任务、资源状况下系统的最佳配置项方案可能不同为了找出适应条件的无人系统配置项选项的最优解采用进化算法的思想使系统实现自主进化的过程.最后利用代码自动生成技术实现AADL模型到系统文件之间的转换.通过可成长软件管理平台的运行与测试验证了自主无人系统可成长框架的可行性.
中图分类号:
[1] ORTIZ J F,ALONSO D,ROSIQUE F,et al.A component-based meta-model and framework in the model driven toolchain C-Forge[C]//International Conference on Simulation,Modeling,and Programming for Autonomous Robots.Springer,2014:340-351. [2] TAO Y.AADL-Based Model Verification and Code Generation Technology [D].Chengdu:University of Electronic Science and Technology of China,2013. [3] BARDARO G,MATTEUCCI M.Using AADL to Model and Develop ROS-Based Robotic Application[C]//IEEE International Conference on Robotic Computing.IEEE,2017. [4] BARDARO G,SEMPREBON A,MATTEUCCI M.A use case in model-based robot development using AADL and ROS[C]//the 1st International Workshop.2018:9-16. [5] YONG T,SHENG-LIN G,LIANG M A,et al.Code Automatic Generation and Integration Technology of AADL Model[J].Computer Engineering,2009,35(8):59-61. [6] BECKER K,GOTTSCHLICH J.AI Programmer:Autonomously Creating Software Programs Using Genetic Algorithms[J].arXiv:1709.05703,2017. [7] GOUES C L,NGUYEN T V,FORREST S,et al.GenProg:AGeneric Method for Automatic Software Repair[J].IEEE Transactions on Software Engineering,2012,38(1):54-72. [8] JIANG J,XIONG Y,ZHANG H,et al.Shaping Program Repair Space with Existing Patches and Similar Code[C]//The 27th International Symposium on Software Testing and Analysis.2018:298-309. [9] “Osate”[OL].http://osate.org/. [10] FEILER P H,LEWIS B A,VESTAL S.The sae architecture analysis &design language (aadl) a standard for engineering performance critical systems[C]//2006 IEEE Conference on Computer Aided Control System Design,2006 IEEE International Conference on Control Applications,2006 IEEE International Symposium on Intelligent Control.IEEE,2006:1206-1211. [11] SCHLEGEL C,STECK A,LOTZ A.Model-driven software development in robotics[M]//Communication Patterns as Key for a Robotics Component Model.Introduction to Modern Robotics,2011:119-150. [12] HUGUES J,ZALILA B,PAUTET L,et al.From the prototype to the final embedded system using the Ocarina AADL tool suite[C]//ACM Transactions on Embedded Computing Systems (TECS).2008. [13] DHOUIB S,KCHIR S,STINCKWICH S,et al.Robotml,a domain-specifific language to design,simulate and deploy robotic applications[C]//International Conference on Simulation,Modeling,and Programming for Autonomous Robots.Springer,2012:149-160. [14] TAHA S,RADERMACHER A,GERARD S,et al.Marte:Umlbased hardware design from modelling to simulation[C]//FDL,2007.2007:274-279. [15] HORWITZ S.Identifying the semantic and textual differences between two versions of a program[C]//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).1990:234-245. [16] ANTLR[OL].http://www/antlr.org/. [17] MORI M,TSENG C.A genetic algorithm for multi-mode resource constrained project scheduling problem[J].Europpean Journal of Operational Reswarch,2003,144(2):38-365. [18] SINGHOFF F,LEGRAND J,NANA L,et al.Cheddar:A flexible real time scheduling framework[J].ACM Ada Letters,2004,24(4):1-8. [19] Axlog.ADeS,a simulator for AADL[OL].http://www.axlog.fr/aadl/ades_en.html [20] BELTRAMELLI T.pix2code:Generating code from a graphical user interface screenshot[C]//Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems.ACM,2018:3. |
[1] | 冉丹, 陈哲, 孙毅, 杨志斌. 基于程序转化的SCADE模型检测 SCADE Model Checking Based on Program Transformation 计算机科学, 2021, 48(12): 125-130. https://doi.org/10.11896/jsjkx.201100080 |
[2] | 常建明, 薄莉莉, 孙小兵. 面向缺陷定位的代码搜索引擎 Code Search Engine for Bug Localization 计算机科学, 2021, 48(12): 140-148. https://doi.org/10.11896/jsjkx.201100209 |
[3] | 韩磊, 胡建鹏. 基于关键词Trie树的GCC抽象语法树消除冗余算法 Deduplication Algorithm of Abstract Syntax Tree in GCC Based on Trie Tree of Keywords 计算机科学, 2020, 47(9): 47-51. https://doi.org/10.11896/jsjkx.190600042 |
[4] | 杨萍, 王生原. CompCert编译器目标代码生成机制分析 Analysis of Target Code Generation Mechanism of CompCert Compiler 计算机科学, 2020, 47(9): 17-23. https://doi.org/10.11896/jsjkx.200400018 |
[5] | 李朋远,赵荣彩,高 伟,张庆花. 一种支持跨幅访存的向量化代码生成方法 Effective Vectorization Technique for Interleaved Data with Constant Strides 计算机科学, 2015, 42(5): 194-199. https://doi.org/10.11896/j.issn.1002-137X.2015.05.039 |
[6] | 杨昌坤,许庆国. C程序控制流程模型的提取技术与实现 Technology and Implementation of Extracting Control Flow Model of C Program 计算机科学, 2014, 41(5): 208-214. https://doi.org/10.11896/j.issn.1002-137X.2014.05.043 |
[7] | 邓蓉,陈闳中,李灿,王小明,李捷,张军旗. GridSim仿真代码自动生成器GridsimHelper GridsimHelper:A Code Generator for GridSim Platform 计算机科学, 2010, 37(10): 135-137. |
[8] | 张立勇 陈平. 基于代码生成的Web信息系统工程化开发方法 计算机科学, 2008, 35(5): 284-287. |
[9] | 李鑫 王甜甜 苏小红 马培军. 消除GCC抽象语法树文本中冗余信息的算法研究 计算机科学, 2008, 35(10): 170-172. |
[10] | 戴清涵 李宣东 赵建华 郑国梁. 面向设计流图的代码支撑工具 计算机科学, 2005, 32(11): 203-206. |
[11] | 薛丽萍 张兆庆. ORC的代码生成的关键技术 计算机科学, 2004, 31(8): 159-163. |
[12] | 吴春明 郑志强 余建桥. 一种基于UML扩展的AO建模方法 计算机科学, 2004, 31(12): 196-198. |
[13] | 杨书鑫 薛丽萍 张兆庆. 代码生成阶段的循环不变量外提 计算机科学, 2004, 31(11): 158-161. |
[14] | 戴桂兰 田金兰 张素琴 蒋维社. 编译基础设施研究进展初谈 计算机科学, 2002, 29(11): 9-11. |
|