APP下载

资源描述框架语义网视角下的智能电网模型

2014-09-10赵俊峰庄哲寅承轶青阚建飞丁宋涛

综合智慧能源 2014年4期
关键词:子类范式语义

赵俊峰,庄哲寅,承轶青,阚建飞,丁宋涛

(1.江苏省电力公司,南京 210024;2.南京工程学院,南京 211167)

1 问题的提出

数据集成是智能电网发展的必然要求,数据共享是避免智能电网中出现“信息孤岛”企业级的必然趋势。在异构的信息系统之间,数据的交互往往来自不同的渠道,系统间的数据内容、数据格式存在着明显的差异性,难以实现数据的无缝对接。由于数据对接存在着天然的异质性,会直接导致信息丢失而造成灾难性后果。这种数据对接的异质性严重阻碍了信息交流的通畅与准确。为了改善这个局面,利用数据集成的方法在各种数据之间架起信息沟通和交换的桥梁已经越来越引起人们的关注。

目前最常用的方法是使用可扩展标记语言(XML)作为数据集成的工具。虽然XML已经有了各种版本的解析器,但是XML书写的随意性使得文件中的词汇不具有通用性,必须同时拥有一个处理器来处理词汇的语义。很显然,这些程序之间并不存在互换性和通用性。XML的设计初衷是以平面性的树状结构完成信息的分层次存储,难以满足信息系统语义交流的要求。为此,万维网联盟(W3C组织)提出了新一代的XML格式——资源描述框架(RDF)。 RDF是在XML树状结构的基础上加以扩展而形成的语义Web的解决方案。这种新型的数据结构将XML的树形模型推广到图状结构——将单一的层次节点转换为节点间的通路来描述信息的交互。RDF中节点继承了XML中的节点的性质,并使用连接弧描述了节点的属性。因此,RDF不仅将节点的性质进行了描述确定,并进一步规范了节点向节点之间迁移时候的基本规范。这意味着RDF是一个简单的二元标准谓词关系。关系范式理论指出,任意复杂的关系必定是多个简单的二元关系的聚合,因此,RDF的数据模型具备了解释足够复杂关系模型的理论基础。

2 RDF资源描述框架与语义网

2.1 基本概念

RDF是一个用于表达关于网络资源信息的语言。RDF是一种元数据描述框架,它起初的设计目的是为了给Web资源添加统一的命名标识(如页面的标题、作者以及版权信息等)。然而,随着互联网资源的概念泛化以后,RDF被视为可以用于表达任何能在Web上定位的事物和资源。RDF通过将数据信息的语义化后,能够在不同的应用程序间交换信息,从而成为新一代的Web语义网的通用框架。

RDF可以被视为一种图状结构的数据交换的语义框架:用统一资源定位符(URI)来确定网络事物,用简单属性来描述该事物所拥有的资源。这意味着RDF将普通的谓词逻辑表示成为由节点和连接弧组成的图,其中的节点和弧确定了互联网的资源和属性,这意味着节点成为了携带信息的语义个体。

正是由于节点成为了携带信息的语义个体,只要将这些语义信息使用一定的动作就可以完成信息的流动。可行性计算原理指出,一套谓词(RDF中的节点)+谓词演算规则(RDF中的陈述)=逻辑自洽的信息推演系统,这为RDF奠定了可行性的计算基础,还意味着RDF不仅能够完成信息的标识,还能够完成信息的流转和推送。当RDF框架与具体的商务逻辑结合在一起时,就具有了切实解决行业问题的能力,为此作者列出一个典型的电网语义模型,该模型使用了地理信息作为Entity(实体),这样,实体中的各个信息都携带了类型、时间等信息,从而扩张了实体的语义功能。进一步来说,可根据地理层级将子站作为区域的子类,这样的层级信息也自然归属到了控制权限之中,为进一步处理信息奠定了语义基础。

2.2 结构化数据与面向对象的语义差距

目前信息系统的应用开发模式“数据库操纵语言+宿主语言”被广泛使用,但它存在一些缺点,例如:结构化查询语言(SQL)是基于关系数据库的查询语言,其操作对象是一个数据集(关系),而与之相关的宿主语言(如C语言)每次却只能处理一个数据记录(元组),且两者支持不同的编程风范和数据类型,这就是数据库操纵语言和宿主语言的阻抗不匹配问题。阻抗不匹配是企业信息应用中的严重问题,高达25%~33%的开发时间浪费在努力将对象挤压进关系型的持久化。这是因为在关系数据模型的设计中,必须遵循关系型数据的三大范式。

在第1范式中,内容相似的数据列必须消除,这就意味着在信息系统的数据存储中,必须为每组相关数据分别创建一个表,同时,每条数据记录必须用一个主键来标示。在第2范式中,只要数据列里面的内容出现重复,就意味着应该把表拆分为多个表,在拆分形成的表必须用外键关联起来。在第3范式中,与主键没有直接关系的数据列必须消除,在第3范式的基础上,数据库的设计具备完备性的语义和逻辑自洽。

为了满足设计数据库的需求,在面向对象的语义中,就要求用户必须学会完成这2种语义的适配,并掌握两者间的连接规则,即:第1步,每个持久对象映射一个表并且每个持久对象必须有一个主键,这就完成了数据库的第1范式的要求;第2步,持久对象要有内聚性,冗余的内容拿出去,单独创建持久对象,并且用外键关联持久对象之间的关系,这就完成了第2范式的要求;最后,持久对象要有内聚性,单独创建持久对象,这就完成了第3范式的要求。

