计算机科学 ›› 2020, Vol. 47 ›› Issue (12): 87-92.doi: 10.11896/jsjkx.201100173

所属专题: 复杂系统的软件工程和需求工程

• 复杂系统的软件工程和需求工程* • 上一篇    下一篇

基于AADL的自主无人系统可成长框架

丁嵘1, 于千惠2   

  1. 1 北京航空航天大学人工智能研究院 北京 100191
    2 北京航空航天大学计算机学院软件开发环境国家重点实验室 北京 100191
  • 收稿日期:2020-09-05 修回日期:2020-10-24 出版日期:2020-12-15 发布日期:2020-12-17
  • 通讯作者: 丁嵘(dingr@buaa.edu.cn)
  • 基金资助:
    国家重点研究发展计划(2017YFB1001802)

Growth Framework of Autonomous Unmanned Systems Based on AADL

DING Rong1, YU Qian-hui2   

  1. 1 Institute of Artificial Intelligence Beihang University Beijing 100191,China
    2 State Key Laboratory of Software Development Environment Computer Science Department Beihang University Beijing 100191,China
  • Received:2020-09-05 Revised:2020-10-24 Online:2020-12-15 Published:2020-12-17
  • About author:DING Rong,born in 1975Ph.Dassociate professoris a member of CCF.His main research interests include software engineeringautonomous unmanned systems and natural language understanding.
  • Supported by:
    National Key Research and Development Program of China(2017YFB1001802).

摘要: 近年来自主无人系统的开发成本随着硬件设备性能的提高而增加如何高效、智能化地完成开发工作成为无人系统的热门研究领域.基于AADL(Architecture Analysisand DesignLanguage)的自主无人系统可成长框架从系统架构方式、基于配置项的系统工作模式以及原型系统等方面实现了无人系统(无人机、无人车等)软件适应性方案以支撑资源、任务、环境变化时无人系统软件的成长和演化.搭建系统框架时采用基于模型驱动的思想使用AADL模型基表示系统的中间组件既保留了组件之间的继承关系又便于开发者更直观地观察系统结构.系统模块化是实现其可成长性的基础通过统一规范接口书写规则的方式AADL模型基将可替换算法封装在中间组件中算法的迭代与进化映射出了系统的可持续演化过程.通过爬虫的方式建立一个不断扩展的系统组件库组件库除了支持自适应扩展功能外还支持自定义模型的基功能.系统框架的可成长特性除了表现在系统文件的内容可扩展外还表现在系统配置方案的选择多样性.在不同的环境、任务、资源状况下系统的最佳配置项方案可能不同为了找出适应条件的无人系统配置项选项的最优解采用进化算法的思想使系统实现自主进化的过程.最后利用代码自动生成技术实现AADL模型到系统文件之间的转换.通过可成长软件管理平台的运行与测试验证了自主无人系统可成长框架的可行性.

关键词: AADL模型基, 抽象语法树, 代码生成, 可成长系统

Abstract: Recent yearsthe development cost of autonomous unmanned systems increases with the improvement of hardware equipment performance.How to efficiently and intelligently develop systems is a hot research field for unmanned systems.The growth framework of autonomous unmanned systems based on AADL has improved the software adaptability of unmanned systems (dronesunmanned vehiclesetc.) from the system architecturethe system working mode based on configuration itemsand the prototype system.It realizes the growth and evolution of unmanned system software when resourcestasksand environments change.The system framework is based on model-driven thinkingand the AADL(Architecture Analysis and Design Language) model base is used to represent the intermediate components of the system.It not only retains the inheritance relationship between componentsbut also facilitates developers to observe the system structure more intuitively.System modularization is the basis for the growth.Through a unified standardized interfacethe AADL model base encapsulates replaceable algorithms in intermediate componentsand the iteration and evolution of the algorithm maps the sustainable evolution process of the system.An ever-expanding library of system components is established by crawlers.In addition to supporting adaptive extension functionsthe component library also supports custom model-based functions.The growth characteristic of the system framework is not only manifested in the expands of the content of the system filesbut also manifested in the diversity of system configuration options.The optimal configuration item scheme of the system may change under different environmentstasksand resource conditions.In order to find the optimal solution of the unmanned system configuration item options under adaptive conditionsthe idea of evolutionary algorithm is adopted to make the system realize the process of autonomous evolution.Finallythe automatic code generation Technology is used to realize the conversion from AADL model to system file.The feasibility of the growth framework of the autonomous unmanned system is verified through the operation and test of the growth software management platform.

Key words: AADL model base, Abstract syntax tree, Code generation, Growable system

中图分类号: 

  • TP311
[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.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!