CN115544604A - 应用软件层模型的生成方法、生成装置与电子设备 - Google Patents
应用软件层模型的生成方法、生成装置与电子设备 Download PDFInfo
- Publication number
- CN115544604A CN115544604A CN202211319704.6A CN202211319704A CN115544604A CN 115544604 A CN115544604 A CN 115544604A CN 202211319704 A CN202211319704 A CN 202211319704A CN 115544604 A CN115544604 A CN 115544604A
- Authority
- CN
- China
- Prior art keywords
- application software
- interface
- software layer
- component
- subsystem
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种应用软件层模型的生成方法、生成装置与电子设备。该生成方法包括:至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个数据字典对应于一个软件组件;至少基于应用软件层表格和各组件模型架构,生成应用软件层的软件模型架构,应用软件层表格是各软件组件的数据字典和接口映射表格进行相互校验后得到的,接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格,实现了自动生成应用软件层的模型架构(即软件模型架构),保证了开发人员的开发效率较高以及准确率较高,解决了现有技术中难以自动生成整个应用软件层的模型架构的问题。
Description
技术领域
本申请涉及ECU软件开发技术领域,具体而言,涉及一种应用软件层模型的生成方法、生成装置、计算机可读存储介质、处理器与电子设备。
背景技术
当前电气设备的电子化程度越来越高,相应的功能受到软件影响的比重也逐步提高,进入了软件定义功能的时代。伴随着软件功能的增加,代码量也迅速增加。为了避免因代码复杂度增加,带来代码缺陷,从而影响设备正常工作,行业内定义了多种嵌入式软件开发架构,以通过规范软件开发的框架,将软件开发标准化以及将软件功能模块化,从而降低软件的复杂度以及提高软件的重用性。
对于现有的软件架构,若通过商业软件进行配置,例如AUTOSAR架构。对于AUTOSAR架构,其的购买费用不仅较为昂贵,而且工程量庞大且复杂。若通过手动的方式配置软件架构,较为容易出现配置错误。对于现有的软件架构,无论是通过商业软件配置还是通过手动配置,均只能生成单个软件组件的模型架构。但是单个软件组件的模型架构,不方便做整个应用软件层的MIL测试。因此,亟需一种能够自动生成整个应用软件层的模型架构的方法。
发明内容
本申请的主要目的在于提供一种应用软件层模型的生成方法、生成装置、计算机可读存储介质、处理器与电子设备,以解决现有技术中难以自动生成整个应用软件层的模型架构的问题。
根据本发明实施例的一个方面,提供了一种应用软件层模型的生成方法,包括:至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个所述数据字典对应于一个所述软件组件;至少基于应用软件层表格和各所述组件模型架构,生成所述应用软件层的软件模型架构,所述应用软件层表格是各所述软件组件的所述数据字典和接口映射表格进行相互校验后得到的,所述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
可选地,至少基于各数据字典,生成各软件组件的组件模型架构,包括:基于各所述数据字典和第一预设脚本,生成各所述软件组件的所述组件模型架构,所述第一预设脚本为基于各所述数据字典和对应的逻辑规则可生成所述组件模型架构的脚本。
可选地,至少基于应用软件层表格和各所述组件模型架构,生成所述应用软件层的软件模型架构,包括:至少基于所述应用软件层表格、所述组件模型架构和第二预设脚本,生成所述应用软件层的所述软件模型架构,所述第二预设脚本为基于所述应用软件层表格、所述组件模型架构以及对应的逻辑规则可生成所述软件模型架构的脚本。
可选地,基于各所述数据字典和第一预设脚本,生成各所述软件组件的所述组件模型架构,包括:根据各所述数据字典,至少生成各所述软件组件的运行实体集合,并对构建的各所述软件组件的Subsystem进行第一预处理,得到多个预设Subsystem,所述第一预处理用于对各所述Subsystem的各接口进行处理;根据各所述软件组件的所述运行实体集合,构建各所述预设Subsystem的Function Call Subsystem,并对各所述Function CallSubsystem进行第二预处理,得到各所述软件组件的所述组件模型架构,所述第二预处理用于对各所述Function Call Subsystem的各接口进行处理。
可选地,对构建的各所述软件组件的Subsystem进行第一预处理,包括:将各所述Subsystem的内部输入接口连接Goto模块,以及内部输出接口连接From模块;将各所述Subsystem的外部输入接口连接Inport模块,以及外部输出接口连接Outport模块。
可选地,对各所述Function Call Subsystem进行第二预处理,包括:将各所述Function Call Subsystem的内部输入接口连接至Terminator模块,以及内部输出接口连接至Ground模块;将各所述Function Call Subsystem的外部输入接口连接至From模块,外部输出接口连接至Goto模块以及Trigger接口连接至Inport模块。
可选地,至少基于所述应用软件层表格、所述组件模型架构和第二预设脚本,生成所述应用软件层的所述软件模型架构,包括:构建所述应用软件层的Subsystem;循环读取各所述组件模型架构,以将各所述组件模型架构复制至所述应用软件层的Subsystem中,得到预定Subsystem;基于所述应用软件层表格,对所述预定Subsystem的各接口信号进行设置,得到所述软件模型架构。
可选地,基于所述应用软件层表格,对所述预定Subsystem的各接口进行设置,得到所述软件模型架构,包括:在所述预定Subsystem中,对各所述软件组件的Subsystem的外部输入接口的连接关系进行更新连接至From模块;基于所述应用软件层表格,对各所述软件组件的所述Subsystem的外部输出接口的连接关系进行更新。
可选地,基于所述应用软件层表格,对各所述软件组件的所述Subsystem的外部输出接口的连接关系进行更新,包括:在所述外部输出接口仅为输出接口的情况下,将所述外部输出接口更新连接至Outport模块;在所述外部输出接口为输出接口且为输入接口的情况下,将所述外部输出接口更新连接至所述Outport模块和Goto模块。
根据本发明实施例的另一方面,还提供了一种应用软件层模型的生成装置,包括:第一生成单元,用于至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个所述数据字典对应于一个所述软件组件;第二生成单元,用于至少基于应用软件层表格和各所述组件模型架构,生成所述应用软件层的软件模型架构,所述应用软件层表格是各所述软件组件的所述数据字典和接口映射表格进行相互校验后得到的,所述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
根据本发明实施例的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的应用软件层模型的生成方法。
根据本发明实施例的再一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的应用软件层模型的生成方法。
根据本发明实施例的一方面,还提供了一种电子设备,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的应用软件层模型的生成方法。
在本发明实施例中,所述的应用软件层模型的生成方法中,基于各数据字典,生成各软件组件的组件模型架构;以及至少基于应用软件层表格和各所述组件模型架构,生成所述应用软件层的软件模型架构。本申请的应用软件层模型的生成方法,实现了自动生成应用软件层的模型架构(即软件模型架构)。由于是自动生成应用软件层的软件模型架构,这样可以使得开发人员无需过多的关注应用软件层的模型架构的生成,可以将更多的精力放在软件的功能开发上,从而保证了开发人员的开发效率较高以及准确率较高,进而解决了现有技术中难以自动生成整个应用软件层的模型架构的问题。另外,本申请的生成方法也无需增加其他额外的工具,故也不会增加其他的工具费用,这样还保证了本申请的生成方法开发成本较低。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种实施例的应用软件层模型的生成方法的流程图;
图2示出了根据本申请的一种实施例的应用软件层模型的生成装置的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
应用软件层(Application Software Layer,简称ASW):包含若干个软件组件;
软件组件(Software Component,简称SWC):包含一个或多个运行实体;
运行实体(Runnable)封装了相关控制算法;
接口层(Interface Layer,简称IFL)负责应用软件层与软件组件、应用软件层与基础软件层之间的交互;
运行实体间变量(Inter Runnable Variable):一个软件组件内不同运行实体之间交互的变量;
AUTOSAR:开放化的、标准化的汽车嵌入式***软件架构(AUTomotive OpenSystem Architecture,简称AUTOSAR);
MBD:基于模型的设计(Model-Based Design,简称MBD)。
正如背景技术中所说的,现有技术中难以自动生成整个应用软件层的模型,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种应用软件层模型的生成方法、生成装置、计算机可读存储介质、处理器与电子设备。
根据本申请的实施例,提供了一种应用软件层模型的生成方法。
图1是根据本申请实施例的应用软件层模型的生成方法的流程图。如图1所示,该生成方法包括以下步骤:
步骤S101,至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个上述数据字典对应于一个上述软件组件;
步骤S102,至少基于应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构,上述应用软件层表格是各上述软件组件的上述数据字典和接口映射表格进行相互校验后得到的,上述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
上述的应用软件层模型的生成方法中,基于各数据字典,生成各软件组件的组件模型架构;以及至少基于应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构。本申请的应用软件层模型的生成方法,实现了自动生成应用软件层的模型架构(即软件模型架构)。由于是自动生成应用软件层的软件模型架构,这样可以使得开发人员无需过多的关注应用软件层的模型架构的生成,可以将更多的精力放在软件的功能开发上,从而保证了开发人员的开发效率较高以及准确率较高,进而解决了现有技术中难以自动生成整个应用软件层的模型架构的问题。另外,本申请的生成方法也无需增加其他额外的工具,故也不会增加其他的工具费用,这样还保证了本申请的生成方法开发成本较低。
本申请自动生成的软件组件的组件模型架构以及自动生成的应用软件层的软件模型架构均是基于模型的设计(Model-Based Design,简称MBD)方式。而基于MBD的开发方式具有逻辑清晰、便于维护、降低开发难度以及便于早期验证等优点,其已经成为汽车电子领域ECU软件开发的主要趋势。另外,后续开发人员可以在本申请的软件组件的组件模型架构中完成功能开发后,再将该软件组件的组件模型架构替换至总的应用软件层的软件模型架构中,并利用stateflow添加任务调度,即可进行整个应用软件层的集成MIL测试。
具体地,本申请的生成方法中可以通过EXCEL管理表格接口,获取各软件组件的数据字典以及获取接口映射表格,其中,接口映射表格是基础软件层和应用软件层之间的接口的映射关系的表格,且在整个工程(Project)中只对应一个接口映射表格。
具体地,各软件组件的数据字典(SWC_DD)由开发人员整理填写,其为对应的组件模型架构(软件组件的模型架构)在生成的过程中所要使用的信号定义。例如,输入信号(Input Singal)、输出信号(Output Singal)以及运行实体间变量(Inter RunnableVariable,简称IRV)。其中,针对每类信号,其的关键属性列必须包含:Group、Signal Name、Data Type、Initial Value、Dimension、Runnable、Description。具体地,Group:信号类别,如Input Singal、Output Singal;Signal Name:接口的具体变量名,如环境温度,可定义为:tEnvt_degC;Data Type:接口的数据类型,如int8;Initial Value:接口定义时的初始值,如25;Dimension:接口的维度;如1;Runnable:接口所在的运行实体信息,对于OutputSignal仅允许存在一个Runnable,对Input Signal允许存在多Runnable,在一个单元格内填写所属的Runnable,每个Runnable占一行;运行实体间变量(IRV)需要填写Runnable之间的传递关系,如(Runnable1,Runnable2),若一个运行实体间变量(IRV)的接口在多个Runnable之间传递,则全部填写在一个单元格内,每个传递关系占一行;Description:接口的描述,如The environment temperature。
具体地,接口映射表格(IF_Mapping)为基础软件层(Basic Software Layer,简称BSW)的接口函数与应用软件层(Application Software Layer,简称ASW)的接口信号的映射(mapping)关系的表格。其中,该接口映射表格可以基于接口函数的实现方式细分为多个表格(sheet),比如分为底层采样接口函数与应用层接口信号的mapping,底层CAN通讯接口函数与应用层接口信号的mapping,底层存储接口函数与应用层接口信号的mapping)。该接口映射表格由开发人员填写整理,接口映射表格的具体内容如表一所示。
表一
Group | Singal Name | BSW Interface | DataType |
Input Singal | tEnvt_degC | Rte_Read_tEnvt_degC | int8 |
Initial Value | Dimension | Description | |
25 | 1 | The environment temperature |
具体地,应用软件层表格(ASW sheet)是各软件组件的数据字典和接口映射表格进行相互校验后得到的。其中,针对该应用软件层表格中的每个信号,其关键属性列必须包含:Group、Signal Name、BSW Interface、Data Type、Initial Value、Dimension、Description、SWC、IFType、Used。具体地,Group:信号类别,如Input Signal,OutputSignal;Signal Name:接口的具体变量名,如环境温度,可定义为:tEnvt_degC;BSWInterface:与ASW的接口信号mapping的BSW的接口信号。Data Type:接口的数据类型,如int8;Initial Value:接口定义时的初始值,如25;Dimension:接口的维度;如1;Description:接口的描述,如The environment temperature;SWC:该接口信号来自哪个软件组件;IFType:针对应用软件层的各个软件组件,该接口信号的类型,如In、Out、InOut;Used:该接口信号在哪些软件组件中被使用并描述使用类型,如SWC1(In),若在多个软件组件中使用,则用英文逗号隔开,具体如表二所示。
表二
Group | Name | BSW Interface | DataType |
Input Signal | tEnvt_degC | Rte_Read_tEnvt_degC | int8 |
Initial Value | Dimension | Description | SWC |
25 | 1 | The environment temperature | SWC1 |
IFType | Used | ||
In | SWC1(In) |
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的又一种实施例中,至少基于各数据字典,生成各软件组件的组件模型架构,包括:基于各上述数据字典和第一预设脚本,生成各上述软件组件的上述组件模型架构,上述第一预设脚本为基于各上述数据字典和对应的逻辑规则可生成上述组件模型架构的脚本。在该实施例中,通过运行第一预设脚本,根据各软件组件的数据字典生成各软件组件的组件模型架构,这样实现了自动地生成各软件组件的组件模型架构,进一步地保证了开发效率较高和开发成本较低。
为了较为快速和较为简单地得到应用软件层的软件模型架构,本申请的另一种实施例中,至少基于应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构,包括:至少基于上述应用软件层表格、上述组件模型架构和第二预设脚本,生成上述应用软件层的上述软件模型架构,上述第二预设脚本为基于上述应用软件层表格、上述组件模型架构以及对应的逻辑规则可生成上述软件模型架构的脚本。
本申请的另一种实施例中,基于各上述数据字典和第一预设脚本,生成各上述软件组件的上述组件模型架构,包括:根据各上述数据字典,至少生成各上述软件组件的运行实体集合,并对构建的各上述软件组件的Subsystem进行第一预处理,得到多个预设Subsystem,上述第一预处理用于对各上述Subsystem的各接口进行处理;根据各上述软件组件的上述运行实体集合,构建各上述预设Subsystem的Function Call Subsystem,并对各上述Function Call Subsystem进行第二预处理,得到各上述软件组件的上述组件模型架构,上述第二预处理用于对各上述Function Call Subsystem的各接口进行处理。在该实施例中,基于各软件组件的数据字典生成运行实体集合,并基于对应的运行实体集合,为各软件组件的预设Subsystem生成对应的Function Call Subsystem。再对各预设Subsystem进行第一预处理以及对各Function Call Subsystem进行第二预处理,这样保证了可以较为简单地得到对应的软件组件的组件模型架构,且由于是基于数据字典生成的软件组件的运行实体集合,这样可以降低各接口信号出现错误的概率。
为了保证各软件组件各接口能够正常通信,本申请的又一种实施例中,对构建的各上述软件组件的Subsystem进行第一预处理,包括:将各上述Subsystem的内部输入接口连接Goto模块,以及内部输出接口连接From模块;将各上述Subsystem的外部输入接口连接Inport模块,以及外部输出接口连接Outport模块。
本申请的另一种实施例中,对各上述Function Call Subsystem进行第二预处理,包括:将各上述Function Call Subsystem的内部输入接口连接至Terminator模块,以及内部输出接口连接至Ground模块;将各上述Function Call Subsystem的外部输入接口连接至From模块,外部输出接口连接至Goto模块以及Trigger接口连接至Inport模块,这样保证了各Function Call Subsystem的各接口可以正常通信。
本申请的一种具体的实施例中,基于各数据字典(SWC_DD)和第一预设脚本,生成各软件组件的组件模型架构的具体过程如下:
Step1、基于目标软件组件的SWC_DD,得到3个集合,分别为Runnable集合(即运行实体集合),Runnable的Input集合,Runnable的Output集合。其中,Runnable集合的名称为Runnable的名称,Runnable的Input集合为Input Singal的名称,Runnable的Output集合为Output Signal的名称。上述目标软件组件为多个软件组件中的一个。
Step2、为该目标软件组件添加Subsystem,同时去除Subsystem内部自带的Inport、Outport。其中,Subsystem的Name属性为对应的SWC的名字,并设置Subsystem的Position属性。另外,基于避免模块交叉重叠的设计原则,将该Subsystem记为Sub_1st。若后续再添加其他软件组件的Subsystem,可以一次记为Sub_2st,Sub_3st,…,Sub_nst。
Step3、在Sub_1st内基于Runnable集合的中运行实体的数量添加对应数量的Function Call Subsystem,并去除Function Call Subsystem内部自带的Inport、Outport。然后,设置Trigger Port的Name属性为Runnable的名字,Function CallSubsystem的Name属性为Runnable名字加‘_Sys’,以及基于避免模块交叉重叠的原则,设置Function Call Subsystem的Position属性。
Step4、对每一个Function Call Subsystem,对其的内部输入接口(Inport)以及内部输出接口(Outport)进行设置。具体地,内部输入接口(Inport)的Name属性为Input的名字,内部输出接口(Outport)的Name属性为Output的名字。内部输入接口(Inport)连接Terminator模块,同时设置所连线的Name属性为Inport的Name属性字符串;内部输出接口(Outport)模块连接Ground模块,同时设置所连线的Name属性为Outport的Name属性字符串。再设置Inport、Terminator、Outport、Ground模块的Position属性。同时,同一类模块上下排序,不同类模块左右排序的原则,左右排序顺序为Inport→Terminator→Ground→Outport,设计原则为避免模块交叉重叠。
Step5、对每一个Function Call Subsystem,其的外部输入接口连接From模块,外部输出接口连接Goto模块,以及Trigger接口连接Inport模块。From模块的GotoTag的属性值为Function Call Subsystem内部对应Inport模块的Name属性字符串。Goto模块的GotoTag的属性值为Function Call Subsystem内部对应Outport模块的Name属性字符串。Trigger port所连接的Inport模块的Name属性为Runnable的名字。设置Goto、From、Inport模块的Position属性,设计原则为避免模块交叉重叠。
Step6、基于对应的软件组件的SWC_DD,在Sub_1st添加内部输入接口和内部输出接口。其中,内部输入接口的Name属性为Input的名字,内部输入接口连接Goto模块。内部输出接口的Name属性为Output的名字,内部输出接口连接From模块。设置Inport、Goto、Outport、From模块的Position属性,同一类模块上下排序,不同类模块左右排序,左右排序顺序为Inport→Goto→Outport→From,设计原则为避免模块交叉重叠。设置Goto、From的GotoTag属性,Goto模块的GotoTag的属性值为Inport的Name属性字符串。From模块的GotoTag的属性值为Outport的Name属性字符串。
Step7、对于Sub_1st,其的外部输入接口连接Inport模块,外部输出接口连接Outport模块。Inport模块的Name属性值为Sub_1st内部对应Inport模块的Name属性字符串。Outport模块的Name属性值为Sub_1st内部对应Outport模块的Name属性字符串。设置Inport、Outport模块的Position属性,设计原则为避免模块交叉重叠。对于Name属性为Runnable名字的Inport,设置OutputFunctionCall属性为on。
Step8、基于定义的建模规范配置模型的属性,此处必须配置的属性为:SignalLabelMismatchMsg、UnconnectedInputMsg、UnconnectedOutputMsg、UnconnectedLineMsg,其属性值设置为error。然后执行命令sim(bdroot),查看模型是否正常仿真,若有错误则基于错误提示进行修改。
为了进一步地较为高效和较为简单地得到应用软件层的软件模型架构,本申请的再一种实施例中,至少基于上述应用软件层表格、上述组件模型架构和第二预设脚本,生成上述应用软件层的上述软件模型架构,包括:构建上述应用软件层的Subsystem;循环读取各上述组件模型架构,以将各上述组件模型架构复制至上述应用软件层的Subsystem中,得到预定Subsystem;基于上述应用软件层表格,对上述预定Subsystem的各接口信号进行设置,得到上述软件模型架构。
为了保证应用软件层的各接口能够通信正常,本申请的一种实施例中,基于上述应用软件层表格,对上述预定Subsystem的各接口进行设置,得到上述软件模型架构,包括:在上述预定Subsystem中,对各上述软件组件的Subsystem的外部输入接口的连接关系进行更新连接至From模块;基于上述应用软件层表格,对各上述软件组件的上述Subsystem的外部输出接口的连接关系进行更新。
本申请的另一种实施例中,基于上述应用软件层表格,对各上述软件组件的上述Subsystem的外部输出接口的连接关系进行更新,包括:在上述外部输出接口仅为输出接口的情况下,将上述外部输出接口更新连接至Outport模块;在上述外部输出接口为输出接口且为输入接口的情况下,将上述外部输出接口更新连接至上述Outport模块和Goto模块,这样进一步地保证了应用软件层的各接口通信正常。
本申请的一种具体的实施例中,至少基于应用软件层表格(ASW sheet)、组件模型架构和第二预设脚本,生成应用软件层的软件模型架构,具体过程如下:
Step1、循环读取各SWC的组件模型架构,并将各SWC的组件模型架构的顶层Subsystem及其包含的内容复制至整个ASW层的的Subsystem,得到预定Subsystem。同时,需要设置各SWC对应Subsystem模块的Position属性,避免模块交叉重叠。
Step2、在预定Subsystem中,将各软件组件的Subsystem的外部输入port连接From模块,外部输出port需要基于IF_Mapping的ASW sheet进行判断。若仅为输出接口,则信号连接Outport模块;若即为输出接口又为输入接口,则信号连接Outport模块及Goto模块。同时,将From模块的GotoTag属性值为Subsystem内部对应Inport模块的Name属性字符串。Goto模块的GotoTag属性值为Subsystem内部对应Outport模块的Name属性字符串。Outport模块的Name属性值为Subsystem内部对应Outport模块的Name属性字符串。
Step3、基于IF_Mapping的ASW sheet判断仅为输入的接口信号。则在模型顶层基于这些接口信号添加Inport,其Name属性为信号接口的名字。Inport连接Goto模块,Goto模块的GotoTag属性值为Inport的Name属性值。
通过以上设置即生成整个应用软件层的软件模型架构组成应用软件层的软件模型架构。若要执行整个应用软件层的MIL测试,仅需将开发完成的各个软件组件替换该软件模型架构中,然后利用stateflow添加任务调度,即可配置成功。
本申请实施例还提供了一种应用软件层模型的生成装置,需要说明的是,本申请实施例的应用软件层模型的生成装置可以用于执行本申请实施例所提供的用于应用软件层模型的生成方法。以下对本申请实施例提供的应用软件层模型的生成装置进行介绍。
图2是根据本申请实施例的应用软件层模型的生成装置的结构示意图。如图2所示,该生成装置包括:
第一生成单元10,用于至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个上述数据字典对应于一个上述软件组件;
第二生成单元20,用于至少基于应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构,上述应用软件层表格是各上述软件组件的上述数据字典和接口映射表格进行相互校验后得到的,上述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
上述的应用软件层模型的生成装置中,第一生成单元用于基于各数据字典,生成各软件组件的组件模型架构;第二生成单元用于至少基于上述应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构。本申请的应用软件层模型的生成装置,实现了自动生成应用软件层的模型架构(即软件模型架构)。由于是自动生成应用软件层的软件模型架构,这样可以使得开发人员无需过多的关注应用软件层的模型架构的生成,可以将更多的精力放在软件的功能开发上,从而保证了开发人员的开发效率较高以及准确率较高,进而解决了现有技术中难以自动生成整个应用软件层的模型架构的问题。另外,本申请的生成装置也无需增加其他额外的工具,故也不会增加其他的工具费用,这样还保证了本申请的生成方法开发成本较低。
本申请自动生成的软件组件的组件模型架构以及自动生成的应用软件层的软件模型架构均是基于模型的设计(Model-Based Design,简称MBD)方式。而基于MBD的开发方式具有逻辑清晰、便于维护、降低开发难度以及便于早期验证等优点,其已经成为汽车电子领域ECU软件开发的主要趋势。另外,后续开发人员可以在本申请的软件组件的组件模型架构中完成功能开发后,再将该软件组件的组件模型架构替换至总的应用软件层的软件模型架构中,并利用stateflow添加任务调度,即可进行整个应用软件层的集成MIL测试。
具体地,本申请的生成方法中可以通过EXCEL管理表格接口,获取各软件组件的数据字典以及获取接口映射表格,其中,接口映射表格是基础软件层和应用软件层之间的接口的映射关系的表格,且在整个个工程(Project)中只对应一个接口映射表格。
具体地,各软件组件的数据字典(SWC_DD)由开发人员整理填写,其为对应的组件模型架构(软件组件的模型架构)在生成的过程中所要使用的信号定义。例如,输入信号(Input Singal)、输出信号(Output Singal)以及运行实体间变量(Inter RunnableVariable,简称IRV)。其中,针对每类信号,其的关键属性列必须包含:Group、Signal Name、Data Type、Initial Value、Dimension、Runnable、Description。具体地,Group:信号类别,如Input Singal、Output Singal;Signal Name:接口的具体变量名,如环境温度,可定义为:tEnvt_degC;Data Type:接口的数据类型,如int8;Initial Value:接口定义时的初始值,如25;Dimension:接口的维度;如1;Runnable:接口所在的运行实体信息,对于OutputSignal仅允许存在一个Runnable,对Input Signal允许存在多Runnable,在一个单元格内填写所属的Runnable,每个Runnable占一行;运行实体间变量(IRV)需要填写Runnable之间的传递关系,如(Runnable1,Runnable2),若一个运行实体间变量(IRV)的接口在多个Runnable之间传递,则全部填写在一个单元格内,每个传递关系占一行;Description:接口的描述,如The environment temperature。
具体地,接口映射表格(IF_Mapping)为基础软件层(Basic Software Layer,简称BSW)的接口函数与应用软件层(Application Software Layer,简称ASW)的接口信号的映射(mapping)关系的表格。其中,该接口映射表格可以基于接口函数的实现方式细分为多个表格(sheet),比如分为底层采样接口函数与应用层接口信号的mapping,底层CAN通讯接口函数与应用层接口信号的mapping,底层存储接口函数与应用层接口信号的mapping)。该接口映射表格由开发人员填写整理,接口映射表格的具体内容如表一所示。
具体地,应用软件层表格(ASW sheet)是各软件组件的数据字典和接口映射表格进行相互校验后得到的。其中,针对该应用软件层表格中的每个信号,其关键属性列必须包含:Group、Signal Name、BSW Interface、Data Type、Initial Value、Dimension、Description、SWC、IFType、Used。具体地,Group:信号类别,如Input Signal,OutputSignal;Signal Name:接口的具体变量名,如环境温度,可定义为:tEnvt_degC;BSWInterface:与ASW的接口信号mapping的BSW的接口信号。Data Type:接口的数据类型,如int8;Initial Value:接口定义时的初始值,如25;Dimension:接口的维度;如1;Description:接口的描述,如The environment temperature;SWC:该接口信号来自哪个软件组件;IFType:针对应用软件层的各个软件组件,该接口信号的类型,如In、Out、InOut;Used:该接口信号在哪些软件组件中被使用并描述使用类型,如SWC1(In),若在多个软件组件中使用,则用英文逗号隔开,具体如表二所示。
为了进一步地提升开发人员的开发效率以及降低开发成本,本申请的一种实施例中,上述第一生成单元包括第一生成模块,用于基于上述应用软件层表格和第一预设脚本,生成上述接口文件,上述第一预设脚本为基于上述应用软件层表格和对应的逻辑规则可生成上述接口文件的脚本。
本申请的又一种实施例中,上述第一生成单元还包括第二生成模块,用于基于各上述数据字典和第一预设脚本,生成各上述软件组件的上述组件模型架构,上述第一预设脚本为基于各上述数据字典和对应的逻辑规则可生成上述组件模型架构的脚本。在该实施例中,通过运行第一预设脚本,根据各软件组件的数据字典生成各软件组件的组件模型架构,这样实现了自动地生成各软件组件的组件模型架构,进一步地保证了开发效率较高和开发成本较低。
为了较为快速和较为简单地得到应用软件层的软件模型架构,本申请的另一种实施例中,上述第二生成单元包括第三生成模块,用于至少基于上述应用软件层表格、上述组件模型架构和第二预设脚本,生成上述应用软件层的上述软件模型架构,上述第二预设脚本为基于上述应用软件层表格、上述组件模型架构以及对应的逻辑规则可生成上述软件模型架构的脚本。
本申请的另一种实施例中,上述第二生成模块包括第一处理子模块和第二处理子模块,其中,上述第一处理子模块用于根据各上述数据字典,至少生成各上述软件组件的运行实体集合,并对构建的各上述软件组件的Subsystem进行第一预处理,得到多个预设Subsystem,上述第一预处理用于对各上述Subsystem的各接口进行处理;上述第二处理子模块用于根据各上述软件组件的上述运行实体集合,构建各上述预设Subsystem的Function Call Subsystem,并对各上述Function Call Subsystem进行第二预处理,得到各上述软件组件的上述组件模型架构,上述第二预处理用于对各上述Function CallSubsystem的各接口进行处理。在该实施例中,基于各软件组件的数据字典生成运行实体集合,并基于对应的运行实体集合,为各软件组件的预设Subsystem生成对应的FunctionCall Subsystem。再对各预设Subsystem进行第一预处理以及对各Function CallSubsystem进行第二预处理,这样保证了可以较为简单地得到对应的软件组件的组件模型架构,且由于是基于数据字典生成的软件组件的运行实体集合,这样可以降低各接口信号出现错误的概率。
为了保证各软件组件各接口能够正常通信,本申请的又一种实施例中,上述第一处理子模块包括第一设置子模块和第二设置子模块,其中,上述第一设置子模块用于将各上述Subsystem的内部输入接口连接Goto模块,以及内部输出接口连接From模块;上述第二设置子模块用于将各上述Subsystem的外部输入接口连接Inport模块,以及外部输出接口连接Outport模块。
本申请的另一种实施例中,上述第二处理子模块包括第三设置子模块和第四设置子模块,其中,上述第三设置子模块用于将各上述Function Call Subsystem的内部输入接口连接至Terminator模块,以及内部输出接口连接至Ground模块;上述第四设置子模块将各上述Function Call Subsystem的外部输入接口连接至From模块,外部输出接口连接至Goto模块以及Trigger接口连接至Inport模块,这样保证了各Function Call Subsystem的各接口可以正常通信。
本申请的一种具体的实施例中,基于各数据字典(SWC_DD)和第一预设脚本,生成各软件组件的组件模型架构的具体过程如下:
Step1、基于目标软件组件的SWC_DD,得到3个集合,分别为Runnable集合(即运行实体集合),Runnable的Input集合,Runnable的Output集合。其中,Runnable集合的名称为Runnable的名称,Runnable的Input集合为Input Singal的名称,Runnable的Output集合为Output Signal的名称。上述目标软件组件为多个软件组件中的一个。
Step2、为该目标软件组件添加Subsystem,同时去除Subsystem内部自带的Inport、Outport。其中,Subsystem的Name属性为对应的SWC的名字,并设置Subsystem的Position属性。另外,基于避免模块交叉重叠的设计原则,将该Subsystem记为Sub_1st。若后续再添加其他软件组件的Subsystem,可以一次记为Sub_2st,Sub_3st,…,Sub_nst。
Step3、在Sub_1st内基于Runnable集合的中运行实体的数量添加对应数量的Function Call Subsystem,并去除Function Call Subsystem内部自带的Inport、Outport。然后,设置Trigger Port的Name属性为Runnable的名字,Function CallSubsystem的Name属性为Runnable名字加‘_Sys’,以及基于避免模块交叉重叠的原则,设置Function Call Subsystem的Position属性。
Step4、对每一个Function Call Subsystem,对其的内部输入接口(Inport)以及内部输出接口(Outport)进行设置。具体地,内部输入接口(Inport)的Name属性为Input的名字,内部输出接口(Outport)的Name属性为Output的名字。内部输入接口(Inport)连接Terminator模块,同时设置所连线的Name属性为Inport的Name属性字符串;内部输出接口(Outport)模块连接Ground模块,同时设置所连线的Name属性为Outport的Name属性字符串。再设置Inport、Terminator、Outport、Ground模块的Position属性。同时,同一类模块上下排序,不同类模块左右排序的原则,左右排序顺序为Inport→Terminator→Ground→Outport,设计原则为避免模块交叉重叠。
Step5、对每一个Function Call Subsystem,其的外部输入接口连接From模块,外部输出接口连接Goto模块,以及Trigger接口连接Inport模块。From模块的GotoTag的属性值为Function Call Subsystem内部对应Inport模块的Name属性字符串。Goto模块的GotoTag的属性值为Function Call Subsystem内部对应Outport模块的Name属性字符串。Trigger port所连接的Inport模块的Name属性为Runnable的名字。设置Goto、From、Inport模块的Position属性,设计原则为避免模块交叉重叠。
Step6、基于对应的软件组件的SWC_DD,在Sub_1st添加内部输入接口和内部输出接口。其中,内部输入接口的Name属性为Input的名字,内部输入接口连接Goto模块。内部输出接口的Name属性为Output的名字,内部输出接口连接From模块。设置Inport、Goto、Outport、From模块的Position属性,同一类模块上下排序,不同类模块左右排序,左右排序顺序为Inport→Goto→Outport→From,设计原则为避免模块交叉重叠。设置Goto、From的GotoTag属性,Goto模块的GotoTag的属性值为Inport的Name属性字符串。From模块的GotoTag的属性值为Outport的Name属性字符串。
Step7、对于Sub_1st,其的外部输入接口连接Inport模块,外部输出接口连接Outport模块。Inport模块的Name属性值为Sub_1st内部对应Inport模块的Name属性字符串。Outport模块的Name属性值为Sub_1st内部对应Outport模块的Name属性字符串。设置Inport、Outport模块的Position属性,设计原则为避免模块交叉重叠。对于Name属性为Runnable名字的Inport,设置OutputFunctionCall属性为on。
Step8、基于定义的建模规范配置模型的属性,此处必须配置的属性为:SignalLabelMismatchMsg、UnconnectedInputMsg、UnconnectedOutputMsg、UnconnectedLineMsg,其属性值设置为error。然后执行命令sim(bdroot),查看模型是否正常仿真,若有错误则基于错误提示进行修改。
为了进一步地较为高效和较为简单地得到应用软件层的软件模型架构,本申请的再一种实施例中,上述第三生成模块包括构建子模块、循环子模块和第四生成子模块,其中,构建子模块用于构建上述应用软件层的Subsystem;循环子模块用于循环读取各上述组件模型架构,以将各上述组件模型架构复制至上述应用软件层的Subsystem中,得到预定Subsystem;第四生成子模块用于基于上述应用软件层表格,对上述预定Subsystem的各接口信号进行设置,得到上述软件模型架构。
为了保证应用软件层的各接口能够通信正常,本申请的一种实施例中,上述第四生成子模块包括第一更新子模块和第二更新子模块,其中,上述第一更新子模块用于在上述预定Subsystem中,对各上述软件组件的Subsystem的外部输入接口的连接关系进行更新连接至From模块;上述第二更新子模块用于基于上述应用软件层表格,对各上述软件组件的上述Subsystem的外部输出接口的连接关系进行更新。
本申请的另一种实施例中,上述第二更新子模块包括第三更新子模块和第四更新子模块,其中,上述第三更新子模块用于在上述外部输出接口仅为输出接口的情况下,将上述外部输出接口更新连接至Outport模块;上述第四更新子模块用于在上述外部输出接口为输出接口且为输入接口的情况下,将上述外部输出接口更新连接至上述Outport模块和Goto模块,这样进一步地保证了应用软件层的各接口通信正常。
本申请的一种具体的实施例中,至少基于应用软件层表格(ASW sheet)、组件模型架构和第二预设脚本,生成应用软件层的软件模型架构,具体过程如下:
Step1、循环读取各SWC的组件模型架构,并将各SWC的组件模型架构的顶层Subsystem及其包含的内容复制至整个ASW层的的Subsystem,得到预定Subsystem。同时,需要设置各SWC对应Subsystem模块的Position属性,避免模块交叉重叠。
Step2、在预定Subsystem中,将各软件组件的Subsystem的外部输入port连接From模块,外部输出port需要基于IF_Mapping的ASW sheet进行判断。若仅为输出接口,则信号连接Outport模块;若即为输出接口又为输入接口,则信号连接Outport模块及Goto模块。同时,将From模块的GotoTag属性值为Subsystem内部对应Inport模块的Name属性字符串。Goto模块的GotoTag属性值为Subsystem内部对应Outport模块的Name属性字符串。Outport模块的Name属性值为Subsystem内部对应Outport模块的Name属性字符串。
Step3、基于IF_Mapping的ASW sheet判断仅为输入的接口信号。则在模型顶层基于这些接口信号添加Inport,其Name属性为信号接口的名字。Inport连接Goto模块,Goto模块的GotoTag属性值为Inport的Name属性值。
通过以上设置即生成整个应用软件层的软件模型架构组成应用软件层的软件模型架构。若要执行整个应用软件层的MIL测试,仅需将开发完成的各个软件组件替换该软件模型架构中,然后利用stateflow添加任务调度,即可配置成功。
上述应用软件层模型的生成装置包括处理器和存储器,上述第一生成单元和第二生成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中难以自动生成整个应用软件层的模型架构的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述应用软件层模型的生成方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述应用软件层模型的生成方法。
本申请的一种典型的实施例中,还提供了一种电子设备,该电子设别包括一个或多个处理器,存储器以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的应用软件层模型的生成方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个上述数据字典对应于一个上述软件组件;
步骤S102,至少基于应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构,上述应用软件层表格是各上述软件组件的上述数据字典和接口映射表格进行相互校验后得到的,上述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个上述数据字典对应于一个上述软件组件;
步骤S102,至少基于应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构,上述应用软件层表格是各上述软件组件的上述数据字典和接口映射表格进行相互校验后得到的,上述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的应用软件层模型的生成方法中,基于各数据字典,生成各软件组件的组件模型架构;以及至少基于应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构。本申请的应用软件层模型的生成方法,实现了自动生成应用软件层的模型架构(即软件模型架构)。由于是自动生成应用软件层的软件模型架构,这样可以使得开发人员无需过多的关注应用软件层的模型架构的生成,可以将更多的精力放在软件的功能开发上,从而保证了开发人员的开发效率较高以及准确率较高,进而解决了现有技术中难以自动生成整个应用软件层的模型架构的问题。另外,本申请的生成方法也无需增加其他额外的工具,故也不会增加其他的工具费用,这样还保证了本申请的生成方法开发成本较低。
2)、本申请的应用软件层模型的生成装置中,第一生成单元用于基于各数据字典,生成各软件组件的组件模型架构;第二生成单元用于至少基于上述应用软件层表格和各上述组件模型架构,生成上述应用软件层的软件模型架构。本申请的应用软件层模型的生成装置,实现了自动生成应用软件层的模型架构(即软件模型架构)。由于是自动生成应用软件层的软件模型架构,这样可以使得开发人员无需过多的关注应用软件层的模型架构的生成,可以将更多的精力放在软件的功能开发上,从而保证了开发人员的开发效率较高以及准确率较高,进而解决了现有技术中难以自动生成整个应用软件层的模型架构的问题。另外,本申请的生成装置也无需增加其他额外的工具,故也不会增加其他的工具费用,这样还保证了本申请的生成方法开发成本较低。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种应用软件层模型的生成方法,其特征在于,包括:
至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个所述数据字典对应于一个所述软件组件;
至少基于应用软件层表格和各所述组件模型架构,生成所述应用软件层的软件模型架构,所述应用软件层表格是各所述软件组件的所述数据字典和接口映射表格进行相互校验后得到的,所述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
2.根据权利要求1所述的生成方法,其特征在于,至少基于各数据字典,生成各软件组件的组件模型架构,包括:
基于各所述数据字典和第一预设脚本,生成各所述软件组件的所述组件模型架构,所述第一预设脚本为基于各所述数据字典和对应的逻辑规则可生成所述组件模型架构的脚本。
3.根据权利要求1所述的生成方法,其特征在于,至少基于应用软件层表格和各所述组件模型架构,生成所述应用软件层的软件模型架构,包括:
至少基于所述应用软件层表格、所述组件模型架构和第二预设脚本,生成所述应用软件层的所述软件模型架构,所述第二预设脚本为基于所述应用软件层表格、所述组件模型架构以及对应的逻辑规则可生成所述软件模型架构的脚本。
4.根据权利要求2所述的生成方法,其特征在于,基于各所述数据字典和第一预设脚本,生成各所述软件组件的所述组件模型架构,包括:
根据各所述数据字典,至少生成各所述软件组件的运行实体集合,并对构建的各所述软件组件的Subsystem进行第一预处理,得到多个预设Subsystem,所述第一预处理用于对各所述Subsystem的各接口进行处理;
根据各所述软件组件的所述运行实体集合,构建各所述预设Subsystem的FunctionCall Subsystem,并对各所述Function Call Subsystem进行第二预处理,得到各所述软件组件的所述组件模型架构,所述第二预处理用于对各所述Function CallSubsystem的各接口进行处理。
5.根据权利要求4所述的生成方法,其特征在于,对构建的各所述软件组件的Subsystem进行第一预处理,包括:
将各所述Subsystem的内部输入接口连接Goto模块,以及内部输出接口连接From模块;
将各所述Subsystem的外部输入接口连接Inport模块,以及外部输出接口连接Outport模块。
6.根据权利要求4所述的生成方法,其特征在于,对各所述Function Call Subsystem进行第二预处理,包括:
将各所述Function Call Subsystem的内部输入接口连接至Terminator模块,以及内部输出接口连接至Ground模块;
将各所述Function Call Subsystem的外部输入接口连接至From模块,外部输出接口连接至Goto模块以及Trigger接口连接至Inport模块。
7.根据权利要求3所述的生成方法,其特征在于,至少基于所述应用软件层表格、所述组件模型架构和第二预设脚本,生成所述应用软件层的所述软件模型架构,包括:
构建所述应用软件层的Subsystem;
循环读取各所述组件模型架构,以将各所述组件模型架构复制至所述应用软件层的Subsystem中,得到预定Subsystem;
基于所述应用软件层表格,对所述预定Subsystem的各接口进行设置,得到所述软件模型架构。
8.根据权利要求7所述的生成方法,其特征在于,基于所述应用软件层表格,对所述预定Subsystem的各接口进行设置,得到所述软件模型架构,包括:
在所述预定Subsystem中,对各所述软件组件的Subsystem的外部输入接口的连接关系进行更新连接至From模块;
基于所述应用软件层表格,对各所述软件组件的所述Subsystem的外部输出接口的连接关系进行更新。
9.根据权利要求8所述的生成方法,其特征在于,基于所述应用软件层表格,对各所述软件组件的所述Subsystem的外部输出接口的连接关系进行更新,包括:
在所述外部输出接口仅为输出接口的情况下,将所述外部输出接口更新连接至Outport模块;
在所述外部输出接口为输出接口且为输入接口的情况下,将所述外部输出接口更新连接至所述Outport模块和Goto模块。
10.一种应用软件层模型的生成装置,其特征在于,包括:
第一生成单元,用于至少基于各数据字典,生成各软件组件的组件模型架构,其中,一个所述数据字典对应于一个所述软件组件;
第二生成单元,用于至少基于应用软件层表格和各所述组件模型架构,生成所述应用软件层的软件模型架构,所述应用软件层表格是各所述软件组件的所述数据字典和接口映射表格进行相互校验后得到的,所述接口映射表格为基础软件层和应用软件层之间的接口的映射关系的表格。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至9中任意一项所述的应用软件层模型的生成方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至9中任意一项所述的应用软件层模型的生成方法。
13.一种电子设备,其特征在于,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至9中任意一项所述的应用软件层模型的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211319704.6A CN115544604A (zh) | 2022-10-26 | 2022-10-26 | 应用软件层模型的生成方法、生成装置与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211319704.6A CN115544604A (zh) | 2022-10-26 | 2022-10-26 | 应用软件层模型的生成方法、生成装置与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115544604A true CN115544604A (zh) | 2022-12-30 |
Family
ID=84719533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211319704.6A Withdrawn CN115544604A (zh) | 2022-10-26 | 2022-10-26 | 应用软件层模型的生成方法、生成装置与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544604A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112019A (zh) * | 2023-09-05 | 2023-11-24 | 镁佳(北京)科技有限公司 | 一种载体文件自动生成方法、装置、计算机设备及介质 |
CN117331565A (zh) * | 2023-10-09 | 2024-01-02 | 镁佳(北京)科技有限公司 | 软件生成方法、装置、计算机设备及存储介质 |
CN117608873A (zh) * | 2023-11-14 | 2024-02-27 | 阿尔特汽车技术股份有限公司 | 信号交互方法、装置、设备及存储介质 |
-
2022
- 2022-10-26 CN CN202211319704.6A patent/CN115544604A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112019A (zh) * | 2023-09-05 | 2023-11-24 | 镁佳(北京)科技有限公司 | 一种载体文件自动生成方法、装置、计算机设备及介质 |
CN117331565A (zh) * | 2023-10-09 | 2024-01-02 | 镁佳(北京)科技有限公司 | 软件生成方法、装置、计算机设备及存储介质 |
CN117331565B (zh) * | 2023-10-09 | 2024-05-28 | 镁佳(北京)科技有限公司 | 软件生成方法、装置、计算机设备及存储介质 |
CN117608873A (zh) * | 2023-11-14 | 2024-02-27 | 阿尔特汽车技术股份有限公司 | 信号交互方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115544604A (zh) | 应用软件层模型的生成方法、生成装置与电子设备 | |
CN108563575B (zh) | 应用程序测试方法、装置、终端及计算机可读存储介质 | |
US7293204B2 (en) | Computer peripheral connecting interface system configuration debugging method and system | |
US20160266952A1 (en) | Automated Qualification of a Safety Critical System | |
CN109933521A (zh) | 基于bdd的自动化测试方法、装置、计算机设备及存储介质 | |
CN105893234A (zh) | 用于软件测试的方法和计算设备 | |
CN111723020A (zh) | 一种电能表测试软件的测试方法、装置及其设备 | |
CN109445691A (zh) | 一种提高ftl算法开发和验证效率的方法及装置 | |
CN113282492A (zh) | 一种操作***内核形式化验证方法 | |
CN110704113A (zh) | 一种基于fpga平台的启动方法、***及开发板装置 | |
CN117350205A (zh) | 芯片的验证方法、装置、电子设备和存储介质 | |
CN112561690A (zh) | ***分期业务接口的测试方法、***、设备及存储介质 | |
CN113272785B (zh) | 一种挂载文件***的方法、终端设备及存储介质 | |
CN115617345A (zh) | 接口校验方法、接口校验装置、处理器与电子设备 | |
CN110765008A (zh) | 一种数据处理方法及装置 | |
CN110134602A (zh) | 网页自动化回归测试方法、***、介质和电子设备 | |
CN112463633B (zh) | 一种片上存储器的地址译码校验方法、装置、设备及介质 | |
EP3734491A1 (en) | Method, apparatus, device, and medium for implementing simulator | |
CN114219297A (zh) | 火箭需求分析方法、装置、终端设备及介质 | |
CN117272694B (zh) | 基于参数组件化建立装备仿真模型的方法、***及介质 | |
CN112527657B (zh) | 单元测试中自动插桩的方法及设备 | |
CN110008073B (zh) | 硬件平台差异化屏蔽方法、装置、设备及可读存储介质 | |
US20220188494A1 (en) | Computing device and method for developing a system model utilizing a simulation assessment module | |
CN116909928A (zh) | 测试案例生成方法、接口测试方法、***、设备及介质 | |
CN116755690A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20221230 |
|
WW01 | Invention patent application withdrawn after publication |