CN101859272B - 一种嵌入式软件系统的仿真方法、系统及装置 - Google Patents
一种嵌入式软件系统的仿真方法、系统及装置 Download PDFInfo
- Publication number
- CN101859272B CN101859272B CN 200910081954 CN200910081954A CN101859272B CN 101859272 B CN101859272 B CN 101859272B CN 200910081954 CN200910081954 CN 200910081954 CN 200910081954 A CN200910081954 A CN 200910081954A CN 101859272 B CN101859272 B CN 101859272B
- Authority
- CN
- China
- Prior art keywords
- data
- data message
- tsm
- information
- message
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种嵌入式软件系统的仿真方法、系统及装置,用以解决现有技术中对嵌入式软件系统仿真过程中效率低的问题。该方法SC从SS获取被调用到的SF所需的配置数据信息,配置数据信息包含TSM输出第一数据信息后需要从硬件获取的第二数据信息,SC中被调用到的SF接收TSM向硬件输出的第一数据信息,根据第一数据信息对应的输出参数,在配置数据信息中查找输出参数对应的第二数据信息,将查找到的第二数据信息提供给TSM,并向SS提供所述第一数据信息。如本发明提出的方案,只需一次数据信息的配置即可进行后续重复仿真过程,因此可以有效提高嵌入式软件系统的仿真速度。
Description
技术领域
本发明涉及仿真技术领域,尤其涉及一种嵌入式软件系统的仿真方法、系统及装置。
背景技术
通信设备的稳定运行,离不开集成于其中的嵌入式软件系统的可靠运行。为了保证嵌入式软件系统的稳定可靠,需要对嵌入式软件系统进行功能验证,得知其与硬件进行交互的数据,从而进行可靠性的分析。如果在实际应用的环境下对嵌入式软件系统的功能进行验证,需要事先准备硬件环境,费用较高,并且由于与硬件进行交互时,数据不可见,当检测出嵌入式软件系统存在问题时,也很难将该问题进行具体的定位。因此,在现有技术中通常的做法是,在一种便于测试的开发环境中对嵌入式软件系统进行功能验证。例如在微软公司的Windows操作系统中进行功能测试等。
首先,在对嵌入式软件系统进行测试时,需要根据该软件系统与硬件进行的交互,编写测试桩函数(Stub Function,SF),实现对嵌入式软件系统与硬件接口的模拟。在操作系统中为了仿真待测试软件模块(Tested Software Module,TSM),需要编写TSM与硬件进行交互的接口SF。并且,SF需要根据TSM的不同功能分别进行编写,即不同的TSM的功能通常对应不同的SF。然后,将TSM与SF集成在一起运行,进行功能的验证。如图1所示,在仿真系统中桩函数SF1(1...m),SF2(1...n)......SFn(1...p)与TSM及Windows OS相连。仿真不同的软件功能对应不同的SF集合,需要编写不同的测试版本。
由于每个TSM与硬件的接口通常包括多个,因此,需要针对该每个接口编写对应的SF,当同时该对应的SF有多种形态(功能仿真中不同的SF形态验证TSM某功能的一部分)时,其需要的测试版本就会很多。例如,当测试TSM的某功能仿真中存在X个SF,每个SF具有Y中形态,那么需要的测试版本就有X×Y种。因此,在对TSM进行功能仿真前,对SF的编写需要浪费很多的时间,从而影响了TSM仿真的效率。
发明内容
有鉴于此,本发明实施例提供一种嵌入式软件系统的仿真方法、系统及装置,用以解决现有技术中对嵌入式软件系统仿真过程中效率低的问题。
本发明实施例提供的一种嵌入式软件系统的仿真方法,仿真客户端SC向仿真服务器SS发起桩数据初始请求信息,请求被调用到的桩函数SF所需的配置数据信息,并接收所述配置数据信息,该仿真方法包括:
SC中被调用到的SF接收待测试软件模块TSM输出的第一数据信息,根据设置的第一数据信息与配置数据信息的对应关系,将与所述第一数据信息对应的配置数据信息提供给所述TSM,并向SS提供所述第一数据信息。
本发明实施例提供的一种嵌入式软件系统的仿真系统,包括:
仿真客户端SC,用于向仿真服务器SS发起桩数据初始请求信息,请求被调用到的桩函数SF所需的配置数据信息,并接收所述配置数据信息,接收待测试软件模块TSM输出的第一数据信息,根据设置的第一数据信息与配置数据信息的对应关系,将与所述第一数据信息对应的配置数据信息提供给所述TSM,并向SS提供所述第一数据信息;
仿真服务器SS,用于接收所述SC发送的桩数据初始请求信息,并根据所述桩数据初始请求信息向所述SC提供SF所需的配置数据信息,并接收所述SC发送的第一数据信息。
本发明实施例提供了一种仿真客户端装置,包括:
待测试软件模块TSM,与SF模块相连,用于被仿真验证,向SF输出第一数据信息;
SF模块,与所述TSM及桩函数客户端SFC相连,包括至少一个SF,用于对TSM进行验证,接收所述TSM输出的第一数据信息,并根据该第一数据信息对应的输出参数,在所述配置信息中查找所述输出参数对应的第二数据信息,将查找到的第二数据信息提供给所述TSM,并将所述第一数据信息发送到所述SFC;
SFC,与所述SF模块相连,用于从SS获取被调用到的桩函数SF所需的配置数据信息,并将所述配置数据信息发送到SF模块,接收SF模块中被调用到的SF发送的第一数据信息,并将所述第一数据信息发送到SS,其中,该配置数据信息包含TSM输出第一数据信息后需要从硬件获取的第二数据信息。
本发明实施例提供了一种嵌入式软件系统的仿真方法、系统及装置,该方法包括:SC从SS获取被调用到的SF所需的配置数据信息,所述配置数据信息包含TSM输出第一数据信息后需要从硬件获取的第二数据信息,SC中被调用到的SF接收TSM向硬件输出的第一数据信息,根据所述第一数据信息对应的输出参数,在所述配置数据信息中查找所述输出参数对应的第二数据信息,将查找到的第二数据信息提供给所述TSM,并向SS提供所述第一数据信息,由于仿真的功能已知,即从TSM每个功能接口输出至硬件的第一数据信息已知,并且需要从硬件获取的第二数据信息也为已知的,只需根据功能仿真的需要进行数据信息的配置,在SF中只要确定该第一数据信息对应的输出参数,当采用不同的第一数据信息时,只要对应的配置数据信息不同即可,该桩函数编写简单,只需要一次数据信息的配置即可进行后续重复仿真过程,因此可以有效提高嵌入式软件系统的仿真速度。
附图说明
图1为现有技术中的对嵌入式软件系统进行仿真的仿真系统结构示意图;
图2为本发明实施例提供的仿真系统结构示意图;
图3为本发明实施例提供的SD单元中存储的文件形式示意图;
图4为本发明实施例提供的桩数据初始请求信息的格式示意图;
图5为本发明实施例提供的桩数据初始响应信息示意图;
图6为本发明实施例提供的桩数据通告信息示意图;
图7为本发明实施例提供的桩数据使用终止消息示意图;。
图8为本发明实施例提供的对嵌入式软件系统进行仿真的过程。
具体实施方式
本发明实施例中为了有效提高对嵌入式软件系统的仿真速度,提供了一种嵌入式软件系统的仿真方法,该方法包括:仿真客户端(Simulation Client,SC)从仿真服务器(Simulation Server,SS)获取被调用到的SF所需的配置数据信息,所述配置数据信息包含TSM输出第一数据信息后需要从硬件获取的第二数据信息,SC中被调用到的SF接收TSM向硬件输出的第一数据信息,根据所述第一数据信息对应的输出参数,在所述配置数据信息中查找所述输出参数对应的第二数据信息,将查找到的第二数据信息提供给所述TSM,并向SS提供所述第一数据信息,由于仿真的功能已知,即从TSM每个功能接口输出至硬件的第一数据信息已知,并且需要从硬件获取的第二数据信息也为已知的,只需根据功能仿真的需要进行数据信息的配置,在SF中只要确定该第一数据信息对应的输出参数,当采用不同的第一数据信息时,只要对应的配置数据信息不同即可,该桩函数编写简单,只需要一次数据信息的配置即可进行后续重复仿真过程,因此可以有效提高嵌入式软件系统的仿真速度。
下面结合说明书附图,对本发明实施例进行详细说明。
在本发明实施例中,验证嵌入式软件系统与硬件接口的桩函数只需要一个,即针对该嵌入式软件系统验证只需要一个测试版本。该测试版本中包含的每个桩函数为支持动态数据配置的桩函数,并且每个这样的桩函数可以验证该嵌入式软件系统与硬件交互的对应接口功能的几部分或全部。
图2为本发明实施例中的仿真系统结构示意图,在该仿真系统中包括:SC 和SS。其中,SC包括:TSM、SF模块和桩函数客户端(Stub Function Client,SFC)。SS包括:桩函数服务器(Stub Function Server,SFS)、桩数据(Stub Data,SD)模块和人机接口(Human Machine Interface,HMI),当然还包括与SC和SS连接的开发平台Windows OS。
在SC中,TSM为被仿真验证的模块,SF模块中包括验证TSM与硬件交互的每个接口功能的一部分或几部分的SF的集合,其中该集合中包括一个或几个SFi,i为从1到n的正整数,n不大于TSM与硬件交互的接口的总数目。其中,该SF模块中包括多个SF,每个SF可以对TSM与硬件所有接口的某一功能进行验证,或者每个SF可以对TSM的每个与硬件接口的不同功能进行验证。SFC为SC与SS之间通信的客户端,SFC将SC中TSM需要输出给硬件的数据信息发送到SS,例如将控制命令发送到SS,并且SFC在仿真过程中也将从SS中接收TSM需要从硬件获取的数据信息,例如硬件的状态信息等。
在SS中,SFS为桩函数数据配置服务器,SFS可以实现桩函数配置数据信息的下载,即实现桩函数的配置数据信息由SS下载到SC,并且,该SFS同样也可以实现桩函数配置数据信息的上传,即实现桩函数的配置数据信息由SC上传到SS。SD模块为仿真过程中TSM需要从硬件获取的第二数据信息的存储模块,并且,该SD模块中还包括TSM输出至硬件的第一数据信息。HMI是仿真过程中实现人机交互的接口,在仿真过程中可以通过该HMI完成每个SF所需的配置数据信息的输入或导入,并且通过该HMI也可以观测仿真过程中TSM输出至硬件的第一数据信息,SFS为实现SS与SC之间的通信:TSM将输出至硬件的第一数据信息通过SF发送到SFC,SFC将接收的第一数据信息发送到SFS,由SFS将该第一数据信息发送到HMI进行保存显示。
为了实现每个桩函数对嵌入式软件系统与硬件对应接口功能的验证,在本发明实施例中,提供了一种SF的实现方式。在该SF的实现方式中,由于验证TSM与硬件交互接口的SF的数据信息对应的参数类型有多种,包括输入型参数、输入/输出型参数以及输出型参数,并且上述参数又可以分为指针型参数和 非指针型参数,如果从参数是否有返回值区分,又可以分为无返回值型参数(VOID)和有返回值型参数。并且该有返回值型参数也可以分为指针型参数和非指针型参数。在本发明实施例中可以按照参数的数据流向对每个参数进行具体的区分,具体包括:
在桩函数模块中,为每个SF分配一个SF标识(SF Identification,SFID),并且在仿真系统中每个SF的SFID唯一,在每个SF中划分不同的数据块,按照每个SF中参数的数据流向进行区分存储。在本发明实施例中,在每个SF中划分的数据块包括:输入数据块(Input Data Block,IDB)和/或输出数据块(Output Data Block,ODB)。当参数的数据流向是从TSM到硬件时,在IDB中缓存该参数,当参数的数据流向是从硬件到TSM时,在ODB中缓存该参数。在上述IDB和ODB中缓存的参数是按照参数的数据流向进行区分的,不考虑参数为指针类型参数还是非指针类型参数。并且,在本发明实施例中,在IDB和ODB中缓存的参数当为指针型参数时,可以根据指针所指的实际存储空间的大小,在对应的数据块中划分对应的存储空间进行具体的缓存。
由于在对TSM仿真的过程中,TSM每个与硬件的接口的功能是明确且预知的,即对于特定接口的功能,其输出至硬件的第一数据信息是确定的,例如,当每个SF为对TSM与硬件的所有接口的某一功能进行验证,而在该时刻,该TSM的所有接口输出至硬件的第一数据信息为确定的,当每个SF为对TSM的每个与硬件接口的不同功能进行验证,每个接口每个时刻输出至硬件的第一数据信息为确定的。同时,由于TSM仿真的功能是明确且预知的,TSM与硬件进行交互时,需要从硬件获取的第二数据信息也是确定并可以提前预知的,例如,当每个SF为对TSM与硬件的所有接口的某一功能进行验证,而在该时刻,该TSM的所有接口需要从硬件获取的第二数据信息为预知的,当每个SF为对TSM的每个与硬件接口的不同功能进行验证,每个接口每个时刻需要从硬件获取的第二数据信息为预知的。
因此,可以根据仿真过程中TSM向硬件输出的第一数据信息,即根据每 个SF的IDB中缓存的数据信息,判断TSM功能的可靠性,并且,可以根据仿真功能的要求预先定义配置TSM需要从硬件获取的第二数据信息,由于TSM需要从硬件获取的第二数据信息可以提前配置,因为,可以根据仿真功能的需要,配置仿真功能所需的第二数据信息,从而实现对该TSM仿真功能的验证。
在本发明实施中,每个SF可以对TSM与硬件交互的对应接口的功能进行验证,并且,该SF可以验证该对应接口的功能的多个部分。例如对TSM仿真的功能中,存在验证TSM与硬件接口功能的SF包括:
int sf_sample(int p1,int*p2,int*p3,int*p4)
在此SF中包括:第一参数p1、第二参数p2、第三参数p3和第四参数p4。其中该p1为整型且为输入型,p2为整型指针且为输入型,p3为整型指针且为输入输出型,p4为整型指针且为输出型。
由于在该SF中,第一参数p1、第二参数p2和第三参数p3为输入型参数,输入型参数的数据流向为从TSM到硬件,因此与该输入型参数对应的数据信息缓存在IDB中,第三参数p3和第四参数p4为输出型参数,输出型参数的数据流向为从硬件到TSM,因此,将该输出型参数对应的数据信息缓存在ODB中,其中,该SF中的IDB的定义方法可以通过以下方式实现:
int sf_sample_p1;//此变量用于存储p1输入的信息。
int sf_sample_p2;//此变量用于存储p2输入的信息。
int sf_sample_p3;//此变量用于存储p3输入的信息。
该SF中的ODB的定义方法可以通过以下方式实现:
int sf_sample_p3;//此变量用于存储p3输出的信息。
int sf_sample_p4;//此变量用于存储p4输出的信息。
int sf_sample_retv;//此变量用于存储函数的返回值。
其中,由于桩函数sf_sample需要有返回值,int sf_sample_retv为向TSM提供不同的返回值,并且该返回值需要在ODB中给出。
在本发明实施例中,每个SF中划分IDB和ODB分别进行输入数据信息和输出数据信息的缓存。由于SD模块可以实现对SF所需参数的配置,因此,在SD模块中可以针对每个SF对应设置一个SD单元,该SD单元可以实现对对应的SF提供配置数据信息,其中,该SD单元也具有一个唯一的SDID,在具体进行配置数据信息的下载或上传的过程中,根据SF的SFID与对应的SD单元的SDID的对应关系,将对应的配置数据信息下载或上传。为了便于实现,该SDID可以与对应的SF的SFID相同,从而可以节省对应关系的查找,进而提高配置数据信息的上传和下载的速度。
每个SD单元用于缓存对应的SF与TSM进行交互的数据信息,并且也可以根据该数据信息的数据流的流向,在每个SD单元划分出IDB和/或ODB,其中,每个SD单元IDB中缓存的数据信息为TSM功能仿真过程中输入到对应的SF的第一数据信息,该第一数据信息根据TSM的向硬件的输出获得,无需提前配置,ODB中缓存的数据信息为仿真过程中TSM需要从硬件获取的第二数据,即从对应的SF获取的第二数据信息,由于该第二数据信息可以根据验证的接口的功能提前预知,因此可以在仿真前预先配置。
由于本发明实施例中,对于验证TSM某功能的每个部分时,可能需要不同的输入数据信息,并且对应该不同的输入数据信息会有不同的输出数据信息。由于对TSM某功能的每个部分进行验证时,可以提前预知TSM的每个接口输出至硬件的数据信息,并且可以提前预知对应每个接口应当向TSM返回的数据信息,即对于验证TSM某功能的每个部分时,当TSM向硬件输出不同的数据信息时,硬件需要根据该不同的数据信息提供对应的响应数据信息,并且该输出的数据信息以及提供的对应的响应数据信息都为提前预知的。在本发明实施例中对TSM仿真只需要准备一个测试版本,可以通过在SD模块中对应的SD单元中配置该提供给TSM的不同数据信息,即对于IDB中不同的输入数据信息,在该SD单元的ODB中有对应的输出数据信息,通过对应SF的实现来建立此关系。
例如,对于验证TSM某功能时,TSM输出不同的数据信息对应的参数值分别为x1和x2,对于SF的实现中,即为对应sf_sample_p1的不同取值为x1和x2,而该输入参数p1对应的输出参数为p3,需要sf_sample_p3的输出值不同,例如该输出值分别对应的值为y1和y2,因此可以通过对该SF中ODB的sf_sample_p3的取值进行扩充实现,具体扩充可以包括:
int sf_sample_p3_1;//此变量用于存储p3输出的信息y1。
int sf_sample_p3_2;//此变量用于存储p3输出的信息y2。
int sf_sample_p4;//此变量用于存储p4输出的信息。
int sf_sample_retv;//此变量用于存储函数的返回值。
可以理解为在本发明实施例中,为了便于对TSM接口的不同功能的验证,在对SF进行编写时,在编写SF对该TSM功能验证的过程时,确定接收到该TSM的每个功能接口输出的第一数据信息时,其中,该第一数据信息包括至少一个数据,根据该第一数据信息对应的输入参数,确定该输入参数对应的输出参数,在配置数据信息中查找该输出参数对应的第二数据信息,将该第二数据信息提供给TSM。
由于对该TSM的不同功能进行仿真验证时,根据验证不同功能的需要,可能对应的输出第一数据信息不同,但是该第一数据信息都至少对应一个输入参数,并且该输入参数通常都会对应一个或多个输出参数,并且由于对于不同的功能该TSM需要从硬件获取的第二数据信息不同,只需对该输出参数配置不同的第二数据信息,即可实现对该TSM的不同功能进行仿真验证。
为了保证TSM的仿真能够多次重复进行,避免在每次仿真之前重复编写SD模块中的相同数据信息。在本发明实施例中,将与每个SF对应的SD单元中的数据信息以文件的形式单独保存,并且,该SD单元中保存的数据信息为IDB内的数据信息和/或ODB内的数据信息。每个SD单元中保存的数据信息的格式如图3所示,其中每个SD单元具有SDID,保存的数据信息为IDB内的数据信息和/或ODB内的数据信息。其中ODB内的数据信息为预先配置数 据信息,IDB内的数据信息为仿真生成的数据信息。
由于每个SD单元中的IDB中保存的数据信息为仿真过程中由TSM输出至对应的SF,从而生成的,对于该对应的SF其根据TSM输出的数据信息,按照设置的输入数据信息与输出数据信息的对应关系,将会生成对应的输出数据信息,该生成的输出数据信息为从该SD单元ODB中下载的原有的配置数据信息。如图3所示,为SD单元中以文本形式存储的IDB和ODB信息,在该存储的信息中包括:SD单元的SDID,存储在该SD单元中的ODB信息以及IDB信息。其中ODB信息为预先配置数据信息,IDB信息为仿真过程中TSM输出的信息,为自动生成无需配置。
由于不同的SF为对TSM不同的接口功能的验证,一般获得输入数据信息都会不同,因此,其对应的SD单元中存储的数据信息也不相同。当与SD单元对应的SF只存在输入时,为了节省SD单元的存储空间,可以不设置IDB,同样,当与SD单元对应的SF只存在输出时,为了节省SD单元的存储空间,则可以不设置ODB,当与SD单元对应的SF存在输入和输出时,则需要在SD单元中设置IDB和ODB。
为了实现在TSM仿真过程中进行桩数据的交互,在本发明实施例中,可以通过SFC和SFS之间的数据信息的实现。SFC和SFS之间进行通信方式的设置,实现SFC和SFS之间数据信息的交互。具体可以包括:按照一定的协议实现SFC和SFS之间的通信,包括:按照常用的传输协议,即用户数据报文协议(User Datagram Protocol,UDP)完成SFC和SFS之间数据信息的交互,可以为SFC和SFS设置IP地址和UDP端口号。例如,为SFC分配的IP地址为:10.0.0.1,UDP端口号为:6666,为SFS分配的IP地址为:10.0.0.2,UDP端口号为:8888。
SFC和SFS在仿真过程中按照交互协议进行桩数据的交互,该交互协议包括:仿真前的交互协议、仿真过程中的交互协议以及仿真后的交互协议,其中该交互协议可以实现仿真前以及仿真过程中的桩数据信息的交互,以及仿真结 束后的消息通知。该交互协议具体包括:
仿真前SC的SFC向SS的SFS发送桩数据初始请求SF_SD_INIT_REQ信息,以获取仿真过程中所需要的SS中SD模块中的桩数据配置数据信息,其中,在该桩数据初始请求中包括需要获取的SD模块中SD单元的SDID,或者在该桩数据初始请求信息中包含需要获取数据信息的SF的SFID,该SFC根据保存的SF的SFID以及存储该SF的配置数据信息的SD单元的SFID的对应关系,确定SDID,并将该SDID携带在该桩数据初始请求信息中。其中,该桩数据初始请求信息的格式如图4所示,在该桩数据初始请求信息中包括:该桩数据初始请求信息的ID,该ID用以区分不同的桩数据初始请求信息,需要获取配置数据信息的SD单元的个数信息SD Number,以及获取配置数据信息的每个SD单元的SDID。
当SFS接收到该桩数据的初始请求信息后,根据该请求信息中包含的SDID,向SFC发送桩数据初始响应SF_SD_INIT_RSP信息,其中该桩数据初始响应信息中包括该SDID所在SD单元的配置数据信息,或者在该桩数据的初始请求信息中包含SFID时,SFS根据保存的SF的SFID以及存储该SF的配置数据信息的SD单元的SFID的对应关系,确定SDID,将该SDID所在SD单元的配置数据信息通过桩数据初始响应信息发送到SFC。如图5所示,该桩数据初始响应信息中包括:该桩数据初始响应信息的ID,该ID用以区分不同的桩数据初始响应信息,提取配置数据信息的SD单元的个数信息SD Number,以及提取配置数据信息的每个SD单元的SDID,以及每个SD单元提供的ODB配置数据信息,对应的SD单元中ODB的长度,可以以字节为单位记录。
仿真过程中当SF被调用时,SFC将该被调用的SF生成的桩数据信息通过桩数据通告SF_IDB_NOTIFY信息发送到SFS,以通过HMI进行显示,其中,该被调用的SF生成的桩数据信息为TSM输出至SF的数据信息,为该SF对应的SD单元中IDB内的数据信息,因此该桩数据通告信息中包括该桩数据信息需要保存到的SD单元的SDID,从而使该桩数据信息能够对应该SDID进行 显示,并可以便于验证结果的分析,并且可以使后续过程中可以使SD模块将该生成的数据信息能够在对应的SD单元中进行存储。并且该桩数据通告信息中也可以包括该被调用到的SF的SFID,SFC或SFS可以根据保存的SFID与SDID的对应关系,确定该桩数据通告信息对应的SD单元。如图6所示,该桩数据通告信息包括:该桩数据通告信息的信息ID,该ID用以标示该信息为桩数据通告信息,SF生成的数据信息对应的SD单元的SDID,该SF生成的第一数据信息,即TSM的输出数据信息,也即对应SD单元的IDB中的数据信息,对应的SD单元中IDB的长度,可以以字节为单位记录。
在仿真结束后,SFC将桩数据使用终止消息发送到SFS,其中该桩数据使用终止消息中包括仿真结束的SF对应的SD单元的SDID,从而使SS将仿真过程中接收的该SD单元的桩数据信息存储到该SD单元内。或者,该桩数据使用终止消息中包括仿真结束的SF的SFID,SFC或SFS,根据保存的SFID与SDID的对应关系,确定与该SF对应的SD单元,从而可以将仿真过程中接收到的SF生成的桩数据信息存储到对应的SD单元内。如图7所示,该桩数据使用终止消息包括:该桩数据使用终止信息的ID,该ID用以区分该信息为桩数据使用终止信息,仿真结束的SF对应的SD单元的个数信息SD Number,以及仿真接收的每个SF对应的SD单元的SDID。
在本发明实施例中,进行嵌入式软件系统仿真之前,需要为SFC和SFS指定IP地址和端口号,并且需要确定该指定的端口号未被其他应用占用;根据待仿真的TSM的功能,确定仿真过程中该TSM需要使用的数据信息,即需要从硬件获取的数据信息,并进行该数据信息的编辑以便SS的加载。该编辑的过程,可以针对TSM的每个功能接口需要的数据信息进行编辑,并以一个单独的文件形式保存。
如图8所示,为本发明实施中对嵌入式软件系统进行仿真的过程,该过程包括:
S801:SS加载配置数据信息,其中,该配置数据信息包括与功能仿真相 关的配置数据信息,包含该TSM实现对应功能输出第一数据信息后需要从硬件获取的第二数据信息,其中该配置信息中包括输出参数以及与输出参数对应的第二数据信息。
S802:SC向SS发送桩数据初始请求信息,其中,该桩数据初始请求信息中包括需要获取配置数据信息的SD模块中SD单元的SDID。
具体包括,该SC中的SFC向SS中的SFS发送桩数据初始请求信息。
S803:SS根据接收到的桩数据初始请求信息中包含的SDID,将该SDID对应的SD单元中的配置数据信息通过桩数据初始响应信息发送到SC,其中,该桩数据初始响应信息中包括提供该配置数据信息的SD单元的SDID。
具体包括:该SS中的SFS接收到该桩数据初始请求信息后,根据该信息中包含的SDID,将该SDID对应的SD单元中的配置数据信息通过桩数据初始响应信息发送到SC中的SFC。
S804:SC接收并存储该桩数据初始响应信息中包含的配置数据信息,并通过桩数据通告消息,将调用到的SF生成的第一数据信息,即缓存在其IDB中的第一数据信息转发到SS。其中该SF生成的第一数据信息,为TSM的输出至硬件的信息,该桩数据通告消息中包括SF生成的第一数据信息需要存储到的对应SD单元的SDID。
具体包括:SC中的SFC接收该桩数据初始响应信息,通知SF模块中对应的SF单元保存该配置数据信息。被调用到的SF接收TSM输出的第一数据信息,将该第一数据信息缓存在其IDB中,通过SFC发送的桩数据通告消息,将该IDB中的第一数据信息发送到SFS,SFS将接收到的第一数据信息发送到对应的SD单元中,该SD单元在IDB内存储该第一数据信息。
S805:SC根据调用到的SF生成的第一数据信息,根据第一数据信息对应的输出参数,在获取的配置数据信息中查找该输出参数对应的第二数据信息,将第二数据信息提供给TSM。
具体包括:SF单元根据接收的第一数据信息,及第一数据信息对应的输 出参数,在ODB获取的配置数据信息中查找该输出参数对应的第二数据信息,将第二数据信息提供给TSM。
S806:SS接收到桩数据通告消息后,根据该桩数据通告信息中包含的SDID,将该桩数据通告消息中包含的SF生成的第一数据信息在该对应的SDID下进行显示。
具体包括:SFS接收到该桩数据通告消息后,将该通告消息发送到HMI,通过HMI在对应的SDID下显示该第一数据信息。
该方法可以使SS将该SF生成的数据信息进行同步显示,以便进行数据信息的分析从而对该TSM的接口进行判断。
S807:仿真结束时,SC将桩数据使用终止信息发送到SS,其中,该桩数据使用终止消息中包含仿真结束的SF对应的SD单元的SDID。
具体包括:SC中的SFC向SS中的SFS发送该桩数据使用终止信息。
S808:SS接收到该桩数据使用终止消息时,根据该桩数据使用终止消息中包含的SDID,从而可以将仿真过程中该SD单元的数据信息存储到该SD单元对应的数据块内。
具体包括:该SFS将该桩数据使用终止信息发送到仿真结束的SF对应的SD单元,通知该SD单元仿真过程结束。
本发明实施例提供了一种嵌入式软件系统的仿真方法、系统及装置,该方法包括:SC从SS获取被调用到的SF所需的配置数据信息,所述配置数据信息包含TSM输出第一数据信息后需要从硬件获取的第二数据信息,SC中被调用到的SF接收TSM向硬件输出的第一数据信息,根据所述第一数据信息对应的输出参数,在所述配置数据信息中查找所述输出参数对应的第二数据信息,将查找到的第二数据信息提供给所述TSM,并向SS提供所述第一数据信息,由于仿真的功能已知,即从TSM每个功能接口输出至硬件的第一数据信息已知,并且需要从硬件获取的第二数据信息也为已知的,只需根据功能仿真的需要进行数据信息的配置,在SF中只要确定该第一数据信息对应的输出参数, 当采用不同的第一数据信息时,只要对应的配置数据信息不同即可,该桩函数编写简单,只需要一次数据信息的配置即可进行后续重复仿真过程,因此可以有效提高嵌入式软件系统的仿真速度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种嵌入式软件系统的仿真方法,其特征在于,包括步骤:
仿真客户端SC从仿真服务器SS获取被调用到的桩函数SF所需的配置数据信息,所述配置数据信息包含待测试软件模块TSM输出第一数据信息后需要从硬件获取的第二数据信息;
所述SC中被调用到的SF接收TSM向硬件输出的第一数据信息,根据所述第一数据信息对应的输出参数,在所述配置数据信息中查找所述输出参数对应的第二数据信息,将查找到的第二数据信息提供给所述TSM,并向所述SS提供所述第一数据信息。
2.如权利要求1所述的方法,其特征在于,所述仿真客户端SC从仿真服务器SS获取被调用到的桩函数SF所需的配置数据信息包括:
所述SC向所述SS发送桩数据初始请求信息;
所述SC通过SS发送的桩数据初始响应信息接收所述配置数据信息。
3.如权利要求2所述的方法,其特征在于,所述桩数据初始请求信息中包括:桩数据SD单元的标识,其中,所述SD单元用于存储所述被调用到的SF所需的配置数据信息。
4.如权利要求1所述的方法,其特征在于,向所述SS提供所述第一数据信息包括:
通过桩数据通告信息将所述第一数据信息提供给所述SS,其中,所述桩数据通告信息中包括所述第一数据信息需要存储到的SD单元的标识。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述SC向所述SS发送桩数据使用终止信息,指示所述SS将所述第一数据信息存储到对应的SD单元。
6.一种嵌入式软件系统的仿真系统,其特征在于,所述系统包括:
仿真客户端SC,用于从仿真服务器SS获取被调用到的桩函数SF所需的配置数据信息,接收待测试软件模块TSM输出的第一数据信息,根据所述第一数据信息对应的输出参数,在所述配置数据信息中查找所述输出参数对应的第二数据信息,将查找到的第二数据信息提供给所述TSM,并向SS提供所述第一数据信息;
仿真服务器SS,用于向所述SC提供配置数据信息,其中,所述配置数据信息包括所述TSM输出第一数据信息后需要从硬件获取的第二数据信息,并接收所述SC发送的第一数据信息。
7.如权利要求6所述的系统,其特征在于,所述SC用于:
向所述SS发送桩数据初始请求信息;通过SS发送的桩数据初始响应信息接收所述配置数据信息。
8.如权利要求7所述的系统,其特征在于,所述SC具体用于:
通过桩数据通告信息将所述第一数据信息提供给所述SS,其中,所述桩数据通告信息中包括所述第一数据信息需要存储到的桩数据SD单元的标识。
9.如权利要求6所述的系统,其特征在于,所述SC还用于:
向所述SS发送桩数据使用终止信息,指示所述SS将所述第一数据信息存储到对应的SD单元。
10.一种仿真客户端装置,其特征在于,包括:
待测试软件模块TSM,与桩函数SF模块相连,用于被仿真验证,向SF输出第一数据信息;
SF模块,与所述TSM及桩函数客户端SFC相连,包括至少一个SF,用于对TSM进行验证,接收所述TSM输出的第一数据信息,并根据该第一数据信息对应的输出参数,在所述配置信息中查找所述输出参数对应的第二数据信息,将查找到的第二数据信息提供给所述TSM,并将所述第一数据信息发送到所述SFC;
SFC,与所述SF模块相连,用于从仿真服务器SS获取被调用到的桩函数SF所需的配置数据信息,并将所述配置数据信息发送到SF模块,接收SF模块中被调用到的SF发送的第一数据信息,并将所述第一数据信息发送到SS,其中,该配置数据信息包含TSM输出第一数据信息后需要从硬件获取的第二数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910081954 CN101859272B (zh) | 2009-04-09 | 2009-04-09 | 一种嵌入式软件系统的仿真方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910081954 CN101859272B (zh) | 2009-04-09 | 2009-04-09 | 一种嵌入式软件系统的仿真方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101859272A CN101859272A (zh) | 2010-10-13 |
CN101859272B true CN101859272B (zh) | 2013-01-09 |
Family
ID=42945191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910081954 Active CN101859272B (zh) | 2009-04-09 | 2009-04-09 | 一种嵌入式软件系统的仿真方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101859272B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294179B (zh) * | 2016-08-22 | 2018-01-19 | 上海亿账通互联网科技有限公司 | 应用程序开发过程中的模拟测试方法及服务器 |
CN111124700B (zh) * | 2018-10-31 | 2023-07-18 | 百度在线网络技术(北京)有限公司 | 仿真软件模型的接入方法和装置 |
CN111352790A (zh) * | 2020-02-20 | 2020-06-30 | Oppo(重庆)智能科技有限公司 | 输入事件上报的测试方法、装置、移动终端以及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158919A (zh) * | 2007-11-07 | 2008-04-09 | 中兴通讯股份有限公司 | 一种数据驱动的单元测试方法 |
-
2009
- 2009-04-09 CN CN 200910081954 patent/CN101859272B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158919A (zh) * | 2007-11-07 | 2008-04-09 | 中兴通讯股份有限公司 | 一种数据驱动的单元测试方法 |
Non-Patent Citations (1)
Title |
---|
费训等.利用GNU工具实现汇编程序覆盖测试.《计算机应用》.2004,第24卷(第12期),第95-98页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101859272A (zh) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111224839B (zh) | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 | |
CN104317749A (zh) | 信息写入方法和装置 | |
CN105450463A (zh) | 硬件设备的调试方法、装置和系统 | |
CN101859272B (zh) | 一种嵌入式软件系统的仿真方法、系统及装置 | |
CN112034732B (zh) | 一种半物理卫星仿真系统及仿真方法 | |
CN104834591A (zh) | 测试autosar软件组件的测试方法及系统 | |
CN105991700A (zh) | 处理语音数据的方法、云端服务器系统和终端设备 | |
CN103647775A (zh) | 一种在网页中进行登录的方法和装置 | |
CN107220169B (zh) | 一种模拟服务器返回定制化数据的方法和设备 | |
CN111371695A (zh) | 服务限流方法及装置 | |
CN112905460A (zh) | 自动化接口测试模拟三方回执的装置及方法 | |
CN112559335A (zh) | 测试方法、装置、设备和存储介质 | |
CN107247661B (zh) | 支持对应用的安装包进行自动化验证的方法和系统 | |
CN115022328B (zh) | 服务器集群以及服务器集群的测试方法、装置和电子设备 | |
CN111930628B (zh) | 一种安全级显示模块图形组态仿真系统及其仿真方法 | |
CN111294250B (zh) | 压力测试方法、装置和系统 | |
CN113535572A (zh) | 服务虚拟化装置及方法 | |
CN103729215A (zh) | 一种以太网板卡数据输入输出方法 | |
CN108628683B (zh) | 数据传输方法和装置 | |
CN114363939B (zh) | 节点模拟测试方法、装置、存储介质、处理器及设备 | |
CN117436405B (zh) | 一种仿真验证方法、装置及电子设备 | |
CN109933434A (zh) | 电子装置及扩展外围设备的方法 | |
CN102799407A (zh) | 基于基板管理控制器进行显示的方法和装置 | |
CN111142139B (zh) | 模拟定位信息获取方法、装置及存储介质 | |
CN111682956B (zh) | 一种网络升级方法、设备、服务器及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |