System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种可复用的嵌入式软件架构建模方法和系统技术方案_技高网

一种可复用的嵌入式软件架构建模方法和系统技术方案

技术编号:40305667 阅读:6 留言:0更新日期:2024-02-07 20:50
本发明专利技术涉及一种可复用的嵌入式软件架构建模方法和系统,属于嵌入式软件开发技术领域,解决了现有技术中嵌入式软件架构建模容易出错建模效率低的问题。方法包括以下步骤:构建嵌入式软件的功能函数库和模块库,基于构建的功能函数库和模块库构建嵌入式软件的可视化架构模型;根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的AADL代码;对所述AADL代码进行校验,若校验通过则得到最终的嵌入式软件的架构模型。实现了快速高效的嵌入式软件架构建模。

【技术实现步骤摘要】

本专利技术涉及嵌入式软件开发,尤其涉及一种可复用的嵌入式软件架构建模方法和系统


技术介绍

1、随着信息技术的持续发展,安全攸关领域的嵌入式软件日益增多。航空航天、汽车电子等安全攸关软件如果出现设计问题,可能会造成灾难性的后果。此类软件一旦出现故障,轻则会造成财产损失,重则可能导致人员伤亡。安全攸关系统的大部分功能由软件来实现,只有软件功能正确,才能确保系统不发生故障。因此,在安全攸关嵌入式软件的安全可靠性尤为关键。相比于常规软件,安全攸关嵌入式软件具有交互性强、逻辑复杂、设计易出错、质量保障成本高的特点。为了避免以文档为中心的开发方式存在的开发效率低、成本高、软件问题发现晚等问题,目前普遍采用模型驱动的方法开发嵌入式软件,通过分析软件业务场景来定义软件需求,进而开展软件设计建模,再生成代码并完成测试验证,最后交付。模型驱动开发方法的主要优势在于:软件需求和设计模型化,为确保描述准确、完整、无二义提供了语义基础;模型支持在开发早期引入综合质量保证手段,提前发现软件质量问题;基于模型能够自动生成代码,避免复杂代码编写中的人因错误;基于模型可实现组件化开发方式,能够提升软件复用和批量研制能力。

2、模型驱动开发过程包括开发过程和验证过程。开发过程的主要环节包括:需求建模、软件架构设计建模、软件详细设计建模、代码生成等。其中,软件架构设计的主要作用是划分和细化功能结构,以及引入设计模式和设计策略,在软件架构层面保障非功能需求。

3、嵌入式领域本身就有着软件模块或硬件高复用的特点,而传统的模型驱动嵌入式系统架构开发方式并不契合领域本身的特点,未提供良好的模型组件管理与复用能力。当前的建模工具往往需要对相同的功能进行多次重复的编码,加大了开发人员的工作量。此外,建模人员在定义同类模块时需重复编写组件的功能函数、手动逐个定义功能函数中的各项属性,也存在定义功能函数或端口时漏写或错写端口方向、端口类型的可能性。

4、传统的模型驱动嵌入式系统开发方法难以对软件整体架构进行错误分析和故障树检查,往往在实际应用时发现架构设计问题,进而调整或重新设计软件架构会带来高昂的成本。


技术实现思路

1、鉴于上述的分析,本专利技术实施例旨在提供一种可复用的嵌入式软件架构建模方法和系统,用以解决现有嵌入式软件架构建模容易出错建模效率低的问题。

2、一方面,本专利技术实施例提供了一种可复用的嵌入式软件架构建模方法,包括以下步骤:

3、构建嵌入式软件的功能函数库和模块库,基于构建的功能函数库和模块库构建嵌入式软件的可视化架构模型;

4、根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的aadl代码;

5、对所述aadl代码进行校验,若校验通过则得到最终的嵌入式软件的架构模型。

6、基于上述方法的进一步改进,根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的aadl模型,包括:

7、s21、以嵌入式软件的可视化架构模型为当前节点,

8、s22、生成当前节点对应的aadl代码;若当前节点直接包含功能函数,则依次生成当前节点直接包含的功能函数的aadl代码;若当前节点存在上一层节点,则在上一层节点对应的aadl代码的子组件属性中添加当前节点对应的aadl代码的引用;

9、s23、若当前节点包含子模块,则依次将每个子模块作为当前模块,返回步骤s22;若可视化架构模型中的所有模块都遍历过,则执行步骤s24;

10、s24、依次遍历嵌入式软件的可视化架构模型中的每条连接线,根据每条连接线连接的模块或功能函数,判断连接线所属的模块,在连接线所属的模块中添加连接线代码。

11、基于上述方法的进一步改进,生成当前节点对应的aadl代码,包括:

12、若当前节点为可视化架构模型,则将当前节点映射为包组件,当前节点名作为包组件名,生成当前节点对应的包组件代码;

13、若当前节点为模块,则将当前节点映射为线程组组件;当前节点名作为线程组组件名,生成当前节点对应的线程组组件代码;

14、若当前节点包括端口,则将端口作为当前节点的特征属性,映射在当前节点的线程组组件代码的特征属性中。

