CN102073549B - 一种基于资源共享的组件间通信方法 - Google Patents

一种基于资源共享的组件间通信方法 Download PDF

Info

Publication number
CN102073549B
CN102073549B CN 201110009872 CN201110009872A CN102073549B CN 102073549 B CN102073549 B CN 102073549B CN 201110009872 CN201110009872 CN 201110009872 CN 201110009872 A CN201110009872 A CN 201110009872A CN 102073549 B CN102073549 B CN 102073549B
Authority
CN
China
Prior art keywords
communication
alarm
event
task
rte
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.)
Expired - Fee Related
Application number
CN 201110009872
Other languages
English (en)
Other versions
CN102073549A (zh
Inventor
杨国青
胡博
彭威
刘敏
赵民德
田帅
刘财志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 201110009872 priority Critical patent/CN102073549B/zh
Publication of CN102073549A publication Critical patent/CN102073549A/zh
Application granted granted Critical
Publication of CN102073549B publication Critical patent/CN102073549B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明涉及一种基于资源共享的组件间通信方法,通过维护一个全局的Alarm及其对应的OS任务和通信OS事件的共享资源堆栈,实现AUTOSAR组件间通信的超时监控功能,并在不同通信事件中共享Alarm,同时把同一个OS任务中的由通信活动触发的所有的通信完成事件和超时事件映射到同一个通信OS事件,实现资源使用优化。

Description

一种基于资源共享的组件间通信方法
技术领域
本发明涉及数字信息的传输领域,尤其涉及汽车开放系统架构(AUTOSAR)中一种基于资源共享的组件间通信方法。
背景技术
为了应对当代汽车中日益复杂的电子软件系统,控制电控软件日益增长的复杂度,欧日的主要汽车生产商和一些芯片制造商推出了名为开放汽车系统架构(AUTOSAR)的产业标准。与此同时,伴随着复杂的车载功能的增多,汽车上使用的电控芯片(ECU)的数量也日益增多,对于大多数经济型轿车而言,过多的ECU对汽车的成本控制带来了极大的考验。因此,如何利用有限的资源部署更多的软件功能,实现节能减排,是一个非常重要及有意义的问题。
AUTOSAR将电子软件架构分成上层应用软件组件层、中间运行时环境和下层基础服务以及硬件抽象层等四层。在应用软件层中,各个软件组件遵照标准格式定义自己与外部通信的端口和端口接口类型,其通信行为的具体实现由下层的运行时环境(RTE)来提供,RTE主要使用OS和COM服务来实现应用软件组件间的各种通信行为,同时也会转发应用软件组件对下层基础服务层的通信服务请求,达到实现虚拟总线的效果。软件组件的通信分为S/R和C/S两种,前者是数据传递,后者是服务调用。这两种通信的实现方法是RTE代码生成器根据系统配置描述和ECU配置描述,动态的生成实际的代码。不同的配置描述所生成的代码完全不同。在这两种通信中,AUTOSAR允许发起方组件设置一个超时时间,当接收方组件在给定时间内收到所发数据或者完成所请求服务时,返回给客户组件一个完成事件(S/R中是数据发送完成事件,C/S中是服务完成事件),否则返回通信超时事件。基于此,RTE对此通行功能通常实现需要使用一个Alarm来定时,两个OS事件来表示通信完成事件和通信超时事件。不同通信行为需要不同的静态配置的Alarm和OS事件。而通常的嵌入式操作系统允许使用的Alarm和OS事件资源都是有限的,且过多的这类资源会严重影响系统的性能。因此,当系统中此类通信行为增多时,解决对上述两类资源的使用的限制问题具有很大的实际意义。 
发明内容
为解决上述问题,本发明提供一种节约Alarm及OS资源的一种基于资源共享的组件间通信方法。
未达到上述目的,本发明采用的技术方案是:一种基于资源共享的组件间通信方法,其特征在于:所述的方法包括如下步骤:
(1)设置各组件的操作系统(OS)和运行环境(RTE):OS中包括多个OS任务,OS任务可包括多个通信事件,分配一个用于通信OS事件给需要通信的OS任务,确定多个OS任务中包括闹钟函数(Alarm)OS任务数量;
(2)RTE中包括RTE代码生成器、RET开始函数,所述的RTE代码生成器生成通信的实现代码、Alarm回调函数、Alarm资源堆栈的实现代码,RTE开始函数初始设置包括Alarm的OS任务;
(3)当有通信事件发生时:通信事件的发起组件调用RTE 的通信API,所述的通信API从Alarm资源堆栈中摘取栈顶节点并设置栈顶节点对通信OS事件和OS任务的引用,启动Alarm;
(4)通信事件结束后,发起组件所在的OS任务收到通信OS事件,根据通信的状态位判断通信事件是否完成,是则进入5,否则启动Alarm,启动Alarm回调函数,进入3;
(5)释放Alarm,归还栈顶节点给Alarm资源堆栈,进入3。
本发明的第一优选方案为:步骤(2)、(4)所述的Alarm回调函数读取栈顶节点,从中取出OS任务和通信OS事件的引用,并为所述的OS任务重新设置通信OS事件。
 本发明的第二优选方案为:步骤(1)中,根据组件通信OS事件周期,将通信OS事件的优先级分为高和低,所有短周期的循环通信活动为高,其余归为低,高优先级的通信OS事件确定了所需Alarm的最少数量为N min ,所有需要超时监控的通通信OS事件的数量确定所需Alarm的最大数量为N max ,实际分配数量值为N act =(N min +N max )/2。
 本发明的第四优选方案为:步骤(2)中所述的RET开始函数初始化Alarm资源堆栈,在需要超时监控的通信OS事件的通信应用程序接口(API)的开始处插入Alarm分配代码,在Alarm回调函数和通信API结束处插入Alarm释放代码。
本发明的发明思想为:通过维护一个全局的Alarm及其对应的OS任务和通信OS事件的共享资源堆栈,实现AUTOSAR组件间通信的超时监控功能,并在不同通信中共享Alarm,同时把同一个OS任务中的由通信活动触发的所有的通信完成事件和超时事件映射到同一个通信OS事件,实现资源使用优化。所述的同一个OS任务中的所有通信完成事件和超时事件映射到同一个通信OS事件,是指:不同通信活动中各有通信完成事件或者超时事件发生,且这些通信行为都位于同一个OS任务,把所有组件关联的通信完成事件和通信超时事件映射到同一个通信OS事件上,由于同一个OS任务某时刻只可能处以一个通信活动中,可以通过所处的通信活动来识别当前通信OS事件对应的通信事件,即用一个通信OS事件对应多个不同的通信事件。
本发明的技术优势在于::所述的实现资源优化使用,在实际应用中,根据通信的活跃频率,不需要为每个通信事件分配专有的Alarm和通信OS事件,减少实际需要的Alarm和通信OS事件的数量。
下面结合附图和具体实施方式对本发明做进一步说明。 
附图说明
图1 为本实施例组件通信流程图。
图2为实施例Alarm资源堆栈图。 
具体实施方式
参考图1、图2,在完成了OS与RTE初始配置后,各组件间通信事件按照下例步骤进行。
1.根据配置描述配置Alarm,映射同一个OS任务中的通信事件到一个通信OS事件。
2. 初始化Alarm资源堆栈,使用数组表示Alarm资源堆栈,使用全局栈顶指针并初始化为指向第0个元素,每个数组元素中的下一项索引初始化为其为下一个相邻节点在数组中的下标。
3.通信事件请求分配Alarm,根据栈顶指针从资源堆栈中取栈顶节点分配给该活动,然后栈顶指针指向该节点中下一个节点索引项指示的下一个节点。设置该节点中的各个域的值为当前OS任务和任务配置的用于通信OS事件。
4.启动Alarm,在Alarm定时触发Alarm回调函数时,归还该Alarm所属节点给Alarm资源堆栈,即设置该节点的下一个节点索引项为栈顶指针的值,并更新栈顶指针值为该节点在资源数组中的下标,然后根据该节点中的任务和事件值,为其设置事件,进入3。
5. 在Alarm触发前,通信活动完成,则取消Alarm,归还栈顶节点给Alarm资源堆栈,进入3。
本发明不仅限于上述实施例所示的保护范围,所有基于本实施例的发明思想,皆在本发明的保护范围内。 

Claims (4)

1.一种基于资源共享的组件间通信方法,其特征在于:所述的方法包括如下步骤:
(1)设置各组件的操作系统OS和运行环境RTE:OS中包括多个OS任务,OS任务可包括多个通信事件,分配一个通信OS事件给需要通信的OS任务,确定多个OS任务中包括闹钟函数AlarmOS的任务数量;
(2)RTE中包括RTE代码生成器、RET开始函数,所述的RTE代码生成器生成通信的实现代码、Alarm回调函数、Alarm资源堆栈的实现代码,RTE开始函数初始设置包括Alarm的OS任务;
(3)当有通信事件发生时:通信事件的发起组件调用RTE 的通信API,所述的通信API从Alarm资源堆栈中摘取栈顶节点并设置栈顶节点对通信OS事件和OS任务的引用,启动Alarm;
(4)通信事件结束后,发起组件所在的OS任务收到通信OS事件,根据通信的状态位判断通信事件是否完成,是则进入步骤(5),否则启动Alarm,启动Alarm回调函数,进入步骤(3);
(5)释放Alarm,归还栈顶节点给Alarm资源堆栈,进入步骤(3)。
2.根据权利要求1所述的一种基于资源共享的组件间通信方法,其特征在于:步骤(2)、(4)中所述的Alarm回调函数读取栈顶节点,从中取出OS任务和通信OS事件的引用,并为所述的OS任务重新设置通信OS事件。
3.根据权利要求1所述的一种基于资源共享的组件间通信方法,其特征在于:步骤(1)中,根据组件通信OS事件周期,将通信OS事件的优先级分为高和低,所有短周期的循环通信活动为高,其余归为低,高优先级的通信OS事件确定了所需Alarm的最少数量为Nmin,所有需要超时监控的通信OS事件的数量确定所需Alarm的最大数量为Nmax,实际分配数量值为Nact=(Nmin+Nmax)/2。
4.根据权利要求1所述的一种基于资源共享的组件间通信方法,其特征在于:步骤(2)中所述的RET开始函数初始化Alarm资源堆栈,在需要超时监控的通信OS事件的通信应用程序接口API的开始处插入Alarm分配代码,在Alarm回调函数和通信应用程序接口API结束处插入Alarm释放代码。
CN 201110009872 2011-01-18 2011-01-18 一种基于资源共享的组件间通信方法 Expired - Fee Related CN102073549B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110009872 CN102073549B (zh) 2011-01-18 2011-01-18 一种基于资源共享的组件间通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110009872 CN102073549B (zh) 2011-01-18 2011-01-18 一种基于资源共享的组件间通信方法

Publications (2)

Publication Number Publication Date
CN102073549A CN102073549A (zh) 2011-05-25
CN102073549B true CN102073549B (zh) 2013-06-19

Family

ID=44032095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110009872 Expired - Fee Related CN102073549B (zh) 2011-01-18 2011-01-18 一种基于资源共享的组件间通信方法

Country Status (1)

Country Link
CN (1) CN102073549B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231683B (zh) * 2011-06-14 2013-10-30 浙江大学 基于autosar的com层通信时限监测方法
CN102385530B (zh) * 2011-08-11 2013-09-25 浙江大学 一种应用于rte代码生成的os资源分配冲突解决方法
US8825817B1 (en) 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
US8949930B1 (en) 2012-03-19 2015-02-03 Amazon Technologies, Inc. Template representation of security resources
US10089152B1 (en) 2012-03-19 2018-10-02 Amazon Technologies, Inc. Using scripts to bootstrap applications with metadata from a template
US9058219B2 (en) * 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
CN113687814A (zh) * 2021-08-05 2021-11-23 东风汽车集团股份有限公司 基于autosar架构的模型框架和接口文件的自动化实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101755256A (zh) * 2007-07-20 2010-06-23 西门子公司 用于对软件系统的软件构件进行透明复制的方法
CN101946234A (zh) * 2007-12-21 2011-01-12 开放协同有限公司 机动车辆控制装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006652A1 (en) * 2002-06-28 2004-01-08 Prall John M. System event filtering and notification for OPC clients

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101755256A (zh) * 2007-07-20 2010-06-23 西门子公司 用于对软件系统的软件构件进行透明复制的方法
CN101946234A (zh) * 2007-12-21 2011-01-12 开放协同有限公司 机动车辆控制装置

Also Published As

Publication number Publication date
CN102073549A (zh) 2011-05-25

Similar Documents

Publication Publication Date Title
CN102073549B (zh) 一种基于资源共享的组件间通信方法
CN107678946B (zh) 一种基于模型的机载嵌入式软件测试环境构建方法
CN103593229B (zh) 异构云操作系统的集成与统一调度框架及调度方法
US20130191526A1 (en) Open plug-in management platform and plug-in management method implemented on browser
CN112000463B (zh) 一种基于cuda的gpu资源分配方法、系统、终端及存储介质
CN109376011B (zh) 虚拟化系统中管理资源的方法和装置
CN103593242A (zh) 基于Yarn框架的资源共享控制系统
CN101493784B (zh) 一种基于分布仿真的反射内存网动态内存管理方法
US10599464B1 (en) Methods, mediums, and systems for provisioning application services
CN102929597A (zh) 一种基于Java平台的Web业务支持方法和装置
CN103207965A (zh) 一种虚拟环境下License认证的方法及装置
CN111338779B (zh) 资源分配方法、装置、计算机设备和存储介质
CN110222535A (zh) 区块链配置文件的处理装置、方法及存储介质
CN114756170B (zh) 一种面向容器应用的存储隔离系统及其方法
CN111638953B (zh) 一种实现gpu虚拟化的方法、装置和存储介质
US9760454B2 (en) High availability method and system for improving the utility of physical servers in cloud computing resource pool
WO2016074130A1 (zh) 一种系统调用命令的批处理方法及装置
US20190332440A1 (en) Administrative resource management qos for storage appliances
CN102573073B (zh) 一种终端物理层资源分配方法及系统
KR102485288B1 (ko) 차량용 제어기 및 그것의 운영체제 스케쥴링 방법
CN109728921B (zh) 虚拟网元的管理、维护和控制方法以及相关装置
CN111104162B (zh) 一种新旧代码共同运行的kbroker分布式操作系统
CN103019819A (zh) 一种基于插件机制的动态库统一调度方法
CN103186386A (zh) 应用加载方法及系统
CN103577375A (zh) 可兼容多种can总线硬件电路的总线控制方法及装置

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20110525

Assignee: Hangzhou Suma Technology Co., Ltd.

Assignor: Zhejiang University

Contract record no.: 2017330000040

Denomination of invention: Communication method between assemblies on basis of resource sharing

Granted publication date: 20130619

License type: Exclusive License

Record date: 20170406

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130619

Termination date: 20180118