发明名称 基于内存数据架构的模块间实时同步方法
摘要 基于内存数据架构的模块间实时同步方法,包括以下步骤:读取AUTOSAR标准中的软件组件模型,生成有向无环图;建立散列表;定义修改组件模型的规则,修改规则与修改类型一一对应;获取模型修改信息,将模型修改信息存入操作队列中,识别修改类型、将其与修改规则对应,根据修改规则修改有向无环图和散列表。本发明具有能使组件设计工具和系统配置工具保持一致,开发效率高的优点。
申请公布号 CN101882078B 申请公布日期 2013.01.16
申请号 CN201010186142.3 申请日期 2010.05.28
申请人 浙江大学 发明人 杨国青;胡博;王冬冬;伍如意;杨玉皓;汪金波;赵民德
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 基于内存数据架构的模块间实时同步方法,包括以下步骤:1)、读取符合AUTOSAR标准的软件组件模型,生成表征所有组件模型及其聚合关系的有向无环图,有向无环图的节点与组件模型类型一一对应,有向无环图的有向边表示组件模型间的聚合关系;2)、建立与所述的有向无环图对应、能快速查找到任一组件模型的散列表,散列表的每一条记录的关键字为对应组件的全名,值为对应组件的地址及其全部直接前驱;3)、定义修改组件模型的规则,修改规则与修改类型一一对应,修改类型包括删除组件模型,删除组件模型的某一实例,删除组件模型中的某一端口,插入组件模型,向已有组件模型中插入新实例,向已有组件模型中插入新端口,修改组件模型;所述的实例和端口均属于组件模型信息,存储于有向无环图的节点中;步骤3)中,定义修改组件模型的规则包括以下步骤:(3.1)删除组件模型类型包括以下步骤:搜索有向无环图中与当前组件模型相对应的节点,删除该节点及其有向边;搜索散列表中与当前组件模型相对应的记录,获取当前组件模型的所有直接前驱,修改这些直接前驱的指针;(3.2)删除组件模型类型的某一实例包括以下步骤:搜索有向无环图中与当前组件模型相对应的节点,判断待删除的实例是否当前 组件模型的唯一实例,若不是唯一实例,则删除该实例;若是唯一实例,则删除该节点及其有向边;搜索散列表中与当前组件模型相对应的记录,获取当前组件模型的所有直接前驱,修改这些直接前驱的指针;(3.3)删除组件模型类型中的某一端口包括以下步骤:搜索有向无环图中与当前组件模型相对应的节点,删除该端口;(3.4)插入组件模型类型包括以下步骤:构建一个有向无环图的节点,将当前组件模型信息存入该节点中,将该节点插入所述的有向无环图中;新建一条散列表记录,以当前组件模型的全名作为关键字,以当前组件模型的地址及其所有直接前驱作为值;(3.5)向已有组件模型类型中插入新实例包括以下步骤:搜索有向无环图中与当前组件模型相对应的节点,将新实例插入该节点,添加组件模型与该新实例的聚合关系;(3.6)向已有组件模型类型中插入新端口包括以下步骤:搜索有向无环图中与当前组件模型相对应的节点,将新端口入该节点;(3.7)修改组件模型类型,搜索有向无环图中与当前组件模型相对应的节点,修改节点信息;搜索散列表中与当前组件模型相对应的记录,获取当前组件模型的所有直接前驱,修改这些直接前驱的指针,4)、获取模型修改信息,模型修改信息包括修改的目标组件的全名和修改类型,将模型修改信息存入操作队列中; 5)、判断操作队列是否为空:若操作队列不为空,读取操作队列中的配置信息,识别修改类型、将操作队列中的配置信息与修改规则对应,根据修改规则修改有向无环图和散列表;若操作队列为空,则进行等待,直到有新的模型修改信息存入操作队列中。
地址 310027 浙江省杭州市西湖区浙大路38号