特别需要说明的是,对象模型当中特有的“继承”“组合”“聚合”“依赖”的概念在关系模型当中是不存在的,这就要求设计者在异构系统中,将这些概念统一起来。

3 基于RDF的智能配电网模型的实现与应用

下面以智能配电网设备模型为例,说明RDF框架的面向对象的设计与运用。开闭所(SwitchingStation)又称开关站,是为了便于分配同一电压等级的电力而在线路中间设置的配电设施。断路器、负荷开关、电流互感器、电压互感器、母线是开闭所的基本结构单位。显然,开闭所也是一种配电网的实体,将它作为设备容器(EquipmentContainer)的一个子类,从而继承了EquipmentContainer与设备(Equipment)之间的聚集关系,开闭所模型如图1所示。

图1 开闭所模型

开闭所10 kV母线一般有单母线、单母线分段和双母线等接线方式,为了在类开闭所体现母线的接线方式,在固有属性中加入BusbarConnectionType来描述母线接线方式。开闭所是一组设备的集合,其作用是将电能输送到电能用户,增加母线供电线路的条数,因此,应该在固有属性中增加能描述出线数量的属性OutletNumber。

很明显会发现开闭所模型有一个共同的抽象父类EquipmentContainer。在传统的信息系统开发中,为了尽可能实现系统的完备性,在系统设计中,倾向于尽可能穷举设备和结构,其结果将直接导致类数量的迅速膨胀,必然为后期开发带来庞大的工作量,也不利于后期维护的便利性。对此,只要能够刻画出开闭所的一般特征,就应当视为完成了类的概要设计。对此,在设计中分离了开闭所的属性和作用,以便于开闭所对象的逻辑抽象。表1展现了开闭所的固有属性,表2则列举了开闭所的固有作用。

表1 开闭所的固有属性

表2 开闭所的固有作用

类的封装是为了隔离对象的异质性,类的抽象是为了封闭对象的同质性,具有高度一致的属性和功能的集合才是真正的类。考察开闭所模型的业务逻辑可以发现,通过将接线方式划分为单母线,将单母线分段划为双母线以后,系统已经可以满足开闭所的10 kV母线的完全覆盖。如果单一设计这些子类,会使得对象的种类和数量迅速增加,对象间结构过于复杂。这违反了单一职责原则——一个对象应该有且只有一个引起它变化的原因。因此,可抽象出SwitchStation作为抽象类,将母线类型作为依赖关系加入对象结构。这样的设计完成了面向对象系统中高耦合、低内聚的要求,将对象的同质性进一步提升和充实。其中断路器(Breaker)、母线站(BusbarSection)和负荷开关(LoadBreakSwitch)是具体的实现细节。根据面向对象语言的语法规定,这些子类完全实现了抽象接口的方法,从而保证了异质性的分离——子类具有独特的行为和能力。这些具体功能被子类所细化和扩展,子类在父类的通用属性基础上,通过泛化进一步衍生出父类所不具备的能力。这些新扩展的功能则体现了新生对象的异质性。这种既兼顾了对象的同质性,又扩展了对象的异质性的策略将极大地增强系统的灵活性和扩充性:系统依赖于接口,父类具备了共性,子类负责具体的实现策略。

4 结论

传统的Web数据交换中由于缺乏统一的数据交互标准,数据在传输过程中往往面临着信息损失的困境。面向对象系统在设计过程中,由于对象本身的语义特征使得人们希望能够在Web中直接交换对象以解决语义问题,因此,可从对象设计入手,确定出具有业务逻辑意义的实体类。这些类描述了不同的设备、介质、物件等配电网实体,将这些信息结构结合起来,就形成了一个完整的配电网的对象结构体系。

在配电网模型实现的过程中,基于通用设备的梳理,首先将设备信息罗列展开,接下来使用RDF方法,将这些抽象数据类型转换为语义对象。抽象出的实体同时附带了语义信息,更为重要的是,这些实体通过RDF的作用和状态转换的方法,将完成语义信息的传输与共享。因此,在实施配电网建模的过程中,通过规范设备,切合语义逻辑,就可以完成异构数据的统一模式,对于提高智能电网的信息自动化水平具有实际意义。

参考文献:

[1]Robert C.Martin.敏捷软件开发原则、模式与实践[M].邓辉,孙鸣,等,译.北京: 清华大学出版社,2003.

[2]常康,薛峰,杨卫东. 中国智能电网基本特征及其技术进展评述[J].电力系统自动化,2009,33(17):10-15.

[3]李兴源,魏巍,王渝红,等.坚强智能电网发展技术的研究[J].电力系统保护与控制,2009,37(17):1-7.

[4]IEC 61970-401—2013 Energy management system application program interface(EMS-API)part 401:component interface specification(CIS)framework[S].

[5]MERCURIO A,DI GIORGIO A,CIOCI P.Open-source implementation of monitoring and controlling services for EMS/SCADA systems by means of web services-IEC 61850 and IEC 61970[J].IEEE Trans on Power Delivery,2009,24(3):1148-1153.

[6]章坚民,楼坚. 基于CIM/SVG和面向对象的配电单线图自动生成[J].电力系统自动化,2009,32(22):61-65.

猜你喜欢

子类范式语义
真实场景水下语义分割方法及数据集
以写促读:构建群文阅读教学范式
范式空白:《莫失莫忘》的否定之维
孙惠芬乡土写作批评的六个范式
语言与语义
Java面向对象编程的三大特性
汉语儿童早期子类名词获得研究
管窥西方“诗辩”发展史的四次范式转换
Java类的继承
批评话语分析中态度意向的邻近化语义构建