方法类接口的观测方法、装置、电子设备及存储介质与流程

文档序号:33621688发布日期:2023-03-25 12:16阅读:49来源:国知局
方法类接口的观测方法、装置、电子设备及存储介质与流程

1.本技术涉及车辆软件开发领域,特别涉及一种方法类接口的观测方法、装置、电子设备及存储介质。


背景技术:

2.在使用simulink进行模型开发时,通常采用在模型内部的信号线上添加观测的信号量,并对信号量进行定义,生成对应的观测信号全局量,并结合常用的xcp/ccp协议,实现观测量的实时读取,用于状态观测、问题排查等。
3.相关技术中,基于soa(service-oriented architecture,面向服务的体系架构)架构的软件接口类型主要有通知类和方法类,其中方法类的接口在软件的实施过程中是以函数的形式实现,接口间数据的传递也是通过函数的调用来实现。
4.然而,在软件运行时,关于后期软件维护时所必要的信息,比如内部是否发生了调用、由谁发起了调用、传递了什么参数等,这些信息无法通过直接在信号线上添加观测信号量的方式去获取,亟待解决。


技术实现要素:

5.本技术提供一种方法类接口的观测方法、装置、电子设备及存储介质,以解决在软件运行时,无法通过直接在信号线上添加观测信号量的方式获取内部是否发生调用、发起调用的对象及传递参数等后期软件维护时所需信息的问题,提升测试效率。
6.本技术第一方面实施例提供一种方法类接口的观测方法,包括以下步骤:
7.获取当前函数定义模块被调用时的调用指令,并解析所述调用指令,得到调用所述当前函数定义模块对应的编号值;
8.获取所述当前函数定义模块的被调用次数和多个函数调用模块的发起调用次数;以及
9.根据所述调用指令、所述当前函数定义模块对应的编号值、所述被调用次数和所述发起调用次数生成目标结构提类型,以根据所述目标结构提类型观测方法类接口的全部信息。
10.根据上述技术手段,解决了在软件运行时,无法通过直接在信号线上添加观测信号量的方式获取内部是否发生调用、发起调用的对象及传递参数等后期软件维护时所需信息的问题,提升测试效率。
11.进一步地,在获取所述当前函数定义模块被调用时的调用指令之前,还包括:
12.基于预设的编号策略,对所述多个函数调用模块进行编号。
13.根据上述技术手段,便于清楚函数定义模块被调用时,是由哪一个函数调用发起的调用。
14.进一步地,在获取所述当前函数定义模块被调用次数和所述多个函数调用模块的发起调用次数之后,还包括:
15.判断所述被调用次数和所述发起调用次数是否一致;
16.若所述被调用次数和所述发起调用次数一致,则判定当前调用过程不存在调用缺失;否则,判定当前调用过程存在调用缺失。
17.根据上述技术手段,通过读取双方计数模块的数值判定调用缺失是由于函数调用未发起调用还是函数定义未收到被调用的信息,提高测试精确性。
18.进一步地,在得到调用所述当前函数定义模块对应的编号值之后,还包括:
19.根据所述编号值确定调用端的身份信息,其中,所述调用端包括所述多个函数调用模块。
20.根据上述技术手段,便于清楚函数定义模块被调用时,是由哪一个函数调用发起的调用,获取到调用端的身份信息。
21.本技术第二方面实施例提供一种方法类接口的观测装置,包括:
22.解析模块,用于获取当前函数定义模块被调用时的调用指令,并解析所述调用指令,得到调用所述当前函数定义模块对应的编号值;
23.获取模块,用于获取所述当前函数定义模块的被调用次数和多个函数调用模块的发起调用次数;以及
24.观测模块,用于根据所述调用指令、所述当前函数定义模块对应的编号值、所述被调用次数和所述发起调用次数生成目标结构提类型,以根据所述目标结构提类型观测方法类接口的全部信息。
25.进一步地,在获取所述当前函数定义模块被调用时的调用指令之前,所述解析模块,还用于:
26.基于预设的编号策略,对所述多个函数调用模块进行编号。
27.进一步地,在获取所述当前函数定义模块被调用时的调用指令之前,所述解析模块,还用于:
28.基于预设的编号策略,对所述多个函数调用模块进行编号。
29.进一步地,在得到调用所述当前函数定义模块对应的编号值之后,所述解析模块,还用于:
30.根据所述编号值确定调用端的身份信息,其中,所述调用端包括所述多个函数调用模块。
31.本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的方法类接口的观测方法。
32.本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的方法类接口的观测方法。
33.由此,本技术通过对方法类接口添加编号和计数并整合参数,以达成对方法类接口的观测,解决了在软件运行时,无法通过直接在信号线上添加观测信号量的方式获取内部是否发生调用、发起调用的对象及传递参数等后期软件维护时所需信息的问题,提升测试效率。
34.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
35.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
36.图1为根据本技术实施例提供的一种方法类接口的观测方法的流程示意图;
37.图2为根据本技术的一个实施例的swc模块之间方法类接口调用示意图;
38.图3为根据本技术的一个实施例的方法类接口观测量实现方案示意图;
39.图4为根据本技术实施例的方法类接口的观测装置的方框示意图;
40.图5为根据本技术实施例的电子设备的结构示意图。
41.附图标记说明:10-方法类接口的观测装置、100-解析模块、200-获取模块、300-观测模块、501-存储器、502-处理器、503-通信接口。
具体实施方式
42.下面详细描述本技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
43.下面参考附图描述本技术实施例的方法类接口的观测方法、装置、电子设备及存储介质。针对上述背景技术中提到的在软件运行时,无法通过直接在信号线上添加观测信号量的方式获取内部是否发生调用、发起调用的对象及传递参数等后期软件维护所需信息的问题,本技术提供了一种方法类接口的观测方法,在该方法中,获取当前函数定义模块被调用时的调用指令,并进行解析,得到调用当前函数定义模块对应的编号值,获取当前函数定义模块的被调用次数和多个函数调用模块的发起调用次数,再根据调用指令、对应的编号值、被调用次数和发起调用次数生成的目标结构提类型观测方法类接口的全部信息。由此,解决了在软件运行时,无法通过直接在信号线上添加观测信号量的方式获取内部是否发生调用、发起调用的对象及传递参数等后期软件维护所需信息的问题,提升测试效率。
44.具体而言,图1为本技术实施例所提供的一种方法类接口的观测方法的流程示意图。
45.在介绍本技术实施例的方法类接口的观测方法之前,先简单介绍下其方案原理:
46.(1)如图2所示,在simulink模型中,方法类接口调用发生在各个软件组件swc(如swc1、swc2和swc3)之间,本技术实施例通过多个函数调用(function caller)模块来发起函数调用,使用函数定义(simulink function)模块来实现函数;
47.(2)针对函数调用模块端,给每个函数调用模块添加唯一编号(如函数调用模块1和函数调用模块2),计算累计调用次数,后将编号、调用次数、参数整合成为一个结构体类型,额外添加一根连接线,添加对应结构体类型的观测信号量;
48.(3)针对函数定义模块端,记录正在执行的调用端编号、被调用次数,后将编号、调用次数、正在执行的参数整合成为一个结构体类型,额外添加一根连接线,添加对应结构体类型的观测信号量。
49.如图1所示,该方法类接口的观测方法包括以下步骤:
50.在步骤s101中,获取当前函数定义模块被调用时的调用指令,并解析调用指令,得到调用当前函数定义模块对应的编号值。
51.其中,当前函数定义模块被调用时的调用指令是由函数调用模块发起的,函数定义模块用来实现函数。
52.进一步地,在一些实施例中,在获取当前函数定义模块被调用时的调用指令之前,还包括:基于预设的编号策略,对多个函数调用模块进行编号。
53.其中,预设的编号策略为本领域技术人员预先设定好的,便于后续对多个函数调用模块进行编号操作。
54.可以理解的是,由于一个函数定义模块可以由多个函数调用模块来进行调用,当函数定义模块被调用时,为了清楚是由哪一个函数调用模块发起的调用,本技术实施例将基于预设的编号策略,为每一个函数调用模块进行编号。
55.进一步地,在一些实施例中,在得到调用当前函数定义模块对应的编号值之后,还包括:根据编号值确定调用端的身份信息,其中,调用端包括多个函数调用模块。
56.具体而言,本技术实施例会将每一个函数调用模块的编号通过参数传递到函数定义模块,这样只要读取函数定义模块收到的编号值,就能够获取到调用端的身份信息。
57.在步骤s102中,获取当前函数定义模块的被调用次数和多个函数调用模块的发起调用次数。
58.具体而言,本技术实施例中,函数调用模块和函数定义模块中都添加了用于计数的模块,针对函数调用模块,计数是在每次调用时计数值自动加1,针对函数定义模块,计数值是在每次被调用时计数值自动加1。
59.进一步地,在一些实施例中,在获取当前函数定义模块被调用次数和多个函数调用模块的发起调用次数之后,还包括:判断被调用次数和发起调用次数是否一致;若被调用次数和发起调用次数一致,则判定当前调用过程不存在调用缺失;否则,判定当前调用过程存在调用缺失。
60.可以理解的是,设计添加用于计数的模块是为了确认调用过程中是否存在通信层面丢失的问题,基于soa的架构下,产生调用关系的接口双方很可能位于不同的ecu(electronic control unit,电子控制单元)内部,中间通过以太网来传递调用。这种情况下,在读取到双方计数模块的数值一致时,表明当前调用过程不存在调用缺失;不一致时,表明当前调用过程存在调用缺失,并能够判定缺失是由于函数调用模块未发起调用还是函数定义模块未收到被调用信息。
61.在步骤s103中,根据调用指令、当前函数定义模块对应的编号值、被调用次数和发起调用次数生成目标结构提类型,以根据目标结构提类型观测方法类接口的全部信息。
62.具体而言,将函数调用模块和函数定义模块中调用指令、编号值和调用次数值合并为一个结构提类型,便于后期使用时只需要筛选一个信号就可以观测到方法类接口的全部信息,方便后期查看观测量的数据,按照图3所示添加信号连接线,并定义观测量。
63.根据本技术实施例提出的方法类接口的观测方法,获取当前函数定义模块被调用时的调用指令并进行解析,得到调用当前函数定义模块对应的编号值,获取当前函数定义模块的被调用次数和多个函数调用模块的发起调用次数,再根据调用指令、对应的编号值、被调用次数和发起调用次数生成的目标结构提类型观测方法类接口的全部信息。由此,解决了在软件运行时,无法通过直接在信号线上添加观测信号量的方式获取内部是否发生调用、发起调用的对象及传递参数等后期软件维护所需信息的问题,提升测试效率。
64.其次参照附图描述根据本技术实施例提出的方法类接口的观测装置。
65.图4是本技术实施例的方法类接口的观测装置的方框示意图。
66.如图4所示,该方法类接口的观测装置10包括:解析模块100、获取模块200和观测5模块300。
67.其中,解析模块100,用于获取当前函数定义模块被调用时的调用指令,并解析调用指令,得到调用当前函数定义模块对应的编号值;
68.获取模块200,用于获取当前函数定义模块的被调用次数和多个函数调用模块的发起调
69.用次数;以及
70.0观测模块300,用于根据调用指令、当前函数定义模块对应的编号值、被调用次数和发
71.起调用次数生成目标结构提类型,以根据目标结构提类型观测方法类接口的全部信息。
72.进一步地,在一些实施例中,在获取当前函数定义模块被调用时的调用指令之前,解析模块200,还用于:
73.基于预设的编号策略,对多个函数调用模块进行编号。
74.5进一步地,在一些实施例中,在获取当前函数定义模块被调用次数和多个函数调用模
75.块的发起调用次数之后,获取模块200,还用于:
76.判断被调用次数和发起调用次数是否一致;
77.若被调用次数和发起调用次数一致,则判定当前调用过程不存在调用缺失;否则,判定当前调用过程存在调用缺失。
78.0进一步地,在一些实施例中,在得到调用当前函数定义模块对应的编号值之后,解析
79.模块200,还用于:
80.根据编号值确定调用端的身份信息,其中,调用端包括多个函数调用模块。
81.需要说明的是,前述对方法类接口的观测方法实施例的解释说明也适用于该实施例的方法类接口的观测装置,此处不再赘述。
82.5根据本技术实施例提出的方法类接口的观测装置,获取当前函数定义模块被调用时的调用指令并进行解析,得到调用当前函数定义模块对应的编号值,获取当前函数定义模块的被调用次数和多个函数调用模块的发起调用次数,再根据调用指令、对应的编号值、被调用次数和发起调用次数生成的目标结构提类型观测方法类接口的全部信息。由此,解决
83.了在软件运行时,无法通过直接在信号线上添加观测信号量的方式获取内部是否发生调用、0发起调用的对象及传递参数等后期软件维护所需信息的问题,提升测试效率。
84.图5为本技术实施例提供的电子设备的结构示意图。该电子设备可以包括:
85.存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序。
86.处理器502执行程序时实现上述实施例中提供的方法类接口的观测方法。
87.进一步地,电子设备还包括:
88.通信接口503,用于存储器501和处理器502之间的通信。
89.存储器501,用于存放可在处理器502上运行的计算机程序。
90.存储器501可能包含高速ram(random access memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
91.如果存储器501、处理器502和通信接口503独立实现,则通信接口503、存储器501和处理器502可以通过总线相互连接并完成相互间的通信。总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component,外部设备互连)总线或eisa(extended industry standard architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
92.可选的,在具体实现上,如果存储器501、处理器502及通信接口503,集成在一块芯片上实现,则存储器501、处理器502及通信接口503可以通过内部接口完成相互间的通信。
93.处理器502可能是一个cpu(central processing unit,中央处理器),或者是asic(application specific integrated circuit,特定集成电路),或者是被配置成实施本技术实施例的一个或多个集成电路。
94.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的方法类接口的观测方法。
95.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
96.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
97.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
98.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵
列等。
99.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
100.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1