CN102611741A - 从autosar系统配置模型中提取通信矩阵的方法 - Google Patents
从autosar系统配置模型中提取通信矩阵的方法 Download PDFInfo
- Publication number
- CN102611741A CN102611741A CN2012100371746A CN201210037174A CN102611741A CN 102611741 A CN102611741 A CN 102611741A CN 2012100371746 A CN2012100371746 A CN 2012100371746A CN 201210037174 A CN201210037174 A CN 201210037174A CN 102611741 A CN102611741 A CN 102611741A
- Authority
- CN
- China
- Prior art keywords
- physical channel
- ecu
- data link
- communication
- link layer
- 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.)
- Granted
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了从AUTOSAR系统配置模型中提取通信矩阵的方法,包括:分析并获得从AUTOSAR系统中通信簇的通信矩阵信息;确定需要分析的通信簇,获得该通信簇包含的物理信道;获取系统中所有和所述通信簇有连接关系的电控单元,建立所述电控单元包含的电控单元通信接口到物理信道链表的哈希表;获取每个物理信道上连接的帧触发,得到所述帧触发对应的数据链路层帧,建立物理信道到数据链路层帧链表的哈希表;计算每个数据链路层帧包含的系统信号,建立系统信号到数据链路层帧链表的哈希表;建立通信矩阵有向图,可以将由于多层AUTOSAR体系对网络信号配置可能产生错误的隐患,提前至系统配置阶段,增加了开发效率。
Description
技术领域
本发明涉及汽车电子软件开发技术,尤其是涉及从AUTOSAR系统配置模型中提取通信矩阵的方法。
背景技术:
AUTOSAR(AUTomotive Open System ARchitecture)是汽车电子开放系统架构,系统配置(System Configuration)是AUTOSAR方法论中的一个重要环节,它定义了系统中硬件拓扑、网络通信和系统映射等配置信息,其中系统映射规定了系统中软件组件到电控单元的映射关系,数据元素到网络信号的映射关系,电控单元端口发送接收网络信号关系等,实现了软硬件的解耦。
硬件拓扑规定了系统中的硬件信息,表现为电控单元和总线的连接方式,是系统配置的基础,它包括的元素有:电控单元(ECUInstance),通信控制器(CommunicationController),连接器(Connector),电控单元通信端口(EcuCommunicationPort),通信簇(CommunicationCluster)和物理信道(PhysicalChannel)等。
网络通信规定了系统中电控单元间通信的信息交换格式,是系统配置不可缺少的组成成分。依据AUTOSAR的网络通信分层模型,其主要元素包括应用层系统信号(SystemSignal)、交互层信号(ISignal),交互层通信数据单元(IPdu),数据链路层帧(Frame)等,交换的数据经过各层封装成数据链路层的帧,在物理信道中传输。
系统配置中定义了软硬件的映射关系,规定了软件组件到电控单元的映射关系,具体的数据元素到应用层网络信号的映射关系,连接到物理信道上的电控单元通信端口到数据链路层帧的映射关系。
AUTOSAR系统配置很好的实现了软硬件的分离,系统映射关注于如何将软件和硬件的映射关联起来。
随着汽车电子软件规模不断增大,汽车上的软件组件和电控单元数量不断增多,导致开发成本不断增大;其次,AUTOSAR网络元素层次复杂,同时,AUTOSAR标准中并未定义出一套用于网络信号检查和管理的机制,也没有对电控单元通信端口发送接收数据链路层帧做出任何明确约束。最后,当系统配置阶段元素众多,加上和硬件拓扑关系复杂,在实际工程开发中后续会发现原先定义的网络配置甚至系统映射错误,造成工程开发的延误。而由于AUTOSAR复杂的层次关系导致简单的验证规则实施起来比较困难,因此迫切需要提供一种对系统配置验证的简单高效的方法。
综上,面对使用AUTOSAR方法开发汽车电子产品的特殊需求,针对以网络通信为基础的电控单元间通信和汽车电子领域的特点,需要一种正确高效地验证AUTOSAR系统配置元素的方法。
发明内容
为了克服在AUTOSAR方法论开发过程中系统配置容易出错,验证规则难以实施的缺点,本发明提供了一种从AUTOSAR系统配置中提取通信矩阵的方法,通过通信矩阵的验证规则来达到对系统配置信息的验证。
为了解决上述技术问题,本发明的技术方案如下:
1.从AUTOSAR系统配置模型中提取通信矩阵的方法,包括如下步骤:
1)分析并获得从AUTOSAR系统中通信簇的通信矩阵信息;
2)确定需要分析的通信簇,获得该通信簇包含的物理信道;
3)获取系统中所有和所述通信簇有连接关系的电控单元,建立所述电控单元包含的电控单元通信接口到物理信道链表的哈希表;
4)获取每个物理信道上连接的帧触发,得到所述帧触发对应的数据链路层帧,建立物理信道到数据链路层帧链表的哈希表;
5)计算每个数据链路层帧包含的系统信号,建立系统信号到数据链路层帧链表的哈希表;
6)建立通信矩阵有向图,所述通信矩阵有向图以所述电控单元通信端口为顶点,网络信号为边的有向图,所述边表示系统信号在两个电控单元通信端口之间传输。
2.根据权利要求1所述的从AUTOSAR系统配置模型中提取通信矩阵的方法,其特征在于,所述步骤3)中建立电控单元通信端口到物理信道链表的哈希表的具体步骤包括:
21)获取系统中包含的电控单元;
22)对每个电控单元,获得其包含的连接器;
23)对每个连接器获得连接的物理信道,如果物理信道不被通信簇包含,则跳过;否则,获得该连接器包含的电控单元通信端口,建立电控单元通信端口到物理信道链表的映射。
3.根据权利要求1所述的从AUTOSAR系统配置模型中提取通信矩阵的方法,其特征在于,所述步骤5)中建立系统信号到数据链路层帧链表的哈希表的具体步骤包括:
31)获取数据链路层帧包含的交互层通信数据单元;
32)获取交互层通信数据单元包含的交互层信号;
33)获取交互层信号引用的抽象信号;
34)如果抽象信号是一种系统信号组,得到系统信号组包含的系统信号,添加每个系统信号到数据链路层帧链表的映射;如果抽象信号是一种系统信号,则直接添加系统信号到数据链路层帧链表的映射。
4.根据权利要求1所述的从AUTOSAR系统配置模型中提取通信矩阵的方法,其特征在于,所述步骤6)中建立通信矩阵有向图的具体步骤包括:
41)获得电控单元通信端口到物理信道链表的哈希表,以电控单元通信端口到物理信道链表的哈希表中的关键字为顶点建立一个通信矩阵有向图;
42)在系统信号到数据链路层帧链表的哈希表中,对每个系统信号,找到其对应的键值数据链路层帧链表;
43)对数据链路层帧链表中的每个数据链路层帧,在物理信道到数据链路层帧链表的哈希表中,寻找值包含该数据链路层帧的所有的映射关系,获得所有的键值物理信道链表;
44)对每个物理信道,在电控单元通信端口到物理信道链表的哈希表中,寻找值包含该物理信道的所有映射关系,获得所有的键值电控单元通信端口链表;
45)在每个系统信号到电控单元通信端口聊表的映射关系中,对于链表中方向为发送的通信端口,建立到列表中方向为接收的通信端口的有向边,边的权值为系统信号。
本发明具有如下有益效果:
1.本发明可以将由于多层AUTOSAR体系对网络信号配置可能产生错误的隐患,提前至系统配置阶段,增加了开发效率。
2.本发明针对AUTOSAR标准,生成的通信矩阵模型具有通用性,在汽车电子领域广泛使用,增加了AUTOSAR标准和其它汽车电子工业标准的融合,适应产业发展水平。
3.本发明生成的通信矩阵模型方便用户查看网络信号(帧)在网络中发送和接收的情况,可视化了用户的配置,增加了AUTOSAR系统配置工具的用户友好性。
附图说明
图1本发明实施案例对应的系统配置模型;
图2本发明分析并获得系统中的对应通信簇的通信矩阵信息;
图3本发明建立电控单元通信端口到物理信道链表的哈希表;
图4本发明建立系统信号到数据链路层帧链表的哈希表;
图5本发明建立通信矩阵有向图;
图6本发明实施案例建立的通信矩阵有向图对应的连接矩阵表现形式。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
本发明的技术构思是:通过对AUTOSAR系统配置中硬件拓扑、网络配置、系统映射的信息进行分析,提取其中的通信信息,建立汽车电子领域常用的通信矩阵模型,对系统配置是否正确、合理进行验证,将错误验证提早到AUTOSAR方法论的系统配置阶段。
AUTOSAR硬件脱坡模型包括:电控单元(ECUInstance),连接器(Connector),电控单元通信端口(ECUCommunicationPort),通信簇(CommunicationCluster),物理信道(PhysicalChannel)等。连接器连接在物理信道上,表示通过该信道传输帧,电控单元通信端口定义要传输的帧。
AUTOSAR网络通信模型分为应用层、交互层、数据链路层。一个数据链路层帧(Frame)中的有效载荷区可以包含一个或多个交互层协议数据单元(IPdu),对于常见的CAN网络或LIN网络,Frame中只能包含一个IPdu。每个IPdu中可能包含一个或多个交互层信号(ISignal),每个ISignal只能引用一个系统信号(SystemSignal)或系统信号组(SystemSignalGroup)。AUTOSAR系统映射定义了包括电控单元通信端口发送数据链路层帧等的映射关系。
实施例一:
如附图1所示,描述该模型包含的元素:
(1)文件中包含两个电控单元信息ecu1和ecu2,一个通信簇bus1和一个数据链路帧frame1
(2)ecu1中包含一个连接器ecu1_connector1,ecu2中包含一个连接器ecu2_connector1,ecu1_connector1包含一个通信端口ecu1_port1,ecu2_connector1包含一个通信端口ecu2_port1
(3)bus1中包含一个物理信道physicalchannel1,physicalchannel1包含一个帧触发frameTrigger1,frameTrigger1引用frame1和ecu1_port1、ecu2_port1
(4)frame1包含交互层通信数据单元ipdu1,ipdu1包含交互层信号iSignal1,iSignal引用抽象信号sysSignal1
在附图1系统配置模型中提取通信矩阵的方法,包括以下步骤:
1、如附图2,从文件中获得系统中的对应通信簇的通信矩阵信息,计算得到系统配置模型中通信矩阵有向图;
1.1确定需要分析的通信簇bus1,获得通信簇包含的物理信道为physicalchannel1;
1.2从文件中获得系统中所有和该通信簇bus1有连接关系的电控单元:ecu1和ecu2,建立电控单元包含的电控单元通信端口到物理信道链表的哈希表,为ecu1_port1到physicalchannel1,ecu2_port1到physicalchannel1的映射关系,如表1所示;
表1
键 | 值 |
ecu1_port1 | physicalchannel1 |
ecu2_port1 | physicalchannel1 |
1.3获得physicalchannel1上连接的帧触发frameTrigger1,获得frameTrigger1对应的数据链路层帧frame1,建立物理信道到数据链路层帧的哈希表,为physicalchannel1到frame1的映射关系,如表2所示;
表2
键 | 值 |
physicalchannel1 | frame1 |
1.4获得frame1包含的系统信号SysSignal1,建立系统信号到数据链路层帧链表的哈希表,为sysSignal1到frame1的映射关系,如表3所示;
表3
键 | 值 |
sysSignal1 | frame1 |
1.5建立通信矩阵有向图:以电控单元通信端口为顶点,网络信号为边的有向图,有向边表示系统信号在两个电控单元通信端口之间传输;
如附图3所示,步骤1.2建立电控单元通信端口到物理信道链表的哈希表的步骤包括:
1.2.1从文件中获得系统中包含的电控单元:ecu1和ecu2
1.2.2获得ecu1包含的连接器为ecu1_connector1,ecu2包含的连接器为ecu2_connector1
1.2.3对于ecu1_connector1,其连接的物理信道physicalchannel1被bus1包含,获得其包含的电控单元通信端口ecu1_port1,建立ecu1_port1到physicalchannel1的映射;同理,对于ecu2_connector2,建立ecu2_port1到physicalchannel1的映射
如附图4所示,步骤1.4建立系统信号到数据链路层帧链表的哈希表的步骤包括:
1.4.1获得数据链路层帧frame1包含的交互层通信数据单元ipdu1
1.4.2获得ipdu1包含的交互层信号isignal1
1.4.3获得isignal1引用的抽象信号sysSignal1
1.4.4sysSignal1是一种系统信号,建立sysSignal1到frame1的映射
如附图5所示,步骤1.5建立通信矩阵有向图的步骤如下:
1.5.1以ecu1_port1和ecu2_port2为顶点,建立通信矩阵有向图
1.5.2在系统信号到数据链路层帧链表的哈希表中,对sysSignal1,找到其对应的键值数据链路层帧为frame1
1.5.3对frame1,在物理信道到数据链路层帧链表的哈希表中,寻找值包含该数据链路层帧frame1的所有的映射关系,获得所有的键值物理信道为physicalchannel1
1.5.4对physicalchannel1,在电控单元通信端口到物理信道链表的哈希表中,寻找值包含该物理信道physicalchannel1的所有映射关系,获得所有的键值电控单元通信端口链表,包括ecu1_port1和ecu2_port1
1.5.5则得到sysSignal1到ecu1_port1和ecu2_port1的映射关系,ecu1_port1的发送方向为IN,ecu2_port1的发送方向为OUT,所以在通信矩阵有向图中,建立从顶点ecu1_port1到顶点ecu2_port1的有向边,边的权值为sysSignal。
1.5.6如附图6所示,可以看到本实施案例生成的通信矩阵有向图的矩阵表现形式
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
Claims (4)
1.从AUTOSAR系统配置模型中提取通信矩阵的方法,其特征在于,包括如下步骤:
1)分析并获得从AUTOSAR系统中通信簇的通信矩阵信息;
2)确定需要分析的通信簇,获得该通信簇包含的物理信道;
3)获取系统中所有和所述通信簇有连接关系的电控单元,建立所述电控单元包含的电控单元通信接口到物理信道链表的哈希表;
4)获取每个物理信道上连接的帧触发,得到所述帧触发对应的数据链路层帧,建立物理信道到数据链路层帧链表的哈希表;
5)获取每个数据链路层帧包含的系统信号,建立系统信号到数据链路层帧链表的哈希表;
6)建立通信矩阵有向图,所述通信矩阵有向图以所述电控单元通信端口为顶点,网络信号为边的有向图,所述边表示系统信号在两个电控单元通信端口之间传输。
2.根据权利要求1所述的从AUTOSAR系统配置模型中提取通信矩阵的方法,其特征在于,所述步骤3)中建立电控单元通信端口到物理信道链表的哈希表的具体步骤包括:
21)获取系统中包含的电控单元;
22)对每个电控单元,获得其包含的连接器;
23)对每个连接器获得连接的物理信道,如果物理信道不被通信簇包含,则跳过;否则,获得该连接器包含的电控单元通信端口,建立电控单元通信端口到物理信道链表的映射。
3.根据权利要求1所述的从AUTOSAR系统配置模型中提取通信矩阵的方法,其特征在于,所述步骤5)中建立系统信号到数据链路层帧链表的哈希表的具体步骤包括:
31)获取数据链路层帧包含的交互层通信数据单元;
32)获取交互层通信数据单元包含的交互层信号;
33)获取交互层信号引用的抽象信号;
34)如果抽象信号是一种系统信号组,得到系统信号组包含的系统信号,添加每个系统信号到数据链路层帧链表的映射;如果抽象信号是一种系统信号,则直接添加系统信号到数据链路层帧链表的映射。
4.根据权利要求1所述的从AUTOSAR系统配置模型中提取通信矩阵的方法,其特征在于,所述步骤6)中建立通信矩阵有向图的具体步骤包括:
41)获得电控单元通信端口到物理信道链表的哈希表,以电控单元通信端口到物理信道链表的哈希表中的关键字为顶点建立一个通信矩阵有向图;
42)在系统信号到数据链路层帧链表的哈希表中,对每个系统信号,找到其对应的键值数据链路层帧链表;
43)对数据链路层帧链表中的每个数据链路层帧,在物理信道到数据链路层帧链表的哈希表中,寻找值包含该数据链路层帧的所有的映射关系,获得所有的键值物理信道链表;
44)对每个物理信道,在电控单元通信端口到物理信道链表的哈希表中,寻找值包含该物理信道的所有映射关系,获得所有的键值电控单元通信端口链表;
45)在每个系统信号到电控单元通信端口聊表的映射关系中,对于链表中方向为发送的通信端口,建立到列表中方向为接收的通信端口的有向边,边的权值为系统信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210037174.6A CN102611741B (zh) | 2012-02-17 | 2012-02-17 | 从autosar系统配置模型中提取通信矩阵的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210037174.6A CN102611741B (zh) | 2012-02-17 | 2012-02-17 | 从autosar系统配置模型中提取通信矩阵的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102611741A true CN102611741A (zh) | 2012-07-25 |
CN102611741B CN102611741B (zh) | 2015-03-18 |
Family
ID=46528891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210037174.6A Expired - Fee Related CN102611741B (zh) | 2012-02-17 | 2012-02-17 | 从autosar系统配置模型中提取通信矩阵的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102611741B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880469A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现AUTOSAR中ExclusiveArea到OSResource映射的方法 |
CN104378675A (zh) * | 2014-12-08 | 2015-02-25 | 厦门雅迅网络股份有限公司 | 一种多通道音视频同步播放处理方法 |
CN108303969A (zh) * | 2018-01-31 | 2018-07-20 | 广州汽车集团股份有限公司 | 车载ecu的自动化测试装置 |
CN109117121A (zh) * | 2018-05-08 | 2019-01-01 | 宁波央腾汽车电子有限公司 | 一种autosar软件架构实现方法 |
CN112347047A (zh) * | 2019-08-09 | 2021-02-09 | 广州汽车集团股份有限公司 | 一种车辆数据文件生成方法及装置 |
CN113852530A (zh) * | 2021-09-02 | 2021-12-28 | 东风汽车集团股份有限公司 | 一种can通信模块的快速创建方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192164A1 (en) * | 2007-07-20 | 2010-07-29 | Michael Golm | Method for the transparent replication of a software component of a software system |
CN102231107A (zh) * | 2011-06-09 | 2011-11-02 | 浙江大学 | 基于autosar的电控单元通信数据格式的自动生成方法 |
CN102262540A (zh) * | 2011-08-11 | 2011-11-30 | 浙江大学 | 一种应用于autosar ecu配置的基础软件参数定义扩展方法 |
-
2012
- 2012-02-17 CN CN201210037174.6A patent/CN102611741B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192164A1 (en) * | 2007-07-20 | 2010-07-29 | Michael Golm | Method for the transparent replication of a software component of a software system |
CN102231107A (zh) * | 2011-06-09 | 2011-11-02 | 浙江大学 | 基于autosar的电控单元通信数据格式的自动生成方法 |
CN102262540A (zh) * | 2011-08-11 | 2011-11-30 | 浙江大学 | 一种应用于autosar ecu配置的基础软件参数定义扩展方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880469A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现AUTOSAR中ExclusiveArea到OSResource映射的方法 |
CN102880469B (zh) * | 2012-09-12 | 2016-09-21 | 浙江大学 | 一种实现AUTOSAR中ExclusiveArea到OSResource映射的方法 |
CN104378675A (zh) * | 2014-12-08 | 2015-02-25 | 厦门雅迅网络股份有限公司 | 一种多通道音视频同步播放处理方法 |
CN108303969A (zh) * | 2018-01-31 | 2018-07-20 | 广州汽车集团股份有限公司 | 车载ecu的自动化测试装置 |
CN108303969B (zh) * | 2018-01-31 | 2020-05-29 | 广州汽车集团股份有限公司 | 车载ecu的自动化测试装置 |
CN109117121A (zh) * | 2018-05-08 | 2019-01-01 | 宁波央腾汽车电子有限公司 | 一种autosar软件架构实现方法 |
CN112347047A (zh) * | 2019-08-09 | 2021-02-09 | 广州汽车集团股份有限公司 | 一种车辆数据文件生成方法及装置 |
CN112347047B (zh) * | 2019-08-09 | 2024-06-11 | 广州汽车集团股份有限公司 | 一种车辆数据文件生成方法及装置 |
CN113852530A (zh) * | 2021-09-02 | 2021-12-28 | 东风汽车集团股份有限公司 | 一种can通信模块的快速创建方法及系统 |
CN113852530B (zh) * | 2021-09-02 | 2022-11-08 | 东风汽车集团股份有限公司 | 一种can通信模块的快速创建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102611741B (zh) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102611741A (zh) | 从autosar系统配置模型中提取通信矩阵的方法 | |
US10574348B2 (en) | Method for time synchronization between communication nodes in network | |
CN106452506B (zh) | 一种多个数据项一次性采集的方法 | |
WO2021098212A1 (zh) | 软件升级方法、装置和系统 | |
CN103020024B (zh) | 一种文件格式转换方法 | |
CN103023708B (zh) | 通信协议接口的测试方法及系统 | |
CN113612654B (zh) | 一种基于数据库的车载网关功能测试方法 | |
CN102231107B (zh) | 基于autosar的电控单元通信数据格式的自动生成方法 | |
CN103178998A (zh) | 一种测控数据传输方法和装置 | |
CN104461610A (zh) | 平台化的多ecu在线刷写方法 | |
CN109951366A (zh) | 一种Modbus RTU总线控制器及控制方法 | |
CN105005539A (zh) | 使用消息鉴别码在微控制器处鉴别数据 | |
CN110390082B (zh) | 一种通信矩阵对比方法及系统 | |
CN104104651A (zh) | 数据处理方法、装置及电动交通工具网络管理系统 | |
CN114612101A (zh) | 面向连接的可靠链间路由跨链方法及系统 | |
CN104991977A (zh) | 拼装说明书的获取和生成方法及系统、组件和终端 | |
CN102594685A (zh) | 一种基于消息转发的ecu间通信方法 | |
CN103281160B (zh) | 一种控制器局域网帧传输验证方法 | |
CN105068417A (zh) | SpaceWire网络授时与校时的方法 | |
CN103176796A (zh) | 一种在autosar中实现复杂数据到信号组的映射方法 | |
CN109522026B (zh) | 一种数据刷写方法及系统、汽车 | |
CN103257648A (zh) | 汽车标定系统 | |
CN104253727A (zh) | 车辆lin网络的诊断方法及其系统 | |
CN102722592B (zh) | 通用数字信息录取装置及方法 | |
Pacheco et al. | Monitoring driving habits through an automotive CAN network |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150318 Termination date: 20220217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |