一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于本体的自主式交通系统架构诊断方法

2022-05-18 10:42:32 来源:中国专利 TAG:


1.本发明涉及自主式交通系统架构诊断技术领域,具体涉及一种基于本体的自主式交通系统架构诊断方法。


背景技术:

2.随着自动驾驶和车路协同等技术的发展,现有的交通系统正在从智能交通系统向自主式交通系统演进。自主式交通系统的本质是减少人为干预,通过自组织运行与自主化服务的方式完成客货运输。自主式交通系统架构可以从逻辑、功能和物理三个方面对自主式交通系统进行与交通场景无关的抽象描述,使得针对自主式交通系统架构设计的诊断方法具有与场景无关的特点。通过对用户设计的自主式交通系统架构进行诊断,可以在自主式交通系统实施前发现架构设计的潜在问题,保证自主式交通系统的顺利实施。
3.本体是概念模型的明确的规范说明,用于描述某个领域甚至更广范围内的概念以及概念之间的关系,使得这些概念和关系在共享的范围内具有大家共同认可的、明确的、唯一的定义,从而使得人机之间以及机器之间可以进行交流。本体提供了面向特定领域的概念、对象类型、上下位语义关系等以及它们的属性等。现有的基于本体的交通系统诊断方法是针对传统交通系统设计的,并且依赖于具体的交通场景,因此无法用于自主式交通系统的诊断。


技术实现要素:

4.鉴于以上问题,本发明提出一种基于本体的自主式交通系统架构诊断方法,用以解决现有系统架构诊断方法由于依赖于具体场景而无法对架构设计的正确性和完整性进行自主式诊断的问题。
5.一种基于本体的自主式交通系统架构诊断方法,包括以下步骤:
6.步骤一、将架构中概念表示为类,添加类的从属关系以构成类的层级结构,并创建类的属性以表达关系,从而建立自主式交通系统架构的先验本体和待诊断架构本体;所述类包括需求相关类、功能相关类、物理对象相关类;
7.步骤二、基于自主式交通系统架构的先验本体,检验待诊断架构本体中类及其层级结构是否正确,需求相关类、功能相关类、物理对象相关类是否正确和完整,并输出待诊断架构本体中存在的错误及错误类型,从而完成对待诊断架构设计正确性和完整性的诊断。
8.进一步地,步骤一中所述类的属性包括数据属性和对象属性,其中,所述对象属性用于表达两个类之间的关联关系。
9.进一步地,步骤一中所述需求相关类包括多个子类;所述功能相关类包括服务域类、服务类、子服务类、原子功能类;所述物理对象相关类包括一级物理对象类、二级物理对象类、三级物理对象类和四级物理对象类。
10.进一步地,步骤二的具体步骤包括:
11.步骤二一、对于待诊断架构本体中每一个类,检验所述先验本体中是否存在与之相同的类,若不存在,则输出错误类型为概念引用错误;若存在,检验待诊断架构本体中该类所处层级是否与在所述先验本体中所处层级一致,若不一致,则输出错误类型为概念层级错误;
12.步骤二二、以待诊断架构本体中需求相关类所对应的需求为查询条件,在先验本体中查询与所述需求对应的服务域类;比较待诊断架构本体中与所述需求对应的服务域类是否与先验本体中一致,若不一致,则输出错误类型为服务域与需求不匹配;若一致,依次逐层检验待诊断架构本体中服务域类、服务类、子服务类、原子功能类的层级关系是否正确,若不正确,则输出错误类型为功能包含关系错误;
13.步骤二三、以待诊断架构本体中服务域类所对应的服务域为查询条件,在先验本体中查询与所述服务域对应的物理对象类;比较待诊断架构本体中与所述服务域对应的物理对象类是否与先验本体中一致,若一致,则继续检验服务类与物理对象类的对应关系;若不一致,则输出错误类型为当前层物理对象引用错误;并按上述过程依次逐层检验待诊断架构本体中服务类、子服务类、原子功能类与物理对象类的对应关系,输出错误类型;
14.步骤二四、对待诊断架构本体中功能相关类对应的每一个功能,分别在待诊断架构本体和先验本体中查询其前序功能或后序功能,以及流入或流出的数据流,并将查询结果进行比较;若该功能在先验本体中的前序功能或后序功能与待诊断架构本体中不一致,则输出错误类型为功能间连接错误;若该功能在先验本体中流入或流出的数据流与待诊断架构本体中不一致,则输出错误类型为功能间数据流错误;并按上述过程依次逐层检验待诊断架构本体中服务域类、服务类、子服务类和原子功能类的上述逻辑关系,输出错误类型。
15.进一步地,步骤二一中检验待诊断架构本体中该类所处层级是否与在所述先验本体中所处层级一致的方法为:比较该类在待诊断架构本体和先验本体中的对象属性是否相同,相同则表示一致。
16.进一步地,步骤二二的具体步骤包括:通过比较待诊断架构本体与先验本体中两个相同的需求相关类关联的服务域是否相同来诊断待诊断架构中是否存在服务域与需求不匹配;通过比较待诊断架构本体与先验本体中两个相同的服务域类关联的服务集合是否相同来诊断待诊断架构中是否存在服务与服务域不匹配;通过比较待诊断架构本体与先验本体中两个相同的服务类关联的子服务集合是否相同来诊断待诊断架构中是否存在子服务与服务不匹配;通过比较待诊断架构本体与先验本体中两个相同的子服务类关联的原子功能集合是否相同来诊断待诊断架构中是否存在原子功能与子服务不匹配。
17.进一步地,步骤二三的具体步骤包括:通过比较待诊断架构本体与先验本体中两个相同的服务域类关联的物理对象集合是否相同来诊断待诊断架构中是否存在物理对象集合与服务域不匹配;通过比较待诊断架构本体与先验本体中两个相同的服务类关联的物理对象集合是否相同来诊断待诊断架构中是否存在物理对象集合与服务不匹配;通过比较待诊断架构本体与先验本体中两个相同的子服务类关联的物理对象集合是否相同来诊断待诊断架构中是否存在物理对象集合与子服务不匹配;通过比较待诊断架构本体与先验本体中两个相同的原子功能类关联的物理对象类是否相同来诊断待诊断架构中是否存在物理对象与原子功能不匹配。
18.进一步地,步骤二四的具体步骤包括:通过检验待诊断架构本体中服务域类的先序服务域集合是否为先验本体中与该服务域类对应的服务域类所关联的先序服务域集合的子集来诊断待诊断架构中是否存在服务域连接错误;通过检验待诊断架构本体中服务类的先序服务集合是否为先验本体中与该服务类对应的服务类所关联的先序服务集合的子集来诊断待诊断架构中是否存在服务连接错误;通过检验待诊断架构本体中子服务类的先序子服务集合是否为先验本体中与该子服务类对应的子服务类所关联的先序子服务集合的子集来诊断待诊断架构中是否存在子服务连接错误;通过检验待诊断架构本体中原子功能类的先序原子功能集合是否为先验本体中与该原子功能类对应的原子功能类所关联的先序原子功能集合的子集来诊断待诊断架构中是否存在原子功能连接错误;通过检验待诊断架构本体中服务域类的流入数据流集合是否为先验本体中与该服务域类对应的服务域类所关联的流入数据流集合的子集来诊断待诊断架构中是否存在服务域的流入数据流引用错误;通过检验待诊断架构本体中服务类的流入数据流集合是否为先验本体中与该服务类对应的服务类所关联的流入数据流集合的子集来诊断待诊断架构中是否存在服务的流入数据流引用错误;通过检验待诊断架构本体中子服务类的流入数据流集合是否为先验本体中与该子服务类对应的子服务类所关联的流入数据流集合的子集来诊断待诊断架构中是否存在子服务的流入数据流引用错误;通过检验待诊断架构本体中原子功能类的流入数据流集合是否为先验本体中与该原子功能类对应的原子功能类所关联的流入数据流集合的子集来诊断待诊断架构中是否存在原子功能的流入数据流引用错误。
19.本发明的有益技术效果是:
20.本发明提出了一种基于本体的自主式交通系统架构诊断方法,使用本体建模方法从逻辑、功能和物理三个方面对自主式交通系统架构进行描述,包括自主式交通系统架构的组成、各组成成分之间的关系、架构的完整性规则;基于该本体以及建立在其上的诊断规则,对用户设计的自主式交通系统架构进行诊断,发现架构中存在的错误及错误的类型。
21.本发明基于本体建立自主式交通系统架构的概念模型,并基于该模型提出架构诊断方法,具有与交通场景无关的特点,可以在自主式交通系统架构设计过程中帮助设计者避免可能发生的错误,保证架构设计的正确性。
附图说明
22.本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。
23.图1为本技术实施例提供的一种基于本体的自主式交通系统架构诊断方法的流程图;
24.图2为本技术另一实施例提供的一种基于本体的自主式交通系统架构诊断方法的逻辑框图;
25.图3为本技术实施例提供的使用prot
égé
建立的自主式交通系统架构本体模型示例图;
26.图4为本技术实施例提供的自动驾驶车辆安全系统架构的本体模型示例图。
具体实施方式
27.为了使本技术领域的人员更好地理解本发明方案,在下文中将结合附图对本发明的示范性实施方式或实施例进行描述。显然,所描述的实施方式或实施例仅仅是本发明一部分的实施方式或实施例,而不是全部的。基于本发明中的实施方式或实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式或实施例,都应当属于本发明保护的范围。
28.自主式交通系统架构设计过程中存在大量重复、专业的工作,这些工作需要设计人员具备丰富的知识以及细致的推理分析能力。由于用户设计的自主式交通系统架构可能存在概念的层级错误、功能架构中的包含关系错误、物理架构中物理对象的引用错误、逻辑架构中功能间连接错误或数据流错误,这些错误均会对由架构导出的自主式交通系统的实施产生影响,因此,本发明提供了一种基于本体的自主式交通系统架构诊断方法,通过对自主式交通系统架构的概念及概念间关系建模,并将设计人员的知识标准化和结构化形成诊断规则,实现对用户设计的架构的智能诊断;将自主式交通系统架构通过本体进行形式化表达,结合诊断规则,实现了自主式交通系统架构的智能诊断。
29.本发明方法首先将架构中概念表示为类,添加类的从属关系以构成类的层级结构,并创建类的属性以表达关系,从而建立自主式交通系统架构的先验本体和待诊断架构本体;其中,类包括需求相关类、功能相关类、物理对象相关类;然后,基于自主式交通系统架构的先验本体,检验待诊断架构本体中类及其层级结构是否正确,需求相关类、功能相关类、物理对象相关类是否正确和完整,并输出待诊断架构本体中存在的错误及错误类型,从而完成对待诊断架构设计正确性和完整性的诊断。下面对本发明方法的实现过程进行详细的说明。
30.本发明实施例提供一种基于本体的自主式交通系统架构诊断方法,如图1所示,该方法包括以下步骤:
31.步骤一:根据自主式交通系统架构中的概念及概念间的关系,建立自主式交通系统架构的先验本体。
32.根据本发明实施例,自主式交通系统架构的组成成分包括需求、功能、物理对象。自主式交通系统架构包括功能架构、物理架构与逻辑架构。其中,功能架构描述了自主式交通系统的功能以及功能间的包含关系;按照抽象层次由高到低分为四层,依次为服务域层、服务层、子服务层、原子功能层,其中,原子功能层中的功能是不可再分的;即分别对应本体中功能相关类所包括的服务域类、服务类、子服务类、原子功能类;物理架构描述自主式交通系统架构的物理对象、物理对象实现的功能以及物理对象间的信息流,物理架构中物理对象实现的功能与功能架构中描述的功能一一对应,即对应本体中物理对象相关类;逻辑架构从数据流转的角度,构建由功能触发到交通业务实现的视图,逻辑架构描述了功能间的数据流和逻辑关系。借助本体建模工具,对自主式交通系统架构的概念体系建模,得到先验本体。
33.步骤二:建立用户输入架构的本体。
34.根据本发明实施例,为了对用户输入的架构(即待诊断架构)进行功能和结构上的诊断,首先基于用户输入架构的数据格式,对用户输入架构进行解析,提取用户输入架构中的功能架构、物理架构和逻辑架构。借助本体建模工具,对用户输入架构的概念体系建模,
得到用户输入架构本体(即待诊断架构本体)。
35.步骤三:检验用户输入架构本体中引用的概念及其层级结构的正确性。
36.根据本发明实施例,依次遍历用户输入架构本体的每一个概念,检查先验本体中是否存在与之相同的概念,若在先验本体中不存在与之相同的概念,则输出概念引用错误。否则,进一步诊断该概念在用户输入架构本体所处的层级是否与其在先验本体中所处的层级一致。如果一致,进入步骤四;否则,输出概念层级错误。
37.步骤四:诊断用户输入架构中功能架构的完整性。
38.根据本发明实施例,首先以用户输入架构本体中的需求为查询条件,在先验本体中查询与需求对应的服务域。比较用户输入架构本体中与需求对应的服务域是否与从先验本体中查询得到的服务域一致。如果不一致,输出服务域与需求不匹配;如果一致,依次逐层检查服务域、服务、子服务、原子功能的包含关系是否正确。若正确,则进入步骤五;如果不正确,输出功能的包含关系错误。
39.步骤五:诊断用户输入架构中物理架构的完整性。
40.根据本发明实施例,首先检查服务域与物理对象的对应关系。以用户输入架构本体中的服务域为查询条件,在先验本体中查询与服务域对应的物理对象,比较用户输入架构本体中与服务域对应的物理对象是否与从先验本体中查询得到的物理对象一致。若结果一致,继续检验服务与物理对象的对应关系;否则,输出当前层的物理对象引用错误。依此类推,依次逐层诊断服务、子服务、功能与物理对象的对应关系。
41.步骤六:诊断用户输入架构中逻辑架构的完整性。
42.根据本发明实施例,对用户输入架构中每一个功能,分别在用户输入架构本体和先验本体中查询其前序功能或后序功能,以及流入或流出的数据流,将二者查询结果相比较。若结果一致,执行步骤七;否则,若该功能在先验本体中的前序功能或后序功能与输入本体中该功能的前序功能或后序功能不一致,则输出功能间连接错误;若该功能在先验本体中流入或流出的数据流与输入本体中流入或流出的数据流不一致,则输出功能间数据流错误。依次检验服务域层、服务层、子服务层和原子功能层的逻辑关系。
43.步骤七:诊断流程结束。
44.本发明另一实施例提供一种基于本体的自主式交通系统架构诊断方法,本实施例采用斯坦福大学研发的prot
égé
本体建模功能,建立自主式交通系统架构的本体模型,利用prot
égé
软件中swrltab插件写入自定义swrl规则,运行规则后,得到诊断结果。如图2所示,该实施例具体实现包括如下步骤:
45.步骤一:根据自主式交通系统架构中的概念及概念间的关系,建立自主式交通系统架构的先验本体,包括自主式交通系统架构的概念对应的类、类的数据属性、类的层级结构、类的对象属性。
46.在本实施例中,如图3所示,使用prot
égé
提供的本体建模功能将自主式交通系统架构的概念表示为类,这些类包括与需求相关的类(即需求相关类)、与功能相关的类(即功能相关类)、与物理对象相关的类(即物理对象相关类),其中,与需求相关的类又可细分为764个子类;与功能相关的类包括9个服务域类、54个服务类、163个子服务类、436个原子功能类;与物理对象相关的类包括5个一级物理对象类、17个二级物理对象类、72个三级物理对象类以及347个四级物理对象类,一级物理对象类分别是用户主体、载运工具、基础设施、
运输货物和交通环境。以上通过类的从属关系构成了类的层级结构。
47.在先验本体中,通过属性来表达关系。属性包括对象属性和数据类型属性,不同的类具有特定的数据类型属性定义。对象属性是通过has或者is关键词,表达两个类之间的关联关系,例如hasprovider、isproviderof。自主式交通系统架构的各组成成分类通过直接或者间接的关联关系,相互作用带动交通系统架构的发展。为了满足面向具体交通场景的需求,需要组合以交通业务为导向的服务;功能具体支撑服务的实现,物理对象作为实际场景的参与单元,提供功能的实现模块。
48.步骤二:建立用户输入架构的本体。
49.在本实施例中,对基于v2x的无信号灯控交叉口车辆碰撞预警系统架构进行解析,建立用户输入架构本体。该本体包括10个需求类、1个服务域类、3个服务类、4个子服务类、20个原子功能类、5个物理对象类。其中,与功能架构有关的类按照抽象层次由高到低分成四个层级,如图4所示。
50.与物理架构有关的类包括驾驶者、载运工具、路侧通信设备、路侧感知设备、路侧计算设备五个物理对象类,它们通过对象属性与用户输入架构本体中与功能相关的类关联。物理对象或者作为功能的提供者,或者作为被功能服务的对象。例如,对象属性hasprovider(路侧单元感知信息,路测感知设备)的语义是路侧感知设备完成了路侧单元感知信息功能;对象属性servicefor(路侧单元感知信息,路测计算设备)的语义是路侧单元感知信息功能输出的信息作为路侧计算设备的输入。
51.逻辑架构中功能之间的数据流和逻辑关系也通过对象属性进行建模。如,对象属性haspriority(产生碰撞预警信息,处理周边车辆数据)的语义是产生碰撞预警信息功能以处理周边车辆数据功能作为前提;对象属性haspostfix(产生碰撞预警信息,发布碰撞预警信息)的语义是产生碰撞预警信息功能应该在发布碰撞预警信息之前执行。
52.步骤三:检验用户输入架构中引用的概念及其层级结构的正确性。
53.在本实施例中,依次遍历用户输入架构本体的每一个类,检查先验本体中是否存在与之相同的类,若在先验本体中不存在与之相同的类,则输出概念引用错误。否则,进一步诊断在用户输入架构本体中该类所处的层级是否与在先验本体中该类所处的层级一致。如果一致,进入步骤四;否则,输出概念的层级错误。设o1为先验本体,o2为用户输入架构本体,t1、t2分别为先验本体o1和用户输入架构本体o2的类的集合,a1、a2分别为先验本体和用户输入架构本体的类,诊断规则如下:
54.rule1:allclassis(o1,?t1)^allclassis(o2,?t2)^