15、基于上述方法的进一步改进,生成当前节点直接包含的功能函数的aadl代码,包括:

16、将功能函数映射为线程组件;功能函数名作为线程名,生成当前节点包含的每个功能函数对应的线程组件代码;

17、将功能函数的端口作为功能函数对应的线程组件的特征,映射在功能函数对应的线程组件代码的特征中;

18、在功能函数所属的模块对应的线程组组件的子组件属性中添加功能函数对应的线程组件的引用。

19、基于上述方法的进一步改进,根据每条连接线连接的模块或功能函数,判断连接线所属的模块,在连接线所属的模块中添加连接线代码,包括:

20、依次将每条连线作为当前连接线,获取当前连接线连接的源端口和目的端口;查找源端口所属的模块或函数与目的端口所属的模块或功能函数同时所在的最小的模块作为当前连接线所属的模块,在连接线所属的模块的连接属性中添加当前连接线代码。

21、基于上述方法的进一步改进,构建嵌入式软件的功能函数库和模块库,基于构建的功能函数库和模块库构建嵌入式软件的可视化架构模型,包括:

22、建立可视化建模语言的元模型,根据元模型生成功能函数定义表、模块定义视图和架构定义视图;

23、通过功能函数定义表定义嵌入式软件的功能函数库;通过模块定义视图定义模块库;其中,功能函数包含至少一个端口;

24、基于功能函数库和模块库根据嵌入式软件的功能通过架构定义视图构建嵌入式软件架构包含的模块和模块间的连接,得到嵌入式软件的可视化架构模型。

25、基于上述方法的进一步改进,在构建嵌入式软件的可视化架构模型之后,根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的aadl模型之前,还包括对构建的可视化架构模型进行校验。

26、基于上述方法的进一步改进,对构建的可视化架构模型进行校验,包括:

27、遍历可视化架构模型中的每个模块和每个功能函数,判断每个模块和每个功能函数的端口是否有连接线,若存在没有建立连接线的端口,则校验不通过;

28、对于可视化架构模型中的每条连接线,获取该连接线连接的源端口和目标端口,若端口的方向不是out方向,则校验不通过;根据目标端口的方向不是in方向,则校验不通过。

29、另一方面,本专利技术实施例提供了一种可复用的嵌入式软件架构建模系统,包括以下模块:

30、可视化架构模型构建模块,用于构建嵌入式软件的功能函数库和模块库,基于构建的功能函数库和模块库构建嵌入式软件的可视化架构模型;

31、aadl代码生成模块,用于根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的aadl代码;

32本文档来自技高网...

【技术保护点】

1.一种可复用的嵌入式软件架构建模方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的可复用的嵌入式软件架构建模方法,其特征在于,根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的AADL模型,包括:

3.根据权利要求2所述的可复用的嵌入式软件架构建模方法,其特征在于,生成当前节点对应的AADL代码,包括:

4.根据权利要求2所述的可复用的嵌入式软件架构建模方法,其特征在于,生成当前节点直接包含的功能函数的AADL代码,包括:

5.根据权利要求2所述的可复用的嵌入式软件架构建模方法,其特征在于,根据每条连接线连接的模块或功能函数,判断连接线所属的模块,在连接线所属的模块中添加连接线代码,包括:

6.根据权利要求1所述的可复用的嵌入式软件架构建模方法,其特征在于,构建嵌入式软件的功能函数库和模块库,基于构建的功能函数库和模块库构建嵌入式软件的可视化架构模型,包括:

7.根据权利要求6所述的可复用的嵌入式软件架构建模方法,其特征在于,在构建嵌入式软件的可视化架构模型之后,根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的AADL模型之前,还包括对构建的可视化架构模型进行校验。

8.根据权利要求6所述的可复用的嵌入式软件架构建模方法,其特征在于,对构建的可视化架构模型进行校验,包括:

9.一种可复用的嵌入式软件架构建模系统,其特征在于,包括以下模块:

10.根据权利要求9所述的可复用的嵌入式软件架构建模系统,其特征在于,根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的AADL模型,包括:

...

【技术特征摘要】

1.一种可复用的嵌入式软件架构建模方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的可复用的嵌入式软件架构建模方法,其特征在于,根据所述嵌入式软件的可视化架构模型生成所述嵌入式软件对应的aadl模型,包括:

3.根据权利要求2所述的可复用的嵌入式软件架构建模方法,其特征在于,生成当前节点对应的aadl代码,包括:

4.根据权利要求2所述的可复用的嵌入式软件架构建模方法,其特征在于,生成当前节点直接包含的功能函数的aadl代码,包括:

5.根据权利要求2所述的可复用的嵌入式软件架构建模方法,其特征在于,根据每条连接线连接的模块或功能函数,判断连接线所属的模块,在连接线所属的模块中添加连接线代码,包括:

6.根据权利要求1所述的可复用的嵌入式软件架构...

【专利技术属性】
技术研发人员:葛宁王源胡春明殷永峰张莉
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1