[发明专利]基于AADL扩展附件的软件系统堆栈分析方法有效
申请号: | 201710597752.4 | 申请日: | 2017-07-20 |
公开(公告)号: | CN107402759B | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 杨雨婷;柯文俊;达一菲;侯敏;陈静;王泊涵;王坤龙 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/35 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘瑞东 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 aadl 扩展 附件 软件 系统 堆栈 分析 方法 | ||
本发明涉及一种基于AADL扩展附件的软件系统堆栈分析方法,属于软件开发技术领域。本发明通过新增属性集,设计了一种基于AADL扩展附件的软件系统堆栈分析方法,其基于树结构实现任务栈空间计算和栈空间调整。利用系统AADL模型信息来构建树,自定义树结点数据结构,计算系统栈空间,并将其与内存大小对比,若设计的栈空间大小超出实际内存大小则进行调整,调整设计的堆栈数据以满足系统要求。该方法可以实现在模型设计阶段进行栈空间分析,提高软件开发效率。
技术领域
本发明涉及软件开发技术领域,具体涉及一种基于AADL扩展附件的软件系统堆栈分析方法。
背景技术
堆栈分析是系统开发一个重要步骤。给每个任务分配合理的栈空间,一方面确保任务顺利完成,另一方面尽量避免空间资源浪费。在软件开发过程中,应对任务栈空间进行预测和合理分配。
利用模型驱动软件开发,在开发早期对模型的分析和测试,采用量化可行的方法提前验证软件体系结构,可以减少后期集成验证中发现设计错误的情况,提高开发效率。
传统的堆栈分析是在已有代码基础上进行分析,或在内存允许范围内尽量分配较大的栈空间以确保任务顺利完成。前者的分析集中到软件设计后期,此时若进行栈空间调整则需要修改代码,工作量大;后者分配的栈空间内存浪费严重且不确定性高,对于任务关键系统危险程度较高。
AADL模型对嵌入式系统有良好的支持,在安全关键嵌入式系统的分析和设计中广泛使用。对模型的分析可以将分析集中在软件设计早期,但目前对任务关键系统的AADL建模停留在对某个子模块的建模,缺乏对系统整体进行预测,无法实现利用模型在软件开发早期进行堆栈分析的功能。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何实现在模型设计阶段进行栈空间分析,提高软件开发效率。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于AADL扩展附件的软件系统堆栈分析方法,包括以下步骤:
步骤一、进行AADL堆栈属性集的扩展和数据结构的定义
首先基于AADL模型增加属性集StackAnalysis_Property,设置堆栈分析所需的相关属性,每个属性的类型为bits、bytes或kbytes;
令:
LVTS=Local_Varibales_of_Task_Size,
Local_Varibales_of_Task_Size为属性集中的属性,表示任务局部变量大小范围;
LVFS=Local_Variables_of_Function_Size,
Local_Variables_of_Function_Size为属性集中的属性,表示被调用函数局部变量大小范围;
RAFS=Return_Address_of_Function_Size,
Return_Address_of_Function_Size为属性集中的属性,表示被调用函数返回地址大小范围;
CSF=Code_Size_of_Function,
Code_Size_of_Function为属性集中的属性,表示被调用函数代码空间大小范围;
CallNum表示AADL模型组件v被其他任务组件调用的次数;
High表示v在树中深度;
RS表示v的临近子结点栈空间总范围;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710597752.4/2.html,转载请声明来源钻瓜专利网。