CN107402759A - 基于aadl扩展附件的软件系统堆栈分析方法 - Google Patents

基于aadl扩展附件的软件系统堆栈分析方法 Download PDF

Info

Publication number
CN107402759A
CN107402759A CN201710597752.4A CN201710597752A CN107402759A CN 107402759 A CN107402759 A CN 107402759A CN 201710597752 A CN201710597752 A CN 201710597752A CN 107402759 A CN107402759 A CN 107402759A
Authority
CN
China
Prior art keywords
mrow
stack space
component
msub
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710597752.4A
Other languages
English (en)
Other versions
CN107402759B (zh
Inventor
杨雨婷
柯文俊
达菲
达一菲
侯敏
陈静
王泊涵
王坤龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201710597752.4A priority Critical patent/CN107402759B/zh
Publication of CN107402759A publication Critical patent/CN107402759A/zh
Application granted granted Critical
Publication of CN107402759B publication Critical patent/CN107402759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于AADL扩展附件的软件系统堆栈分析方法,属于软件开发技术领域。本发明通过新增属性集,设计了一种基于AADL扩展附件的软件系统堆栈分析方法,其基于树结构实现任务栈空间计算和栈空间调整。利用系统AADL模型信息来构建树,自定义树结点数据结构,计算系统栈空间,并将其与内存大小对比,若设计的栈空间大小超出实际内存大小则进行调整,调整设计的堆栈数据以满足系统要求。该方法可以实现在模型设计阶段进行栈空间分析,提高软件开发效率。

Description

基于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的临近子结点栈空间总范围;
MD表示v的工作模式;
其次,在扩展属性集的基础上,对AADL模型组件中的子程序组件和非子程序组件定义数据结构:
v为非子程序组件,其数据结构:
Struct_V={LVTS,CallNum,High,RS,MD}
v为子程序组件,其数据结构:
Struct_V={RAFS,LVFS,CSF,CallNum,High,MD}
步骤二、进行树结构的构建和总栈空间范围的计算
以系统的AADL模型的组件为结点,组件具有的堆栈属性为结点数据,并根据结点间包含或调用关系确定各组件在树中的结构关系,从而构建树;树结构用T(E,V)表示,其中V是带有属性信息的树结点集合,对于v为AADL模型组件,若v在多个模块中调用,则赋予不同的树结点名称;E为树枝集合,对于uv∈E表示两种情况:一种是v为非子程序组件,则u包含v,u为v的父结点;第二种是v是子程序组件,则u调用v,u为v的父结点;
将子程序组件和非子程序组件作为树中的结点,按步骤一的定义给出这两种组件结点的数据结构;
设父结点为F,子结点集合FS={S1,S2,…,Sm,F1,F2,…,Fn},FS中有m个子程序组件S1,S2,…,Sm,n个非子程序组件F1,F2,…,Fm,则F的总栈空间计算公式为:
TotalSize=max{MDSizei},i=1,2,...,N (1)
其中,N代表FS中的工作模式数目,MDSizei表示同一种工作模式下的栈空间大小,设第i种工作模式下有t个子程序组件,p个非子程序组件,则公式(1)中的:
其中,Sir表示第i种工作模式下的第r个子程序组件的栈空间大小,r=1,2,…t;Fij表示在第i种工作模式下第j个非子程序组件的栈空间大小;公式(2)中的Sir和Fij的计算公式如下:
Fij=LVTSij+RSij,其中
其中,nn表示在第i种工作模式下第j个非子程序组件的临近子结点个数,分别表示在第i种工作模式下第j个非子程序组件的第q个临近子结点对应的LVTS、RS表示的数据信息;
其中,sn表示Sir的调用子程序组件个数,分别表示Sir的第i种工作模式下的第r个子程序组件的第q个临近子结点对应的LVFS、RAFS、CSF表示数据信息;
StackAnalysis_Property中各属性值均有各自的上下限值,将Struct_V中各参数的最小值和最大值代入式(1)至式(4)中得到系统的总栈空间范围[MinSize,MaxSize]。
优选地,在步骤二之后还包括以下步骤:
步骤三、进行栈空间调整
31、选取根据步骤二所得到系统的关键路径上的所有结点,组成集合T,所述关键路径是产生所述总栈空间范围[MinSize,MaxSize]的系统路径;
32、从T中选取深度最大的结点组合集合J;
33、判断J中是否有且只有1个元素,若是,则对该元素代表的组件进行调整,然后跳到步骤35,否则执行步骤34;
34、从J中选取参数调整范围最大的组件作为调整结点;
35、对组件进行调整;
36、计算调整后总栈空间范围是否满足内存条件,若满足则结束,否则将已调整的结点从树中剔除后返回步骤31。
优选地,步骤二中将Struct_V中各参数的最小值和最大值代入式(1)-式(4)中得到系统的总栈空间范围[MinSize,MaxSize]具体为:将Struct_V中各参数的最小值代入式(1)至式(4)中得到系统总栈空间范围的下限值MinSize,将Struct_V中各参数的最大值代入式(1)至式(4)中得到系统总栈空间范围的上限值MaxSize。
优选地,所述系统为飞控系统。
(三)有益效果
本发明通过新增属性集,设计了一种基于AADL扩展附件的软件系统堆栈分析方法,其基于树结构实现任务栈空间计算和栈空间调整。利用系统AADL模型信息来构建树,自定义树结点数据结构,计算系统栈空间,并将其与内存大小对比,若设计的栈空间大小超出实际内存大小则进行调整,调整设计的堆栈数据以满足系统要求。该方法可以实现在模型设计阶段进行栈空间分析,提高软件开发效率。
附图说明
图1为本发明的方法中栈空间计算流程图;
图2为本发明的方法中栈空间调整流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
现有的AADL模型属性中缺乏计算任务栈空间的相关属性。本发明增加属性集StackAnalysis_Property,设置堆栈分析所需相关属性。
利用新增属性集,本发明利用系统AADL模型信息来构建树,自定义树结点数据结构,计算系统栈空间,并将其与内存大小对比,若设计的栈空间大小超出实际内存大小则使用调整算法,调整设计的堆栈数据以满足系统要求。
本发明的基于AADL扩展附件的软件系统堆栈分析方法包括以下步骤:
步骤一 进行AADL堆栈属性集的扩展和数据结构的定义
基于AADL模型,本发明增加属性集StackAnalysis_Property,设置堆栈分析所需相关属性,每个属性的类型可以是bits、bytes、kbytes。属性集如表1所示。
表1堆栈属性集扩展
令:
●LVTS=Local_Varibales_of_Task_Size;
●LVFS=Local_Variables_of_Function_Size;
●RAFS=Return_Address_of_Function_Size;
●CSF=Code_Size_of_Function
●CallNum表示AADL模型组件v被其他任务组件调用的次数;
●High表示v在树中深度;
● RS表示v的临近子结点栈空间总范围;
●MD表示v的工作模式。
本发明在扩展属性集的基础上,对AADL模型组件中的子程序组件和非子程序组件定义数据结构。
(1)v为非子程序组件
Struct_V={LVTS,CallNum,High,RS,MD}
(2)v为子程序组件
Struct_V={RAFS,LVFS,CSF,CallNum,High,MD}
步骤二 进行树结构的构建和栈空间范围的计算
堆栈分析中,本发明以系统AADL模型的组件为结点(组件具有的堆栈属性为结点数据),并根据结点间包含或调用关系确定各组件在树中的结构关系,从而构建树,也就是说AADL模型的中的特征、连接、工作模式不作为树结点。树结构用T(E,V)表示,其中V是带有属性信息的树结点集合,对于v为AADL模型组件,若v在多个模块中调用,则赋予不同的树结点名称;E为树枝集合,对于uv∈E表示两种情况:一种是v为非子程序组件,u包含v,u包含v;第二种是v是子程序组件,u调用v。
AADL模型中只有子程序可存在于任何其他组件中,故子程序是最小的组件。本发明将子程序组件和非子程序组件作为树结点,树结点的数据结构如步骤一中所述。
设父结点为F,子结点集合FS={S1,S2,…,Sm,F1,F2,…,Fn},FS中有m个子程序组件S1,S2,…,Sm,n个非子程序组件F1,F2,…,Fm,F的总栈空间:
TotalSize=max{MDSizei},i=1,2,...,N (1)
其中,N代表FS中的工作模式数目,MDSizei表示同一种工作模式下的栈空间大小,设第i种工作模式下有t个子程序组件,p个非子程序组件,则公式(1)中的:
其中,Sir表示第i种工作模式下的第r个子程序组件的栈空间大小,r=1,2,…t;Fij表示在第i种工作模式下第j个非子程序组件的栈空间大小。公式(2)中的Sir和Fij的计算如下:
Fij=LVTSij+RSij,其中
其中,nn表示在第i种工作模式下第j个非子程序组件的临近子结点个数,分别表示在第i种工作模式下第j个非子程序组件的第q个临近子结点对应的LVTS、RS表示的数据信息;
其中,sn表示Sir的调用子程序组件个数,分别表示Sir的第i种工作模式下的第r个子程序组件的第q个临近子结点对应的LVFS、RAFS、CSF表示数据信息。
由于StackAnalysis_Property中各属性值均有各自的上下限值,将Struct_V中各参数的最小值和最大值代入式1-式4中可得飞控系统栈空间总范围[MinSize,MaxSize],将Struct_V中各参数的最小值代入式1-式4中可得飞控系统总栈空间范围的下限值MinSize,将Struct_V中各参数的最大值代入式1-式4中可得飞控系统总栈空间范围的上限值MaxSize。
计算栈空间范围的流程如图1。
步骤三 进行栈空间调整
通过步骤二中的分析,可以得到一个系统中栈空间范围及关键路径(产生栈空间范围[MinSize,MaxSize]的系统路径)。该范围可能超出实际系统提供的内存值MAXSIZE,即(MinSize>MAXSIZE)||(MaxSize>MAXSIZE&&MinSize≤MAXSIZE)。因此需要对设计的栈空间范围进行调整。
本发明提出一种基于动态规划的栈范围调整算法,通过调整对系统影响最小的组件栈空间范围,重新计算总栈空间以满足资源要求。算法步骤如表Algorithm 1:
调整栈空间的流程如图2所示,包括以下步骤:
31、选取根据步骤二所得到系统的关键路径上的所有结点,组成集合T,所述关键路径是产生所述总栈空间范围[MinSize,MaxSize]的系统路径;
32、从T中选取深度最大的结点组合集合J;
33、判断J中是否有且只有1个元素,若是,则对该元素代表的组件进行调整,然后跳到步骤35,否则执行步骤34;
34、从J中选取参数调整范围最大的组件作为调整结点;
35、对组件进行调整;
36、计算调整后总栈空间范围是否满足内存条件,若满足则结束,否则将已调整的结点从树中剔除后返回步骤31。
结合AADL模型扩展属性集,通过栈空间计算算法和栈空间调整算法,可以实现在模型设计阶段进行栈空间分析,提高软件开发效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.一种基于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的临近子结点栈空间总范围;
MD表示v的工作模式;
其次,在扩展属性集的基础上,对AADL模型组件中的子程序组件和非子程序组件定义数据结构:
v为非子程序组件,其数据结构:
Struct_V={LVTS,CallNum,High,RS,MD}
v为子程序组件,其数据结构:
Struct_V={RAFS,LVFS,CSF,CallNum,High,MD}
步骤二、进行树结构的构建和总栈空间范围的计算
以系统的AADL模型的组件为结点,组件具有的堆栈属性为结点数据,并根据结点间包含或调用关系确定各组件在树中的结构关系,从而构建树;树结构用T(E,V)表示,其中V是带有属性信息的树结点集合,对于v为AADL模型组件,若v在多个模块中调用,则赋予不同的树结点名称;E为树枝集合,对于uv∈E表示两种情况:一种是v为非子程序组件,则u包含v,u为v的父结点;第二种是v是子程序组件,则u调用v,u为v的父结点;
将子程序组件和非子程序组件作为树中的结点,按步骤一的定义给出这两种组件结点的数据结构;
设父结点为F,子结点集合FS={S1,S2,…,Sm,F1,F2,…,Fn},FS中有m个子程序组件S1,S2,…,Sm,n个非子程序组件F1,F2,…,Fm,则F的总栈空间计算公式为:
TotalSize=max{MDSizei},i=1,2,...,N (1)
其中,N代表FS中的工作模式数目,MDSizei表示同一种工作模式下的栈空间大小,设第i种工作模式下有t个子程序组件,p个非子程序组件,则公式(1)中的:
<mrow> <msub> <mi>MDSize</mi> <mi>i</mi> </msub> <mo>=</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>{</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mn>2</mn> </mrow> </msub> <mo>,</mo> <mo>...</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mi>t</mi> </mrow> </msub> <mo>,</mo> <munderover> <mi>&amp;Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>p</mi> </munderover> <msub> <mi>F</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中,Sir表示第i种工作模式下的第r个子程序组件的栈空间大小,r=1,2,…t;Fij表示在第i种工作模式下第j个非子程序组件的栈空间大小;公式(2)中的Sir和Fij的计算公式如下:
Fij=LVTSij+RSij,其中
其中,nn表示在第i种工作模式下第j个非子程序组件的临近子结点个数,分别表示在第i种工作模式下第j个非子程序组件的第q个临近子结点对应的LVTS、RS表示的数据信息;
<mrow> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>LVFS</mi> <mrow> <mi>i</mi> <mi>r</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>RAFS</mi> <mrow> <mi>i</mi> <mi>r</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>CSF</mi> <mrow> <mi>i</mi> <mi>r</mi> </mrow> </msub> <mo>+</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>{</mo> <msubsup> <mi>LVFS</mi> <mrow> <mi>i</mi> <mi>r</mi> </mrow> <mi>q</mi> </msubsup> <mo>+</mo> <msubsup> <mi>RAFS</mi> <mrow> <mi>i</mi> <mi>r</mi> </mrow> <mi>q</mi> </msubsup> <mo>+</mo> <msubsup> <mi>CSF</mi> <mrow> <mi>i</mi> <mi>r</mi> </mrow> <mi>q</mi> </msubsup> <mo>}</mo> <mo>,</mo> <mi>q</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>s</mi> <mi>n</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
其中,sn表示Sir的调用子程序组件个数,分别表示Sir的第i种工作模式下的第r个子程序组件的第q个临近子结点对应的LVFS、RAFS、CSF表示数据信息;
StackAnalysis_Property中各属性值均有各自的上下限值,将Struct_V中各参数的最小值和最大值代入式(1)至式(4)中得到系统的总栈空间范围[MinSize,MaxSize]。
2.如权利要求1所述的方法,其特征在于,在步骤二之后还包括以下步骤:
步骤三、进行栈空间调整
31、选取根据步骤二所得到系统的关键路径上的所有结点,组成集合T,所述关键路径是产生所述总栈空间范围[MinSize,MaxSize]的系统路径;
32、从T中选取深度最大的结点组合集合J;
33、判断J中是否有且只有1个元素,若是,则对该元素代表的组件进行调整,然后跳到步骤35,否则执行步骤34;
34、从J中选取参数调整范围最大的组件作为调整结点;
35、对组件进行调整;
36、计算调整后总栈空间范围是否满足内存条件,若满足则结束,否则将已调整的结点从树中剔除后返回步骤31。
3.如权利要求1所述的方法,其特征在于,步骤二中将Struct_V中各参数的最小值和最大值代入式(1)-式(4)中得到系统的总栈空间范围[MinSize,MaxSize]具体为:将Struct_V中各参数的最小值代入式(1)至式(4)中得到系统总栈空间范围的下限值MinSize,将Struct_V中各参数的最大值代入式(1)至式(4)中得到系统总栈空间范围的上限值MaxSize。
4.如权利要求1或2或3所述的方法,其特征在于,所述系统为飞控系统。
CN201710597752.4A 2017-07-20 2017-07-20 基于aadl扩展附件的软件系统堆栈分析方法 Active CN107402759B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710597752.4A CN107402759B (zh) 2017-07-20 2017-07-20 基于aadl扩展附件的软件系统堆栈分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710597752.4A CN107402759B (zh) 2017-07-20 2017-07-20 基于aadl扩展附件的软件系统堆栈分析方法

Publications (2)

Publication Number Publication Date
CN107402759A true CN107402759A (zh) 2017-11-28
CN107402759B CN107402759B (zh) 2020-07-17

Family

ID=60401045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710597752.4A Active CN107402759B (zh) 2017-07-20 2017-07-20 基于aadl扩展附件的软件系统堆栈分析方法

Country Status (1)

Country Link
CN (1) CN107402759B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272551A (zh) * 2007-03-23 2008-09-24 中兴通讯股份有限公司 一种嵌入式系统最大栈空间的设定方法
US20100131803A1 (en) * 2008-11-25 2010-05-27 Express Logic Computation of stack usage in embedded computing systems
CN101876923A (zh) * 2009-11-27 2010-11-03 中国科学院声学研究所 一种用于精确估计嵌入式系统中堆栈需求量的方法
CN105468965A (zh) * 2014-08-21 2016-04-06 西安慧泽知识产权运营管理有限公司 一种动态堆栈内存管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101272551A (zh) * 2007-03-23 2008-09-24 中兴通讯股份有限公司 一种嵌入式系统最大栈空间的设定方法
US20100131803A1 (en) * 2008-11-25 2010-05-27 Express Logic Computation of stack usage in embedded computing systems
CN101876923A (zh) * 2009-11-27 2010-11-03 中国科学院声学研究所 一种用于精确估计嵌入式系统中堆栈需求量的方法
CN105468965A (zh) * 2014-08-21 2016-04-06 西安慧泽知识产权运营管理有限公司 一种动态堆栈内存管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
F. SINGHOFF, J. LEGRAND, L. NANA, L. MARC´E: "Scheduling and Memory requirements analysis with AADL", 《ACM SIGADA INTERNATIONAL CONFERENCE》 *

Also Published As

Publication number Publication date
CN107402759B (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN106484401B (zh) 一种面向对象软件的自动化重构方法
CN106293664A (zh) 代码生成方法及装置
CN107220096A (zh) 一种json数据解析方法及装置
CN110428137B (zh) 一种风险防控策略的更新方法及装置
CN113255263B (zh) 颗粒带分割方法、装置、计算机设备和存储介质
CN112101674B (zh) 基于群智能算法资源配置匹配方法、装置、设备及介质
CN104572833A (zh) 一种映射规则创建方法及装置
CN106227792A (zh) 用于推送信息的方法和装置
CN107832042A (zh) 一种基于嵌入式软件开发方法
CN107679141A (zh) 数据入库方法、装置、设备及计算机可读存储介质
CN113312494A (zh) 垂直领域知识图谱构建方法、系统、设备及存储介质
CN108230121A (zh) 一种基于循环神经网络的产品设计方法
CN107992324A (zh) 一种基于约束求解的代码搜索方法
CN104572832A (zh) 一种需求元模型构建方法及装置
CN110147449A (zh) 文本分类方法和装置
CN107402759A (zh) 基于aadl扩展附件的软件系统堆栈分析方法
CN107943476A (zh) 一种基于模型驱动的计算机联锁软件开发方法
CN110399534B (zh) 终端性能报表生成方法、装置、设备和存储介质
Smatkov et al. The method of centralised distribution of electronic educational resources in academic e-learning
CN116051468A (zh) 一种基于微调式结构化剪枝的电力巡检方法和系统
KR101256922B1 (ko) 예측 및 분석을 위한 분산 의사 결정 트리 생성방법
CN116266128A (zh) 一种用于生态平台资源调度的方法及系统
CN104391921A (zh) 用于异构模型管理的地理空间决策元模型构建方法及系统
CN108958719A (zh) 数字飞行器缓冲区信息处理源代码人工智能书写方法
CN113239034A (zh) 一种基于人工智能的大数据资源整合方法、系统及云平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant