首页> 中国专利> 一种实现AUTOSAR中ExclusiveArea到OSResource映射的方法

一种实现AUTOSAR中ExclusiveArea到OSResource映射的方法

摘要

本发明公开了一种实现AUTOSAR中ExclusiveArea到OSResource映射的方法通过摒弃了ExclusiveArea与OSResource一对一进行匹配的蛮力、低效的实现方案;将ExclusiveArea与OSResource抽象为一个二分图,利用最大匹配算法求两者之间的映射关系,代码高效;代码实现简单、高效,且完全符合AUTOSAR标准。

著录项

  • 公开/公告号CN102880469A

    专利类型发明专利

  • 公开/公告日2013-01-16

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201210335507.3

  • 申请日2012-09-12

  • 分类号

  • 代理机构杭州裕阳专利事务所(普通合伙);

  • 代理人江助菊

  • 地址 310027 浙江省杭州市西湖区浙大路38号

  • 入库时间 2024-02-19 17:04:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-21

    授权

    授权

  • 2013-09-18

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20120912

    实质审查的生效

  • 2013-01-16

    公开

    公开

说明书

技术领域

本发明涉及汽车电子软件开发技术领域,尤其涉及一种实现AUTOSAR中 ExclusiveArea到OSResource映射的方法

背景技术

AUTOSAR(AUTomotive Open System ARchitecture)是汽车电子开放系统架构, RTE(Run-Time Environment)是该架构的核心。RTE是由RTE代码自动生成工 具生成的C代码,后者接收ECU(Electronic Control Unit)配置工具传递的 AUTOSAR对象为输入,生成符合AUTOSAR标准的C代码。自动生成的RTE 代码,加上软件组件源代码、基础模块代码及基础模块配置代码(由ECU配置 工具生成)一起编译链接就成为最终可以运行在ECU上的可执行文件,其中基 础模块指OS(Operating System)和COM(Communication),即操作系统模块和 通信模块。

RTE中最基本的运行单位是运行实体(Runnable),运行实体之间可以进行 通信,同一个AUTOSAR SW-C(AUTOSAR Software Component)内的多个运行 实体可以通过共享同一个内存区域来实现通信。

为了实现数据一致性的要求,共享区域的内容不能同时被两个运行实体访 问修改,即运行实体之间要产生互斥。RTE中使用ExclusiveArea(即临界区, RTE中用来保护多个运行实体间共享资源的抽象概念)的概念来实现运行实体 的互斥,但ExclusiveArea是一个抽象的概念,它需要利用OS中OSResource对 象(即操作系统资源,在AUTOSAR OS中用来解决优先级反转问题的一个模块) 来实现运行实体间互斥的效果,即每个ExclusiveArea对应一个OSResource对象。

用户配置OSResource,并将OSResource与OSTask(OSTask是运行实体的载 体,运行实体通过OSTask运行)相关联。RTE代码生成工具会将每个运行实体 中的ExclusiveArea与此运行实体所在的OSTask所持有的OSResource进行映射。 由于不同的OSTask可能持有相同的OSResource,不同的Runnable也可能拥有相 同的ExclusiveArea,因此只是蛮力地将每个ExclusiveArea与每个OSResource进 行匹配将会十分耗时。

发明内容

针对上述技术缺陷,本发明提出将ExclusiveArea和OSResource分别映射到 二分图的左子图和右子图,利用最大匹配算法来寻找一个ExclusiveArea到 OSResource的最大匹配。

为了解决上述技术问题,本发明的技术方案如下:

一种实现AUTOSAR中ExclusiveArea到OSResource映射的方法,包括如下 步骤

11)提取用户配置中关于ExclusiveArea的信息,收集每个运行实体所持有的 ExclusiveArea信息,保存于一个列表中,如果不同的运行实体持有相同的 ExclusiveArea,则只在列表中保存一个;

12)提取用户配置中关于OSTask的信息,将每个OSTask保存于另一个列表 中;

13)将两个列表中的每一个ExclusiveArea与每一个OSTask进行比较,如果 OSTask包含的某个运行实体持有此ExclusiveArea,那么此OSTask与此 ExclusiveArea相匹配,进而将此OSTask所持有的OSResource与此ExclusiveArea 相关联即构造二分图,在二分图中就将此ExclusiveArea对应的节点与这些 OSResource对应的节点相连接;