faultmodeis(t1∪t
2-t1,概念引用错误)
55.此条规则通过判断用户输入架构本体中的类是否为先验本体中的类,来诊断用户输入架构中是否存在概念引用错误。
56.rule2:先验本体o1的类(?a1)^用户输入架构本体o2的类(?a2)^^hasuri(?a1,?uri1)^hasuri(?a2,?uri2)^swrlb:equal(?uri1,uri2)^hasobjectproperties(?a1,?op1)^hasobjectproperties(?a2,?op2)^differentfrom(?op1,?op2)

faultmodeis(?a2,概念层级错误)
57.此条规则通过比较在用户输入架构本体与先验本体中两个相同的类的对象属性是否相同,来诊断用户输入架构中是否存在概念层级错误。
58.步骤四:诊断用户输入架构中功能架构的完整性。
59.在本实施例中,首先以用户输入架构本体中的需求为查询条件,在先验本体中查询与需求对应的服务域。比较用户输入架构本体中与需求对应的服务域是否与从先验本体中查询得到的服务域一致。如果不一致,输出服务域与需求不匹配;如果一致,依次逐层检查服务域、服务、子服务、原子功能的包含关系是否正确。若正确,则进入步骤五;如果不正确,输出功能的包含关系错误。
60.诊断规则如下,其中,d为需求,s
dom
为服务域,s为服务s的集合,s
sub
为子服务s
sub
的集合,f为功能f的集合:
61.rule3:先验本体o1的需求类(?d1)^用户输入架构本体o2的需求类(?d2)^^hasuri(?d1,?uri1)^hasuri(?d2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的需求关联服务域集合^用户输入架构本体o2的需求关联服务域^

faultmodeis(与需求不匹配)
62.此条规则通过比较在用户输入架构本体与先验本体中两个相同的需求类关联的服务域是否相同,来诊断用户输入架构中是否存在服务域与需求不匹配。
63.rule4:先验本体o1的服务域类^用户输入架构本体o2的服务域类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的服务域关联服务集合^用户输入架构本体o2的服务域关联服务集合^(s1≠s2)

faultmodeis(s2,与服务域不匹配)
64.此条规则通过比较在用户输入架构本体与先验本体中两个相同的服务域类关联的服务集合是否相同,来诊断用户输入架构中是否存在服务与服务域不匹配。
65.rule5:先验本体o1的服务类(?s1)^用户输入架构本体o2的服务类(?s2)^^hasuri(?s1,?uri1)^hasuri(?s2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的服务关联子服务集合^用户输入架构本体o2的服务关联子服务集合^

faultmodeis(与服务不匹配)
66.此条规则通过比较在用户输入架构本体与先验本体中两个相同的服务类关联的子服务集合是否相同,来诊断用户输入架构中是否存在子服务与服务不匹配。
67.rule6:先验本体o1的子服务类^用户输入架构本体o2的子服务类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的子服务关联原子功能集合^用户输入架构本体o2的子服务关联原子功能集合^(f1≠f2)

faultmodeis(f2,与子服务不匹配)
68.此条规则通过比较在用户输入架构本体与先验本体中两个相同的子服务类关联的原子功能集合是否相同,来诊断用户输入架构中是否存在原子功能与子服务不匹配。
69.步骤五:诊断用户输入架构中物理架构的完整性。
70.在本实施例中,首先检查服务域与物理对象的对应关系。以用户输入架构本体中的服务域为查询条件,在先验本体中查询与服务域对应的物理对象,比较用户输入架构本体中与服务域对应的物理对象是否与从先验本体中查询得到的物理对象一致。若结果一
致,继续检验服务与物理对象的对应关系;否则,输出当前层的物理对象引用错误。依此类推,依次逐层诊断服务、子服务、原子功能与物理对象的对应关系。诊断规则如下,其中,s
dom
为服务域,s为服务,s
sub
为子服务,f为原子功能f的集合,p为物理对象p的集合:
71.rule7:先验本体o1的服务域类^用户输入架构本体o2的服务域类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的服务域关联的物理对象集合^用户输入架构本体o2的服务域关联的物理对象集合^(p1≠p2)

faultmodeis(p2,与服务域匹配错误)
72.此条规则通过比较在用户输入架构本体与先验本体中两个相同的服务域类关联的物理对象集合是否相同,来诊断用户输入架构中是否存在物理对象集合与服务域不匹配。
73.rule8:先验本体o1的服务类(?s1)^用户输入架构本体o2的服务类(?s2)^^hasuri(?s1,?uri1)^hasuri(?s2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的服务关联的物理对象集合(?s1,?p1)^用户输入架构本体o2的服务关联的物理对象集合(?s2,?p2)^(p1≠p2)

faultmodeis(p2,与服务不匹配)
74.此条规则通过比较在用户输入架构本体与先验本体中两个相同的服务类关联的物理对象集合是否相同,来诊断用户输入架构中是否存在物理对象集合与服务不匹配。
75.rule9:先验本体o1的子服务类^用户输入架构本体o2的子服务类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的子服务关联的物理对象集合^用户输入架构本体o2的子服务关联的物理对象集合^(p1≠p2)

faultmodeis(p2,与子服务不匹配)
76.此条规则通过比较在用户输入架构本体与先验本体中两个相同的子服务类关联的物理对象集合是否相同,来诊断用户输入架构中是否存在物理对象集合与子服务不匹配。
77.rule10:先验本体o1的原子功能类(?f1)^用户输入架构本体o2的子服务类(?f2)^^hasuri(?f1,?uri1)^hasuri(?f2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的原子功能关联的物理对象(?f1,?p1)^用户输入架构本体o2的原子功能关联的物理对象(?f2,?p2)^hasuri(?p1,?uri
p1
)^hasuri(?p2,?uri
p2
)^swrlb:notequal(?uri
p1
,?uri
p2
)

faultmodeis(p2,与原子功能匹配错误)
78.此条规则通过比较在用户输入架构本体与先验本体中两个相同的原子功能类关联的物理对象类是否相同,来诊断用户输入架构中是否存在物理对象与原子功能不匹配。
79.步骤六:诊断用户输入架构中逻辑架构的完整性。
80.在本实施例中,对用户输入架构中每一个功能,分别在用户输入架构本体和先验本体中查询其前序功能或后序功能,以及流入或流出的数据流,将二者查询结果相比较。若结果一致,执行步骤七;否则,若该功能在先验本体中的前序功能或后序功能与输入本体中该功能的前序功能或后序功能不一致,则输出功能间连接错误;若该功能在先验本体中流入或流出的数据流与输入本体中流入或流出的数据流不一致,则输出功能间数据流错误。
依次检验服务域层、服务层、子服务层和原子功能层的逻辑关系。
81.本实施例通过检验用户输入架构本体中功能的先序功能集合是否为先验本体中与该功能对应的功能所关联的先序功能集合的子集,来诊断用户输入架构中是否存在功能连接错误。
82.诊断规则如下:
83.rule11:先验本体o1的服务域类^用户输入架构本体o2的服务域类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的服务域关联的先序服务域集合^用户输入架构本体o2的服务域关联的先序服务域集合^

faultmodeis(服务域连接错误)
84.此条规则通过检验用户输入架构本体中服务域类的先序服务域集合是否为先验本体中与该服务域类对应的服务域类所关联的先序服务域集合的子集,来诊断用户输入架构中是否存在服务域连接错误。
85.rule12:先验本体o1的服务类(?s1)^用户输入架构本体o2的服务类(?s2)^^hasuri(?s1,?uri1)^hasuri(?s2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的服务关联的先序服务集合(?s1,?sa)^用户输入架构本体o2的服务关联的先序服务集合(?s2,?sb)^)^

faultmodeis(s2,服务连接错误)
86.此条规则通过检验用户输入架构本体中服务类的先序服务集合是否为先验本体中与该服务类对应的服务类所关联的先序服务集合的子集,来诊断用户输入架构中是否存在服务连接错误。
87.rule13:先验本体o1的子服务类^用户输入架构本体o2的子服务类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的子服务关联的先序子服务集合^用户输入架构本体o2的子服务关联的先序子服务集合^

faultmodeis(子服务连接错误)
88.此条规则通过检验用户输入架构本体中子服务类的先序子服务集合是否为先验本体中与该子服务类对应的子服务类所关联的先序子服务集合的子集,来诊断用户输入架构中是否存在子服务连接错误。
89.rule14:先验本体o1的原子功能类(?f1)^用户输入架构本体o2的原子功能类(?f2)^^hasuri(?f1,?uri1)^hasuri(?f2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的原子功能关联的先序原子功能集合(?f1,?fa)^用户输入架构本体o2的原子功能关联的先序原子功能集合(?f2,?fb)^

faultmodeis(f2,原子功能连接错误)
90.此条规则通过检验用户输入架构本体中原子功能类的先序原子功能集合是否为先验本体中与该原子功能类对应的原子功能类所关联的先序原子功能集合的子集,来诊断用户输入架构中是否存在原子功能连接错误。
91.本实施例通过执行如下规则,检验功能间数据流的正确性。其中,df为流入功能的数据流:
92.rule15:先验本体o1的服务域类^用户输入架构本体o2的服务域类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的服务域关联的流入数据流集合^用户输入架构本体o2的服务域关联的流入数据流集合^

faultmodeis(流入数据流引用错误)
93.此条规则通过检验用户输入架构本体中服务域类的流入数据流集合是否为先验本体中与该服务域类对应的服务域类所关联的流入数据流集合的子集,来诊断用户输入架构中是否存在服务域的流入数据流引用错误。
94.rule16:先验本体o1的服务类(?s1)^用户输入架构本体o2的服务类(?s2)^^hasuri(?s1,?uri1)^hasuri(?s2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的服务关联的流入数据流集合(?s1,?dfa)^用户输入架构本体o2的服务关联的流入数据流集合(?s2,?dfb)^

faultmodeis(s2,流入数据流引用错误)
95.此条规则通过检验用户输入架构本体中服务类的流入数据流集合是否为先验本体中与该服务类对应的服务类所关联的流入数据流集合的子集,来诊断用户输入架构中是否存在服务的流入数据流引用错误。
96.rule17:先验本体o1的子服务类^用户输入架构本体o2的子服务类^^hasuri^hasuri^swrlb:equal(?uri1,?uri2)^先验本体o1的子服务关联的流入数据流集合^用户输入架构本体o2的子服务关联的流入数据流集合^

faultmodeis流入数据流引用错误)
97.此条规则通过检验用户输入架构本体中子服务类的流入数据流集合是否为先验本体中与该子服务类对应的子服务类所关联的流入数据流集合的子集,来诊断用户输入架构中是否存在子服务的流入数据流引用错误。
98.rule18:先验本体o1的原子功能类(?f1)^用户输入架构本体o2的子服务类(?f2)^^hasuri(?f1,?uri1)^hasuri(?f2,?uri2)^swrlb:equal(?uri1,?uri2)^先验本体o1的原子功能关联的流入数据流集合(?f1,?dfa)^用户输入架构本体o2的原子功能关联的流入数据流集合(?f2,?dfb)^

faultmodeis(f2,流入数据流引用错误)
99.此条规则通过检验用户输入架构本体中原子功能类的流入数据流集合是否为先验本体中与该原子功能类对应的原子功能类所关联的流入数据流集合的子集,来诊断用户输入架构中是否存在原子功能的流入数据流引用错误。
100.需要说明的是,上述rule1—rule18是利用prot
égé
软件中swrltab插件以一种描述逻辑的语言写入的自定义swrl规则,其中的“?”代表可替代的值。
101.步骤七:诊断流程结束。
102.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献