(计算机软件与理论专业论文)c2体系结构风格的研究与应用.pdf_第1页
已阅读1页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)c2体系结构风格的研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北电力大学硕士学位论文 摘要 c 2 是一种基于构件和消息的体系结构风格,支持大粒度的软件复用和灵活的系 统组装,具有良好的应用前景。本文在深入研究c 2 风格的基础上,将c 2 风格与目 前普遍采用的三层b s 体系结构有机结合起来,提出了电能质量报警系统的分析与 设计方案,系统支持电压暂降报警、综合评估报警及监测设备报警等多种报警内容, 并支持网页、e m a i l 及短信等多种报警形式。系统在报警内容、报警形式等方面具 有灵活的定制功能,c 2 风格的采用使系统具有良好的可扩展性和灵活的分布部署能 力。 关键词:体系结构,构件,c 2 风格,电能质量,报警系统 a b s t r a c t c 2i saa r c h i t e c t u r a l s t y l e b a s e do nc o m p o n e n ta n d m c g s a g e , w h i c hs u p p o r t s l a r g e - g r a i n e ds o f t w a r e r c :u :s ea n df l e x i b l es y s t e m a s s e m b l y , a n dh a sg o o da p p l i c a t i o np r o s p e c t s o nt h eb a s i so fi n - d e p t hs t u d yo fc 2 - s t y l e ,t h i sp a p e rc o m b i n e st h ec 2s t y l ea n dw i d e l yu s e d t h r e e - t i e rb sa r c h i t e c t u r ea n dp r o v i d e sc o m p l e t ea n a l y s i sa n dd e s i g nr e s o l u t i o no fp o w e r q u a l i t ya l a r ms y s t e m t h i ss y s t e ms u p p o r t sv o l t a g es a ga l a r m ,c o m p r e h e n s i v ea s s e s s m e n t a l a r m ,m o n i t o r i n ge q u i p m e n ta l a r ma n ds oo n a l a r mf o r m ss u c h 勰w e bp a g et i p s ,e m a i la n d s h o r tm e s s a g es e r v i c ec a nb ec h o s e a l a r mc o n t e n t sa n df o r m sc a nb ef l e x i b l yc u s t o m i z e d w i t ht h ec 2 - s t y l e ,p o w e rq u a l i t ya l a r ms y s t e mh a sg o o ds c a l a b i l i t ya n df l e x i b i l i t yi nt h e d i s t r i b u t e dd e p l o y m e n t w a nh u a ( c o m p u t e rs o f t w a r ea n dt h e o r y ) d i r e c t e db yp r o f m as u - x i a k e yw o r d s : a r c h i t e c t u r e ,c o m p o n e n t , c 2s t y l e ,p o w e rq u a l i t y , a l a r ms y s t e m 华北电力大学硕士学位论文 目录 摘寻暮。i i l l b s t r a c t i 第一章引言1 1 1 课题背景及意义1 1 2 国内外研究现状及前景2 1 2 1 国外研究现状2 1 2 2 国内研究现状2 1 2 3 前景一3 1 3 论文研究的主要内容3 第二章c 2 体系结构风格及其应用5 2 1c 2 体系结构风格概述5 2 1 1c 2 体系结构风格的由来5 2 1 2c 2 体系结构风格的具体架构6 2 1 3c 2 体系结构风格中各组成元素的作用6 2 2c 2 体系结构风格的特点及应用1 0 2 3 小结1 1 第三章电能质量报警系统概述及需求分析。1 3 3 1 电能质量报警系统概述1 3 3 1 1 报警内容及数据来源1 4 3 1 2 报警形式1 4 3 2 系统功能需求1 4 3 2 1 用户自定义报警信息的设置1 5 3 2 2 用户自定义报警信息的接收对象15 3 3 系统静态建模1 5 3 3 1 类图15 3 3 2 类的详细描述1 6 3 4 系统动态建模1 9 3 5 系统开发平台及工具2 0 3 6 小结2 l 第四章电能质量报警系统总体设计2 2 4 1 物理体系结构设计2 2 华北电力大学硕士学位论文 4 2 功能结构设计2 3 4 3 逻辑体系结构设计2 4 4 4 数据库设计2 6 4 5 ,j 、结2 8 第五章基于c 2 风格的构件级设计与实现2 9 5 1 基于c 2 风格设计业务逻辑构件2 9 5 2 基于c 2 风格设计系统架构3 0 5 3 系统的c 2 语言描述3 1 5 3 1 系统c 2 架构风格构件的描述3 3 5 3 2 系统c 2 架构风格体系结构的描述3 7 5 4 系统的c 2 风格实现。3 8 5 4 1 消息的实现3 8 5 4 2 连接件的实现3 9 5 4 3c 2 构件的实现4 0 5 4 4 界面层实现。4 3 5 5 小结:4 4 第六章结论与展望。4 5 6 1 论文工作成果4 5 6 2 下一步研究工作展望4 6 参考文献4 7 j 1 5 【谢5 0 在学期间发表的学术论文和参加科研情况一5 l n 华北电力大学硕士学位论文 1 1 课题背景及意义 第一章引言 软件体系结构是根植于软件工程发展起来的新兴学科,目前已经成为软件工程 研究和实践的一个重要领域。软件体系结构设计的一个核心问题是能否使用重复的 体系结构模式,即能否达到体系结构级的软件重用【l 】。也就是说,能否在不同的软 件系统中,使用同一体系结构。基于这个目的,学者们开始研究和实践软件体系结 构的风格和类型问题。 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式【l 】。它 反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统 有效地组织成一个完整的系统【2 】。 运用软件体系结构风格进行软件重用能够减少开发费用,增加相近产品的共同 特性。但是,这里存在着一个体系结构风格定义的问题,如果风格过于严格,就会 限制传统构件的重用,如果风格定义得太随意,又会面临着诸如重用的构件不能清 楚的识别、构件粒度太大或太小,理解和修改一个构件可能还不如重新开发一个新 构件的费用低等问题。 因此,我们必须在两者之间取得平衡。c 2 体系结构风格作为一种经典的体系结 构风格,它就具有这种平衡的特性1 3 】。按照c 2 体系结构风格的规则,我们能够把各 种粒度的构件集成到一个系统结构中。可以说,c 2 体系结构风格对软件结构和软件 构件交互定义了一个良好的设计规范,同时还具有广泛的试验和工具【4 j 。因而,它 就为软件设计开发者提供了一个有效的软件重用环境。 目前,大型企业的组织机构基本上都为树型结构,而且各个机构可能位于不同 的地区。随着企业内部信息交互越来越频繁,分布式系统的应用越来越受到重视, 且对系统的可扩展性及可维护性的要求也越来越高。c 2 风格的主要特点是可用于创 建灵活的、可伸缩的软件系统。如果我们把c 2 这种基于构件和消息的软件架构风 格应用于这些具有树型结构的大型企业内部信息交换模式中,不管是从构件复用的 角度,还是从软件的设计规范来考虑,都将具有重要的意义。 华北电力大学硕士学位论文 1 2 国内外研究现状及前景 1 2 1 国外研究现状 国外专门研究软件体系结构始于2 0 世纪9 0 年代,当时软件规模的扩大和复杂 程度的提高让人们感到难以保证软件质量。1 9 9 4 年d a v i dg a r l a n 和m a r ys h a w 在论 文“a ni n t r o d u c t i o nt os o f t w a r ea r c h i t e c t u r e 中提出了软件体系结构的概念之后, 人们开始期望基于体系结构的分析设计和开发方法能够为软件开发带来帮助,这促 进了对软件体系结构的研究【2 1 。 软件体系结构风格又称软件体系结构习惯模式( i d i o m a t i cp a r a d i g m ) ,它描述的 是某一特定应用领域中系统组织方式的惯用模式,反映了领域中众多系统所共有的 结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。 目前软件体系结构的理论还不成熟,分类还不健全。g a r l a n 和s h a w 对通用体系结 构风格的分类如下【1 】: 数据流风格:批处理序列;管道过滤器 调用返回风格:主程序子程序;面向对象风格;层次结构 独立构件风格:进程通讯;事件系统 虚拟机风格:解释器;基于规则的系统 仓库风格:数据库系统;超文本系统;黑板系统 1 9 9 5 年,c a l i f o r n i a 大学i r v i n e 分校的r i c h a r d n t a y l o r 等人在一篇题为“a c o m p o n e n t a n dm e s s a g e - b a s e da r c h i t e c t u r a ls t y l ef o rg u is o f t w a r e 的论文中提出了 一种新的体系结构风格,将其称为“c 2 风格”【4 1 。这种风格的设计是用来支持图形 化用户界面应用程序的需要,然而,很明显,它还具有支持其他类型应用程序的潜 力。如今,在j a v a 平台上有许多中间件可以支持c 2 风格的实现。 1 2 2 国内研究现状 目前,国内也有不少机构在从事软件体系结构方面的研究,如北京大学软件工 程研究所一直从事基于体系结构软件组装的工业化生产方法与平台的研究,北京邮 电大学则研究了电信软件的体系结构,国防科学技术大学推出的c o r b a 规范实现 平台为体系结构研究提供了基础实施所需的中间件技术【l i 。许多大学为计算机软件 专业硕士和软件工程硕士都开设了软件体系结构课程。然而,软件体系结构尚处在 迅速发展之中,越来越多的研究人员正在把注意力投向软件体系结构的研究。关于 软件体系结构的研究工作主要在国外展开,国内对软件体系结构的研究尚处在起步 阶段。软件体系结构在国内未引起广泛关注的原因主要有两点: ( 1 ) 软件体系结构从表面上看起来是一个老话题,似乎没有新东西。 2 华北电力大学硕士学位论文 ( 2 ) 与国外相比,国内对大型和超大型复杂软件系统开发的经历相对较少,对软 件危机的灾难性体会没有国外深刻,因而对软件体系结构研究的重要性和必要性方 面的认识还不很充分。 1 2 3 前景 随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明就显得 越来越重要。对于大规模的复杂软件系统来说,总体的系统结构设计和规格说明比 起计算的算法和数据结构的选择变得明显重要。在此种背景下,一些人认识到了软 件体系结构的重要性,并认为对软件系统的体系结构进行深入的研究将会成为提高 软件生产率和解决软件维护问题的新的最有希望的途径【5 1 。 软件体系结构可以看成是软件体系结构风格的实例,软件体系结构风格是描述 某一特定应用领域中系统组织方式的惯用设计模式,是一组约束的集合【l 】。通过对 软件体系结构风格的研究和实践促进了对设计和过程的重用。经过实践证实的解决 方案可以可靠地用于解决新的问题。基于软件体系结构风格构建的系统可使其他设 计者很容易地理解系统的体系结构,且易于扩展和维护,具有广阔的发展前景。 1 3 论文研究的主要内容 本文深入研究了软件体系结构风格中比较经典的c 2 体系结构风格。通过分析 电能质量智能信息系统中的电能质量报警子系统业务需求,结合c 2 架构风格的优 点及应用,给出了基于c 2 风格的电能质量报警系统的完整解决方案。应用c 2 架构 实现了对电能质量监测点电压暂降、综合评估和采集设备的实时监控,通过网页报 警、电子邮件报警和短信报警方式通知相关负责人,以采取相应的措旌改进电能质 量,为用户减少因电能质量问题带来的损失。 论文的组织如下: 第一章是引言部分,介绍了本课题的研究背景及意义,国内外研究现状及前景。 第二章对本课题涉及的理论基础做了比较详细的介绍,包括c 2 风格的由来、 c 2 风格的具体架构、c 2 风格各元素的具体作用以及c 2 架构的特点和应用。 第三章对电能质量报警系统进行了叙述,主要包括系统所处的环境、系统功能 需求、从静态和动态的角度进行分析建模,并介绍了系统的开发平台和工具。 第四章是对电能质量报警系统的总体设计,包括物理体系结构、功能结构、逻 辑体系结构及数据结构的设计。 第五章主要讲述基于c 2 风格的构件级设计与实现,包括设计系统的c 2 业务逻 辑构件、系统的c 2 风格架构图、用c 2 语言对系统构件及架构进行描述以及系统主 要c 2 风格构件的实现。 3 华北电力大学硕士学位论文 第六章为全文的总结与展望,总结了本文的研究成果和所做的工作,并指出了 本文的不足之处及今后还要继续努力的方向。 4 华北电力大学硕士学位论文 第二章c 2 体系结构风格及其应用 2 1c 2 体系结构风格概述 2 1 1c 2 体系结构风格的由来 软件体系结构设计的一个核心问题就是能否使用重复的体系结构模式,即能否 达到体系结构级的软件重用【l 】。基于这个目的,学者们开始研究和实践软件体系结 构的风格和类型问题。运用软件体系结构风格进行软件重用能够减少开发费用,增 加相近产品的共同特性。但是,这里存在着一个体系结构风格定义的问题,如果风 格过于严格,就会限制了传统组件的重用,如果风格定义的太随意,又会面临着以 下几个问题p j : ( 1 ) 重用的构件不能清楚的识别; ( 2 ) 构件粒度太大或太小; ( 3 ) 构件不能提供确切的所需函数集; ( 4 ) 对构件的特化和集成很复杂; ( 5 ) 理解、修改一个构件,可能还不如重新开发一个新构件的费用低。 因此,我们必须在两者之间取得平衡。c 2 体系结构风格作为一种经典的体系结 构风格,它就具有这种平衡的特性。按照c 2 体系结构风格的规则,我们能够把各 种粒度的构件集成到一个系统结构中。可以说,c 2 体系结构风格对软件结构和软件 构件交互定义了一个良好的设计规范,同时还具有广泛的工具,因此,它也为软件 设计开发者提供了一个有效的软件重用环境。 c 2 体系结构风格最开始是用来设计具有用户界面的应用程序的,用户界面软件 常常可以看作是大量应用软件片段所组成,对用户界面领域的软件重用也只是局限 于一些窗口小部件代码( w i d g e t ) 的重用。这种体系结构风格使得像对话框、各种抽 象程度的结构图形模型以及约束管理器等用户界面构件很自然地得到了重用【4 1 。这 种体系结构风格还具有一些其他特点:构件可以用不同的语言实现,构件可以同时 运行在分布式和异构的环境下,构件不需要共享地址空间,体系结构可以在运行时 进行配置,多个用户都可与系统进行交互,多个窗口可以激活并具有不同的描述形 式,多种媒介类型得到支持。这些特点都是对于用户界面系统开发而言的。随着软 件体系结构风格研究的不断深入发展,c 2 体系结构风格逐渐融合了许多其他体系结 构风格的特点,也可以用来支持其他类型的应用程序开发【6 】。 5 华北电力大学硕七学位论文 2 1 2c 2 体系结构风格的具体架构 c 2 是一种基于构件和消息的架构风格,可用于创建灵活的、可伸缩的软件系统 7 1 。可以将c 2 架构看作是按照一定规则由连接件( 如消息路由设备) 连接的许多构件 组成的层次网络:系统中的构件和连接件都有一个“顶部”和“底部”;一个构件 的“顶部”或“底部”可以连接到一个连接件的“底部 或“顶部 ;对于一个连 接件,和其相连的构件或连接件的数量没有限制,但是构件和构件之间不能直接相 连。如图2 1 所示瞵j 。 图2 1c 2 架构风格图 c 2 风格定义了两种类型的消,g t 向上发送的请求消息( r e q u e s t s ) f f = t l 向下发送的 通知消息( n o t i f i c a t i o n s ) 。请求是通过向上层构件发送消息以获得某种服务,而通知 则是告知构件的内部状态发生了改变。连接件负责消息的路由、过滤和广播,构件 之间不存在直接的通信手段,而只能通过交换连接件发送的异步消息进行通信。 2 1 3c 2 体系结构风格中各组成元素的作用 下面分别介绍c 2 体系结构风格中各个组成元素的具体作用。 2 1 3 1 c 2 构件 c 2 构件有自己的状态、控制线程、必须包括顶层域( t o pd o m a i n ) 和底层域 ( b o t t o md o m a i n ) t 引。顶层域规定了该构件所能响应的通知消息集,以及它能向上产 生的请求消息集;底层域规定了该构件所能向下产生的通知消息集,以及它能响应 的来自于下层的请求消息集。 6 华北电力大学硕士学位论文 用户界面软件领域中一个c 2 构件可能具有的内部结构如图2 2 所示。该构件 包括一个定义了接口的内部对象( i n t e r n a lo b j e c t ) ,一个对象之外的包装器( w r a p p e r ) , 一个对话框约束器( d i a l o g & c o n s t r a i n t s ) 和一个域翻译器:( d o m a i nt r a n s l a t o r ) 5 1 。其 中,构件中的内部对象可以任意的复杂,例如可以是具有完整结构的窗口图形模型。 包装器的功能是对对象接口的任何调用,并把调用产生的结果从构件的底层域以通 知消息的形式发送给连接件,继而传给连接件下面的c 2 构件。因此,可以说构件 产生的通知消息类型是由内部对象的接口来决定的。 图2 2c 2 构件的内部结构 在上图中,我们可以看到,对内部对象的访问只能通过构件的对话框约束器部 分,这使得c 2 构件有它自己的线程控制【9 】。构件可以根据需要来定义对话框约束器 部分的功能,但是它通常包括下面三种功能: ( 1 ) 对构件上方的连接件发送过来的通知消息提供响应; ( 2 ) 对构件下方连接件产生的请求消息执行相应的操作; ( 3 ) 维护一些在对话框中定义好的约束条件。 对于情形( 1 ) ,对话框从构件的顶层域中收到通知消息,然后执行某一操作作为 收到通知消息的结果。在情形( 2 ) 中,构件在底层域中收到请求消息后,然后决定怎 样处理该请求。例如,它可以选择延迟处理请求、忽略请求、无条件执行相应的操 作或者执行一些其他的无关操作。情形( 3 ) 是最好理解的,比如在图形用户界面( g u i ) 设计中,窗口组件可能要满足一些诸如保持窗口之间的相对位置等条件,都可以在 对话框中定义约束来实现【1 0 】。 除了以上三种基本功能,c 2 构件的对话框约束器部分还可以向与构件上面相连 的连接件发送请求消息。 7 华北电力大学硕士学位论文 2 1 3 2 通知消息和请求消息 c 2 体系结构中的c 2 构件是通过消息进行异步通信的。消息包括一个消息名和 相关的类型参数集合【】。c 2 风格中有两种类型的消息:通知消息和请求消息 ( n o t i f i c a t i o n s a n dr e q u e s t s ) 。通知消息是在c 2 架构风格中从上往下传递的,而请求 消息是从下往上传递的【引。 让我们来看一下如图2 3 所示的一个简单系统的c 2 架构。该系统由一个连接 件连接两个c 2 构件组成。上面的a d t 构件负责存储二叉树的抽象数据类型( a d t ) 。 下面的a r t i s t 构件负责把这棵树的结构表示出来。在这个系统中,a d t 构件可能要 产生一个通知消息以表明有一个新的元素插入到树中,这个消息是由监视其内部对 象的包装器自动产生的。当此通知消息到达连接件下面的a r t i s t 构件时,a r t i s t 构件 就会对它的内部对象进行操作以更新这棵树的表示。 b i n a r yt r e ea d t c o m p o n e n t c o n n e c t o r b i n a r yt r e ea r t i s t c o m p o n e n t 图2 3c 2 架构风格的一个简单实例 另一方面,请求消息是由下层构件的对话框产生的,用来请求它上层的构件执 行某些操作。正如构件可以产生什么样的通知消息一样,构件可接收什么样的请求 消息也是由构件内部对象的接口来决定的。两者的不同之处在于,通知消息是声明 对象的什么接口被调用,参数是什么和返回值是什么;而请求消息则是声明期望调 用对象的某一可访问的功能函数。 再以图2 3 所示的系统为例,用户可以选择连接件下面的a r t i s t 构件所表示的 二叉树的一个结点,并对该结点执行删除操作。此时;a r t i s t 构件就会产生一个与 所选结点相关的请求消息,并通过连接件把它传递给a d t 构件。然后,a d t 构件 从它的内部对象中删除相应的元素以响应该请求消息。随后,a d t 构件还要向下产 生一个通知消息以表明对应的元素已被删除。最后,连接件下面的a r t i s t 构件收到 通知消息以更新对它的表示。 当我们考虑c 2 体系结构风格中的构件内部结构时,还有一个与遗留系统交互 的问题需要注意。比如一些商用的用户界面工具,它们界面的约定与c 2 体系结构 8 华北电力大学硕士学位论文 风格中的请求通知消息机制不相匹配。这些系统会产生诸如“窗口被选中 或“某 一键被按下 等形式的事件,这些事件需要转换成c 2 体系结构风格中的请求消息。 相反地,c 2 风格中的通知消息也不得不转换成用户界面工具所期望的调用形式。基 于上面的原因,我们在把一些遗留系统包装成构件的时候,内部对象的设计必须注 意消息处理与功能调用之间的相互绑定。 2 1 3 3 连接件 在c 2 体系结构风格中,连接件负责把c 2 构件绑定在一起,其上可以连接任何 数量的c 2 构件和连接件。连接件的主要职责是消息的路由和广播,另一个次要职 责是消息的过滤【i2 1 。连接件可以提供多个消息过滤和广播策略,主要有以下几种情 况: ( 1 ) 不过滤消息:每个通知消息都被发送到与连接件底层域相连的所有c 2 构件, 每个请求消息都被发送到与连接件顶层域相连的所有c 2 构件。 ( 2 ) 通知消息过滤:每个通知消息只被发送到那些为该通知消息注册过的c 2 构 件。 ( 3 ) 优先过滤策略:连接件为连在它上面的所有c 2 构件定义了一个优先级队列, 这个队列是在对体系结构进行构造时由设计人员根据一定的评价准则确定的。系统 运行时,如果没有什么中断条件发生,连接件就会按照优先级队列中的顺序把通知 消息发送给每个c 2 构件。当与连接件相连的几个构件提供相同的功能时,这种具 有优先级过滤策略的连接件就很有用处了。例如,一个文本拼写检查可能有许多不 同的实现。在这种情况下,一些计算可能要选择适当的拼写检查构件来发送它的通 知消息,就像h t m l 文档需要一个拼写检查构件用来忽略它所包含h t m l 标记命 令。 ( 4 ) 消息屏蔽:连接件忽略每个发送给它的消息。当我们要从系统中隔离出一个 子系统或向一个已存在的系统中增加一个子系统中,可以采用这种连接件。比如, 当我们要准备测试一个新构件时,设计者可以把它加到体系结构中,然后“打开 与它相连的连接件并改变连接件的消息过滤策略。 2 1 3 4 域翻译器 在c 2 体系结构风格中,构件不知道它下面构件的接口,我们可以说构件是独 立于下层构件的。这种构件相对于下层构件的独立性有利于在c 2 体系结构风格中 对构件进行替换和重用。另一方面,构件要向上发出请求消息,那么它必须知道上 层构件的底层域。基于以上原因,在c 2 体系结构风格中引入了域翻译器的概念。 域翻译器就是把构件所收到的请求和通知消息转换成它自己所能识别的特定形式 【i3 1 。如图2 2 所示,这个转换过程是由包装在构件之中的域翻译器来执行的。 9 华北电力大学硕士学位论文 对于单个请求消息或通知消息的翻译至少包括下面所述的两个步骤,这里仅以 请求消息为例: ( 1 ) 消息名称的匹配:如果c 2 构件所收到的消息名与它所期望的消息不一致, 系统将产生一个不匹配的错误。例如,一个构件可能发出“s t a c kp o p 的请求给它 上面的组件,而收到请求消息的构件却只能接收一个“p o p 的请求,在这种stack 情况下,域翻译可以起到一个简单的名字替换的作用。 ( 2 ) 消息参数的匹配:可能在消息参数的顺序和类型等方面产生不匹配的错误。 例如,构件a 以秒为参数的单位,发出一个请求“m a k ea j a r r n ( 5 ) ”给组件b ,并希 望5 秒后收到组件b 的“a l a r m 通知消息。如果组件b 只能接收毫秒为请求消息 参数的单位,那么这里就会出现错误。如果可能出现上面的情况,我们必须用领域 翻译来检查消息所带参数的正确性。 还有一些其他因素也可能会涉及到域翻译的问题。比如,一个构件产生一个包 含该构件完整状态信息的通知消息,但是接收通知消息的构件却只想知道构件状态 改变的信息,这时候也可利用领域翻译器来存储构件的状态信息,然后产生状态改 变的信息。 简单的域翻译功能,比如像名称替换和参数顺序交换等,可以用环境开发工具 由系统体系指定。设计人员可能要提供有关于构件的项层域与构件上面连接件的接 口之间的交互的语义解释,特别是构件和连接件部分通信或构件部分重用的情况 1 4 , 1 5 】。更为复杂的域翻译功能,比如产生缺少的参数和参数类型的转换,需要手工 运用脚本语言或程序语言来产生。 域翻译不可避免地增加了消息传送过程的负担。大多数情况下,消息传递本身 并不是影响性能的主要因素,反而是这种域翻译的问题存在导致了消息驱动系统的 低效性。因此,可以把域翻译看成是提高消息传递的效率和增强体系结构对组件重 用能力之间的一种折衷【1 6 】。 如果采用为相似构件定义的标准接口,我们可以减小域翻译的必要性,因此也 就出现了面向特定领域的体系结构。在面向特定领域的体系结构中,相似的构件定 义了相似的接口,构件之间的配置也是通用的,而且也存在一些体系结构的基本设 计模式和设计环境。 2 2c 2 体系结构风格的特点及应用 在c 2 架构风格中,连接件以独立实体存在( 在这一点上许多架构风格都不具 备) 【1 7 】。由连接件将各个构件连接起来并充当它们交互的中间件,从而将构件的接口 需求与功能需求相分离。这样,在系统架构的演化中对演化的处理策略、对演化部 分的隔离以及对演化的一致性维护都可以通过连接件来实现【1 s , 1 9 。c 2 风格区别于其 i 0 华北电力大学硕士学位论文 他软件体系结构风格的几个显著特点如下【3 】: ( 1 ) 基底独立性:构件不需要知道它下面的构件。一个反映构件内部对象状态改 变的通知消息对于构件的对话框是完全透明的,也就是说,构件的包装器仅仅是产 生一个通知消息,并不知道是否有任何构件会接收这个消息并对它产生反应。这种 独立于底层的特性增强了体系结构中构件的可替换能力和重用能力。 ( 2 ) 基于消息的通信:构件之间所有的通信只能通过消息进行。这种需求最常见 的情况是在用户接口系统中,应用需要异步处理的特性。比如无论什么时候,当用 户和应用程序执行操作,体系结构必须反映出这些操作的结果。基于消息的通信还 广泛地应用于分布式系统的开发。 ( 3 ) 多线程:这是另外一种异步处理的特性,它可以简化对于多用户和并行式应 用计算的建模和编程。 ( 4 ) 不共享地址空间:c 2 体系结构风格允许异构构件的集合,它没有规定构件 的实现语言,并且,构件也有它自己的线程控制和内部对象。这些特点使得对于任 何共享地址空间的假设都是不合理的。 ( 5 ) 体系结构和实现相分离:许多潜在的性能问题都可以通过体系结构和具体实 现的分离来解决。例如,在c 2 体系结构风格中,不允许任何关于共享线程和共享 地址空间的假设,但是通过把多个构件放在同一个进程和地址空间中,我们也许能 够得到一些附加的性能利益。甚至,有时候如果我们用过程调用来模拟消息驱动机 制,也能取得一些高性能的实现【2 们 c 2 风格的以上这些特点减少了构件之间的相互依赖性。构件通过一个顶层端口 和底层端口连接到c 2 架构中,这就使得架构中构件的增加、删除和重组变得非常 方便,有利于实现系统架构的变化,对系统演化及动态演化提供了很大程度的支持, 也有利于系统的扩展和维护【2 。正是由于具有这些优点,c 2 风格在许多领域都有 所应用。比如异构环境下的分布式应用;需要时常进行升级或更新的软件领域等。 2 3 小结 本章主要介绍了c 2 体系结构风格的一些相关理论知识及其特点和应用。首先 介绍了c 2 体系结构风格的产生背景。c 2 风格在软件体系结构风格的定义上达到了 以往传统体系结构风格所不具备的平衡性,为软件设计开发者提供了一个有效的软 件重用环境。然后,给出了c 2 体系结构风格的具体架构。我们可以这样理解,c 2 风格就是按照一定的规则通过连接件把各种c 2 构件连接起来的一个层次网络。构 件与构件通过消息的形式进行通信,下层构件向上层构件发送请求消息以请求某种 服务,上层构件通过发送通知消息以回应下层构件的请求。c 2 构件之间不存在直接 的通信手段,只能通过连接件进行通信。连接件上和其相连的c 2 构件和连接件的 华北电力大学硕士学位论文 数量没有限制。接着,对c 2 风格架构中各个组成元素的作用进行了详细的介绍, 包括c 2 构件、消息、连接件和域翻译器。最后,介绍了c 2 风格的特点及应用领域。 基于c 2 风格构建的系统易于维护和扩展,支持系统架构的动态演化,适合业务经 常更新的应用领域和分布式应用系统的开发。 1 2 华北电力大学硕士学位论文 第三章电能质量报警系统概述及需求分析 3 1 电能质量报警系统概述 随着我国经济和电力行业的快速发展,电能质量问题越来越突出。电压暂降和 暂升、短时断电、谐波电压以及谐波电流现象时有发生,给用户造成了很大的损失 【2 2 1 。所以,必须对电能质量进行实时监测、实时分析与识别,建立存储容量大、实 时更新能力强、浏览方便、能够实现高速数据流、数据库管理及数据共享等功能要 求的电能质量智能信息系统( p o w e rq u a l i t yi n t e l l i g e n ti n f o r m a t i o ns y s t e m ,p q i i s ) 。 通过电能质量智能信息系统的建立,可对区域电网从不同侧面了解电压和电流 质量以及系统整体运行的质量状况,可对电能质量可能造成的危害、影响程度和影 响范围做出判断,从而为电力公司对电能质量的治理提供科学的决策依据,并为解 决相关的电能质量纠纷提供重要依据。电能质量智能信息系统的应用,还可实现从 电能质量发生危害而采取应急措施的被动模式,到预测电能质量危害而采取积极措 施的主动模式的转变,必将在保证节能降耗和电网安全可靠、优质经济运行方面发 挥重要作用。 电能质量报警系统( p o w e rq u a l i t y a l a r ms y s t e m ,p q a s ) 是电能质量智能信息系 统的子系统,它们之间的关系如图3 1 所示。p q a s 旨在对区域电网监测点采集和 计算后的数据进行监测,包括对电压暂降、综合评估和设备状态等信息的监测。当 电压暂降幅值和持续时间超过预定的阀值、综合评估的结果超过预定的报警级别或 设备状态异常时,通过手机短信、电子邮件、网页报警等形式向相关负责人发出警 示,以得到相应的处理。 图3 - 1p q a s 环境图 华北电力大学硕士学位论文 3 1 1 报警内容及数据来源 电能质量报警系统提供的报警内容如下: ( 1 ) 电压暂降报警:电压暂降是指三相电压的任意一相电压r m s 有效值暂时下 降到额定值的9 0 至1 0 ,而后又恢复的现象,其典型持续时间为o 5 s l m i n 【2 3 1 。 当系统监测到某个监测点采集上来的数据发生了电压暂降,且暂降幅值和持续时间 超过了预定的阀值,则产生相应的报警信息; ( 2 ) 综合评估报警:电能质量综合评估是电能质量多指标( 如电压正或负偏差、 频率正或负偏差、三相电压不平衡度、谐波电压总畸变率、长时闪变等) 综合量化成 的一个指标,用来作为电力市场环境下全面考核电能质量和修正电价的依据【2 4 1 。在 p q i i s 系统中,综合评估包括监测点综合评估、电压等级综合评估和区域综合评估。 在p q a s 系统中,只考虑监测点综合评估报警的情况。当系统监测到监测点综合评 估指标的评估结果达到预定的报警级别时,则产生相应的报警信息; ( 3 ) 设备报警:电能质量前端监测设备负责采集供电能质量分析用的数据信息, 由于设备需要不问断地运转,其发生故障产生异常时有发生。当系统监测到某个监 测设备状态异常时,则需要产生相应的报警信息,以告知相关负责人进行处理。 电压暂降报警和综合评估报警所依据的数据来自p q i i s 数据库,而设备报警则 依据p q a s 系统定时地通过命令的方式从设备上获取的数据。 3 1 2 报警形式 p q a s 系统报警采取的形式大致可以分为以下三类: ( 1 ) 网页报警:即当报警发生时,在相应页面的指定位置以一种特殊的字体或颜 色显示给特定的用户。如某一监测点上的设备采集的电压暂降事件超过了用户设定 的暂降幅值和持续时间,则在相应的电压暂降报警页面上,对该暂降事件的某个字 段以不同颜色的字体给出不同级别的报警。 ( 2 ) e m a i l 报警:当报警发生时,以e m a i l 的方式向特定的负责人发送电子邮件。 在电子邮件的内容中,说明此次报警的具体信息,例如何种类型的报警、报警日期、 报警的来源等。 ( 3 ) 短信报警:与e m a i l 报警类似,区别在于报警的具体信息是通过手机短信这 种实时方式告知给相关负责人。 3 2 系统功能需求 考虑到报警系统的灵活性,下面将对系统的功能要求进行描述。 1 4 华北电力大学硕士学位论文 3 2 1 用户自定义报警信息的设置 用户自定义报警信息包括以下几个方面: ( 1 ) 允许用户自定义报警内容 根据需要,用户可以自行设定报警的内容。比如,某些特定的用户只希望收到 电压暂降的报警信息,应能给这些用户提供报警内容的选择。 ( 2 ) 允许用户自定义报警形式 针对不同的报警内容和需要,允许用户自行设定报警形式,包括e m a i l 报警、 短信报警等。比如,一些用户希望通过e m a i l 的方式接收报警信息,一些用户希望 通过手机短信来接收报警信息,还有些用户希望同时接收两种报警形式。 ( 3 ) 允许用户自定义报警级别 针对不同的报警内容,根据不同的阀值,可以定义不同的报警级别。不同的负 责人可以接收不同报警级别的报警信息。比如,职位较高的负责人只接收报警级别 较高的报警信息。 3 2 2 用户自定义报警信息的接收对象 用户可以对报警的相关负责人进行编辑。比如添加、修改或删除报警信息的接 收对象。通过报警接收对象的设定,某些报警信息只有特定的负责人可以看到或收 到另外,用户还可以针对不同的报警形式,选择不同的负责人。例如,对于设备 报警信息,只需要将报警信息发给主管该设备的负责人或有权限查看该设备信息的 负责人看到。 3 3 系统静态建模 这一节,我们将对电能质量报警系统进行静态建模,主要是对系统中涉及的类进行 分析。 3 3 1 类图 类图( c l a s sd i a g r a m ) 用来表示系统中的类和类之间的关系,它是对系统静态结构 的描述【25 1 。类图不仅定义系统中的类,表示类之间的联系( 关联、依赖、聚合等) , 也包括类的内部结构( 类的属性和操作) 【2 6 1 。经过对电能质量报警系统问题域的深入 分析,建立了以下几个类: ( 1 ) u n i t 类:单位类; ( 2 ) s i t e 类:监测点类; ( 3 ) d e v i c e 类:设备类; 华北电力大学硕士学位论文 ( 4 ) p r i n c i p a l 类:负责人类; ( 5 ) s a g e v e n t 类:暂降事件类; ( 6 ) a s s e s s m e n t 类:综合评估类; ( 7 ) a l a r m 类:报警类; ( 8 ) e m a i l 类:电子邮件类; ( 9 ) s h o r t m s g 类:短消息类。 以上各类之间的关系如图3 2 所示。 u n i t = i i u n i t c o d e d l l u n i t n a m e 岛u n h t e l e p h o n e d i p u n i t a d d r e s s 1 n p r i n c i p a l a d d p r i n c i p a l 0 d e l e t e p d n c i p - a 1 0 m o d i f y p r i n c i p a l 0 n n e m a i l n n n q h l e s t i n a t i o n j | l p s o u r c e 真i h d l e o n t e n t 真p e m a i l l d l a l a m l l d a d d e m a i l 0 d e i e t e e m a i l 0 m o d f f y e m a i l 0 e t e m a i l 0 s h or t m s g a d d s h o r t m s g o d e l s h o r t m s 9 0 m o d i f y s h o a m s 9 0 g e t s h o r t m s 9 0 s i t e n s a c i e v e n t 食:; h a p p e n d a t e e b s t a n m e 每: p h a s e 层b p u 食; d s e c o n d t 参g r a d e 彩d c f c l e e a s o n 鸟s d e l d 3 3 2 类的详细描述 图3 - 2 系统的类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论