14)步骤13)结束后,已经构成一个二分图,对此二分图使用最大匹配算法 求最大匹配,如果最大匹配的值等于用户配置的ExclusiveArea的数量,则用户 配置成功,每个ExclusiveArea分别对应于一个不同OSResource;否则说明用户 配置不成功。

进一步的,步骤13)中根据ExclusiveArea与OSResource之间的关系建立的 二分图,ExclusiveArea位于二分图的左子图,OSResource位于二分图的右子图, 然后利用最大匹配算法求得ExclusiveArea到OSResource的映射关系。

本发明的有益效果在于:摒弃了ExclusiveArea与OSResource一对一进行匹 配的蛮力、低效的实现方案;将ExclusiveArea与OSResource抽象为一个二分图, 利用最大匹配算法求两者之间的映射关系,代码高效;代码实现简单、高效, 且完全符合AUTOSAR标准。

附图说明

图1为AUTOSAR软件组件内部关系图;

图2为AUTOSAR任务与资源关系图;

图3为AUTOSAR运行实体与任务关系图;

图4为ExclusiveArea映射到OSResource的方法的流程图;

图5为ExclusiveArea和OSResource构成的二分图;

图6为运用最大匹配算法后ExclusiveArea和OSResource的对应关系。

具体实施方式

下面将结合附图和具体实施例对本发明的做进一步的说明。

存在这样一种AUTOSAR软件组件(SW-C)的运行案例:在一个软件组件 中有一个负责计算处理的运行实体(Runnable),它会读取公共存储区的三个公 共变量,并做一些计算处理,然后将三个变量写回到公共区域;还存在两个运 行实体负责从其他软件组件接收数据,并写入到上面提到的三个变量中的一个 或者两个中去;并且这三个运行实体分别运行在不同的任务(OSTask)中。为 了使这三个公共变量不会被运行实体写入脏数据,本发明将利用ExclusiveArea 来实现三个运行实体的同步与互斥,具体实现方案如下:

如图1所示,在一个AUTOSAR SW-C中有三个运行实体(标记为R1、R2、 R3,即上面案例提到的三个运行实体,R2表示负责计算处理的运行实体),同 时存在三个共享变量(标记为X、Y、Z,即三个公共区域的变量),三个变量分 别由三个ExclusiveArea来保护(标记为E1、E2、E3)。运行实体R1将使用X, Y两个变量(即R1会将数据写入X、Y两个变量中),因此R1将持有E1和E2 两个ExclusiveArea,同理,R2将持有E1、E2和E3三个ExclusiveArea,R3将持 有E2和E3两个ExclusiveArea。

如图2所示,在OS配置中用户配置了三个OSTask(标记为T1、T2、T3), 同时有三个资源(标记为RS1、RS2、RS3)。其中T1持有RS1和RS2,T2持有 RS1、RS2和RS3,T3持有RS2和RS3。

如图3所示,运行实体R1运行在T1内部,R2运行在T2内部,R3运行在 T3内部。

该实例的实施分为以下步骤进行,具体的流程图如图4所示:

1、提取用户配置中关于ExclusiveArea的信息,放入一个列表中(标记为EList), 在本案例中此列表有E1、E2、E3三个ExclusiveArea;

2、提取用户配置中关于OSTask的信息,放入另一个列表中(标记为TList), 在本案例中此列表有T1、T2、T3三个OSTask;

3、将EList列表中的每一个ExclusiveArea与Tlist列表中的每一个OSTask进 行匹配:遍历OSTask包含的运行实体,如果某个运行实体所持有的ExclusiveArea 与当前遍历的ExclusiveArea一致,则说明匹配成功。如果匹配成功,将OSTask 所持有的OSResource作为一个集合进行保存。最后将每一个匹配成功的OSTask 所对应的集合求一个交集,将交集中的OSResource与此ExclusiveArea相关联。

4、构建二分图:将ExclusiveArea作为二分图的左子图,将OSResource作为 二分图的右子图,将步骤3计算出来的相关联的ExclusiveArea和OSResource进 行连接,如图5。

5、在步骤4构成的二分图上利用最大匹配算法求出二分图的最大匹配值, 如果最大匹配值等于EList列表的长度,则成功产生出一种ExclusiveArea到 OSResource的映射关系;否则说明用户配置不成功,无法产生一种合理的 ExclusiveArea到OSResource的映射关系。本案例将产生一种ExclusiveArea到 OSResource的映射关系,如图6。其中E1映射到RS1,E2映射到RS2,E3映射 到RS3。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些 改进和润饰也应视为本发明保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号