《一种在AUTOSAR中实现复杂数据到信号组的映射方法.pdf》由会员分享,可在线阅读,更多相关《一种在AUTOSAR中实现复杂数据到信号组的映射方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103176796 A(43)申请公布日 2013.06.26CN103176796A*CN103176796A*(21)申请号 201310048327.1(22)申请日 2013.02.04G06F 9/44(2006.01)(71)申请人浙江大学地址 310027 浙江省杭州市西湖区浙大路38号(72)发明人杨国青 李红 耿莉莉 郭徐吴朝晖(74)专利代理机构杭州天勤知识产权代理有限公司 33224代理人胡红娟(54) 发明名称一种在AUTOSAR中实现复杂数据到信号组的映射方法(57) 摘要本发明公开了在AUTOSAR中实现复杂数据到信号组的映射方法,该方法包。
2、括以下步骤:(1)对复杂数据元素递归获得其简单数据元素,并将该简单数据元素存于数据元素列表中;(2)获得信号组包含的信号并将其存于信号列表中;(3)对于数据元素列表和信号列表,取每一个简单数据元素与每一个信号进行比较,根据是否匹配来完成二分图的构造;(4)对此二分图使用最大匹配算法求最大匹配,判断映射关系是否成功;(5)映射关系成功时,对于最大匹配得到的信号匹配列表,建立简单数据元素到信号的映射关系。该映射方法能自动帮助用户生成复杂数据包含的数据元素到信号组内信号的映射关系,提高了用户开发AUTOSAR的效率。(51)Int.Cl.权利要求书2页 说明书5页 附图6页(19)中华人民共和国国家。
3、知识产权局(12)发明专利申请权利要求书2页 说明书5页 附图6页(10)申请公布号 CN 103176796 ACN 103176796 A1/2页21.一种在AUTOSAR中实现复杂数据到信号组的映射方法,其特征在于,包括以下步骤:(1)对复杂数据进行递归得到简单数据元素,然后将所述简单数据元素存于空的数据元素列表中,得到数据元素列表;(2)获得信号组包含的所有信号,存于信号列表中;(3)对于数据元素列表和信号列表,将所述简单数据元素作为二分图的左子图,将信号作为二分图的右子图,以简单数据元素能映射到信号上作为连接条件,完成二分图的构造;(4)对所述的二分图使用最大匹配算法求最大匹配,如果。
4、所得到的最大匹配值等于信号列表的长度,则转到步骤(5),否则放弃;(5)对于得到的信号匹配列表,在AUTOSAR系统配置模型中建立简单数据元素到信号的映射关系,完成复杂数据到信号组的映射。2.根据权利要求1所述的在AUTOSAR中实现复杂数据到信号组的映射方法,其特征在于,步骤(1)中,对复杂数据进行递归得到简单数据元素的步骤包括:(2.1)建立一个空的数据元素列表,对复杂数据中的数据元素类型进行如下判断和操作:(2.2)如果数据元素类型是简单类型,将其加入数据元素列表中;(2.3)如果数据元素类型是数组类型,获得数组元素和数组长度length,将length个数组元素进行步骤(2.2)的操作。
5、;(2.4)如果数据元素类型是结构体类型,获得所有的结构体元素,将所有的结构体元素进行步骤(2.2)的操作。3.根据权利要求1所述的在AUTOSAR中实现复杂数据到信号组的映射方法,其特征在于,步骤(3)中,所述连接条件的判断方法如下:取每一个简单数据元素与每一个信号进行比较,若简单数据元素的类型能够容纳下信号的长度,则能够连接;否则不能连接。4.根据权利要求1所述的在AUTOSAR中实现复杂数据到信号组的映射方法,其特征在于,所述的复杂数据的类型为数组类型;步骤(5)中,在AUTOSAR系统配置模型中建立简单数据元素到信号的映射关系包括:(5.1)初始i=0;(5.2)获得所述复杂数据的数组。
6、元素和数组长度length;(5.3)遍历数组中的每个数组元素,对于第k个数组元素,建立IndexedArrayElement,index设为k,ArrayElement设为数组元素,信号为最大匹配对应的第i个信号,建立SenderRecArrayElementMapping,i+。5.根据权利要求1所述的在AUTOSAR中实现复杂数据到信号组的映射方法,其特征在于,所述的复杂数据的类型为结构体类型;步骤(5)中,在AUTOSAR系统配置模型中建立简单数据元素到信号的映射关系包括:(5.1)初始i=0;(5.2)获得所述复杂数据包含的所有结构体元素;(5.3)对于第j个结构体元素,建立Send。
7、erRecRecordElementMapping,设置其权 利 要 求 书CN 103176796 A2/2页3RecordElement为第j个结构体元素,信号为最大匹配对应的第i个信号,i+。权 利 要 求 书CN 103176796 A1/5页4一种在 AUTOSAR 中实现复杂数据到信号组的映射方法技术领域0001 本发明涉及汽车电子软件开发技术,尤其是一种在AUTOSAR系统配置模型中实现复杂数据到信号组的映射方法。背景技术0002 AUTOSAR(AUTomotive Open System ARchitecture)是汽车电子开放系统架构,系统配置(System Configu。
8、ration)是AUTOSAR方法论中的一个重要环节,它定义了系统中硬件拓扑、网络通信和系统映射等配置信息,其中系统映射规定了系统中软件组件到电控单元的映射关系,数据元素到网络信号的映射关系,电控单元端口发送接收网络信号关系等,实现了软硬件的解耦。0003 在AUTOSAR系统配置模型中,数据元素到网络信号模型的映射关系分为两大类:发送者接收者通信数据SenderReceiver到网络信号的映射关系,客户端服务器通信数据ClientServer到网络信号的映射关系ClientServerToSignalGroupMapping。发送者接收者通信方式到网络信号的映射关系又分为两种:简单数据Pri。
9、mitiveType到信号Signal的映射SenderReceiverToSignalMapping和复杂数据CompositeType到信号组SignalGroup的映射SenderReceiverToSignalGroupMapping(附图1为其UML静态结构图)。对于SenderReceiver简单通信数据的映射关系表现为数据元素DataElementPrototype到系统信号SystemSignal的映射关系;对于SenderReceiver复杂通信数据的映射关系表现为数据元素DataElementPrototype到系统信号组SystemSignalGroup的映射关系。简单映。
10、射和复杂映射的区别表现为DataElementPrototype的数据类型是简单类型PrimitiveType还是复杂类型CompositeType。0004 在AUTOSAR模型中,复杂类型分为两种数据类型ArrayType数组类型和RecordType结构体类型。ArrayType有数组长度和数组元素ArrayElement,每个数组元素都有一个数据类型DataType;结构体类型有一到多个结构体元素RecordElement,每个结构体元素都有一个数据元素类型DataType(附图2为其UML静态结构图)。0005 在复杂数据到信号组的映射关系中,AUTOSAR模型不仅要求生成复杂数据到。
11、信号组的映射关系,同时复杂数据包含的元素到信号组里每个信号对应的映射关系也要同时生成,对于用户来说,由于有些数据元素比较复杂,信号组包含的信号很多,如果定义了DataElement到信号组的映射关系,能够自动生成复杂数据包含的数据到信号的映射关系,将大大减轻用户工作量,提高采用AUTOSAR开发的效率。0006 综合以上考虑,面对使用AUTOSAR方法开发汽车电子产品的用户,需要提供一种能够正确快速的建立复杂数据内部数据到信号组内部信号的映射关系的方法。发明内容0007 本发明提供了一种在AUTOSAR中实现复杂数据到信号组的映射方法,该映射方法能不仅能产生复杂数据到信号组的映射关系,还能正确。
12、快速地建立复杂数据内部数据到信说 明 书CN 103176796 A2/5页5号组内部信号的映射关系。0008 一种在AUTOSAR中实现复杂数据到信号组的映射方法,包括以下步骤:0009 (1)对复杂数据进行递归得到简单数据元素,然后将所述简单数据元素存于空的数据元素列表中,得到数据元素列表;0010 (2)获得信号组包含的所有信号,存于信号列表中;0011 (3)对于数据元素列表和信号列表,将所述简单数据元素作为二分图的左子图,将信号作为二分图的右子图,以简单数据元素能映射到信号上作为连接条件,完成二分图的构造;0012 (4)对所述的二分图使用最大匹配算法求最大匹配,如果所得到的最大匹配。
13、值等于信号列表的长度,则转到步骤(5),否则放弃;0013 (5)对于得到的信号匹配列表,在AUTOSAR系统配置模型中建立简单数据元素到信号的映射关系,完成复杂数据到信号组的映射。0014 其中,步骤(1)中所述的递归根据AUTOSAR数据模型的UML静态结构关系进行。0015 作为优选,步骤(1)中,对复杂数据进行递归得到简单数据元素的步骤包括:0016 (2.1)建立一个空的数据元素列表,对复杂数据中的数据元素类型进行如下判断和操作:0017 (2.2)如果数据元素类型是简单类型,将其加入数据元素列表中;0018 (2.3)如果数据元素类型是数组类型,获得数组元素和数组长度length,。
14、将length个数组元素进行步骤(2.2)的操作;0019 (2.4)如果数据元素类型是结构体类型,获得所有的结构体元素,将所有的结构体元素进行步骤(2.2)的操作。0020 作为优选,步骤(3)中,所述连接条件的判断方法如下:0021 取每一个简单数据元素与每一个信号进行比较,若简单数据元素的类型能够容纳下信号的长度,则能够连接;0022 否则不能连接。0023 作为优选,所述的复杂数据的类型为数组类型;0024 步骤(5)中,在AUTOSAR系统配置模型中建立简单数据元素到信号的映射关系包括:0025 (5.1)初始i=0;0026 (5.2)获得所述复杂数据的数组元素和数组长度lengt。
15、h;0027 (5.3)遍历数组中的每个数组元素,对于第k个数组元素,建立IndexedArrayElement,index设为k,ArrayElement设为数组元素,信号为最大匹配对应的第i个信号,建立SenderRecArrayElementMapping,i+。0028 作为优选,所述的复杂数据的类型为结构体类型;0029 步骤(5)中,在AUTOSAR系统配置模型中建立简单数据元素到信号的映射关系包括:0030 (5.1)初始i=0;0031 (5.2)获得所述复杂数据包含的所有结构体元素;0032 (5.3)对于第j个结构体元素,建立SenderRecRecordElementMa。
16、pping,设置其说 明 书CN 103176796 A3/5页6RecordElement为第j个结构体元素,信号为最大匹配对应的第i个信号,i+。0033 同现有技术相比,本发明的有益效果体现在:自动帮助用户生成复杂数据包含的数据元素到信号组内信号的映射关系,提高了用户开发AUTOSAR的效率,抛弃了数据元素到信号一对一进行匹配的蛮力、低效实现方案;将映射关系抽象成为一个二分图,利用最大匹配算法求的两者之间的映射关系,实现起来简单高效。附图说明0034 图1为AUTOSAR发送者接收者通信方式复杂映射的UML静态结构图。0035 图2为AUTOSAR数据模型的UML静态结构图。0036 图。
17、3为复杂数据到信号组映射案例结构体数据和信号组的结构。0037 图4为结构体struct_error和信号组errorSigGroup建立的二分图。0038 图5为结构体struct_error和信号组errorSigGroup建立的二分图的最大匹配。0039 图6为数据元素列表建立流程图。0040 图7为利用最大匹配算法求数据元素到信号的最大匹配流程图。0041 图8为建立数据元素到信号的映射关系的流程图。具体实施方式0042 本发明中,在AUTOSAR中实现复杂数据到信号组的映射方法,包括以下步骤:0043 (1)根据AUTOSAR数据模型的UML静态结构关系,对于复杂数据元素递归获得其包。
18、含的简单数据元素,将得到的简单数据元素存于数据元素列表中;0044 (2)对于信号组,获得其包含的所有信号,存于信号列表中;0045 (3)对于数据元素列表和信号列表,取每一个简单数据元素与每一个信号进行比较,若简单数据元素的类型能够容纳下信号的长度,那么此简单数据元素就与此信号匹配,进而将简单数据元素与信号相关联即构造二分图,然后在二分图中将此简单数据元素的节点和与它相匹配的信号的节点相连接,完成二分图的构造;0046 (4)对此二分图使用最大匹配算法求最大匹配,如果最大匹配的值等于信号列表的长度即信号组中包含的信号个数,说明该复杂数据元素能够映射到该信号组上,否则说明映射关系不成功;004。
19、7 (5)映射关系成功时,对于最大匹配得到的信号匹配列表,建立简单数据元素到信号的映射关系。0048 图6为步骤(1)中建立数据元素列表的流程图,如图6所示,数据元素列表的建立包括:0049 (1.1)建立一个空的数据元素列表;0050 (1.2)如果数据元素类型是简单类型,将其加入数据元素列表中,返回;0051 (1.3)如果数据元素类型是数组类型,获得数组元素和数组长度length,对length个数组元素进行(1.2)步骤的操作;0052 (1.4)如果数据元素类型是结构体类型,获得所有的结构体元素,对每个结构体元素进行(1.2)步骤的操作。0053 图7为步骤(3)中利用最大匹配算法求。
20、数据元素到信号的最大匹配流程图,具体说 明 书CN 103176796 A4/5页7包括:0054 数据元素位于二分图的左子图,信号位于二分图的右子图,数据元素能映射到某个信号上作为可以相关联的条件,然后利用最大匹配算法求的数据元素到信号的映射关系。0055 图8为步骤(5)中建立数据元素到信号的映射关系的流程图,如图8所示,具体步骤包括:0056 (5.1)初始i=0;0057 (5.2)对于该复杂数据元素,如果其是结构体类型,建立SenderRecRecordTypeMapping,获得其包含的所有结构体元素,到步骤(5.3);0058 如果其类型是数组类型,建立SenderRecArra。
21、yTypeMapping,获得数组元素和数组长度,到步骤(5.4);0059 (5.3)对于第j个结构体元素,建立SenderRecRecordElementMapping,设置该结构体元素为该数据元素,信号为最大匹配对应的第i个信号,i+;如果该结构体元素的类型是复杂类型,回到步骤(5.2),否则退出;0060 (5.4)对于第k个数组元素,建立SenderRecArrayElementMapping,建立IndexedArrayElement,index设为k,ArrayElement设为数组元素,信号为最大匹配对应的第i个信号,i+;如果该数组元素的类型是复杂类型,回到步骤(5.2),否。
22、则退出。0061 下面结合附图和实施例对本发明作进一步说明:0062 实施例10063 本实施例所使用的复杂数据为DataElement类型为结构体struct_error,信号组为信号组errorSigGroup,他们的组成情况见附图3,具体的映射步骤如下:0064 (1)获得struct_error包含的数据元素列表dataList(包含status_1,status_2,status_3,cellOnVolt_i3,cellOffVolt_i2,leakage_i2,timer_i4),如附图3的左半部分所示;0065 (2)对于信号组errorSigGroup,获得其包含的所有信号的信。
23、号列表signalList(包含statusSig_1,statusSig_3,statusSig_3,cellOnVoltSig,cellOffSig,leakageSig,timerSig),如附图3的右半部分所示;0066 (3)取dataList中每一个数据元素与signalList中的每一个信号进行比较,若数据元素的类型能够容纳下信号的长度,那么此数据元素就与此信号匹配,进而将数据元素与信号相关联即构造二分图,在二分图中将此数据元素节点和与它相匹配的信号节点相连接,这样二分图构造完成,如附图4所示;0067 (4)对此二分图使用最大匹配算法求最大匹配,如果最大匹配的值为7等于信号列表。
24、的长度,说明struct_error能够映射到errorSigGroup上;0068 (5)得到的最大匹配信号列表maxMatchSignalList,元素为statusSig_1,statusSig_3,statusSig_3,cellOnVoltSig,cellOffSig,leakageSig,timerSig;0069 (6)根据maxMatchSignalList,建立映射关系,对于struct_error中的第k个结构体元素,建立一个SenderRecRecordElementMapping,设置其信号为maxMatchSignalList的第k个元素,完成映射关系的新建,如附图5所示。0070 虽然通过上述具体实例对本发明进行了说明,但是本发明并不局限于上述实例,说 明 书CN 103176796 A5/5页8对于本领域的相关人员,可以根据本发明的技术方案和思想,作出其他各种改变和变形,而所有这些都应该属于本发明权利要求的保护范围内。说 明 书CN 103176796 A1/6页9图1说 明 书 附 图CN 103176796 A2/6页10图2图3说 明 书 附 图CN 103176796 A10。