持久对象在人机界面开发中的应用

来源:网络  作者:网络转载   2019-09-25 阅读:308
1. 自八十年代以来,面向对象的方法和技术已受到人们的广泛重视,越来越多的人开始采用面向对象的方法来设计与开发软件[1,2,4]。计算机软件的一个主要功能是用于刻划和模拟客观世界中的某些活动,而面向对象方法中的对象正是对客观世界的一种直接模拟。因此,用面向对象方法开发软件就显得比较自然,设计出的软件结构与问题结构有较好的对应,使得软件对问题的变化有较好的适应性,从而易于修改与扩充(维护)。另外,面向对象方法中的类、封装以及继承等机制为软件的设计与复用带来了便利,从而可提高软件生产率。 在面向对象方法中,持久对象概念的引入,使得对象可以穿越时间和空间,即对象在其创建者消亡后还可以继续存在,并且可以从一个地址空间(内存)转移到另一个地址空间(磁盘)。本文根据对象的这一特征,提出了开发控制系统人机界面的一种策略,在该策略中,人机界面中的画面被看成是由一组持久对象构成,它们分别对应于一些实际受控设备,人机界面的功能由画面中的这些对象来完成。画面中的对象在画面设计时被创建,然后,这些对象可以脱离其创建者(画面设计工具)而继续存在,并从内存转移到磁盘。实施系统控制时,设计好的画面从磁盘装入内存,其中的对象就开始对受控系统实施控制。 本文首先介绍利用持久对象概念开发人机界面的主要思想,然后对人机界面中画面对象的设计进行考虑,最后以电力控制系统人机界面的开发为例,给出这一策略的具体应用描述。2. 在整个软件系统的开发中,人机界面的开发往往要占很大一部分工作,并且人机界面的好坏直接影响整个系统的可用性和其它性能。这里,我们提出了一种基于持久对象概念的控制系统人机界面开发策略,在该策略中,把人机界面中的画面看成是某个受控系统的一个抽象,一个画面代表了一个受控系统,画面中的每个元素(称为画面元素)对应于一个受控对象(设备),整个画面是由一组抽象对象(画面元素)构成,他们的属性与操作反映了各受控对象的特征。因此,这里的画面不再是一些被动的图形,而是体现系统行为,并参与系统各项活动的一组对象。 采用本文提出的策略,可把控制系统人机界面的开发分为两个阶段:离线阶段(off-line)和在线阶段(on-line)。1)离线阶段提供一个画面设计工具,用于对控制系统人机界面中的画面进行设计,设计的画面作为一组持久对象存入磁盘(文件或数据库);2)在线阶段装入由(1)设计的画面,作为控制系统的人机界面,这时,该画面中的对象与控制系统其他部分共同构成一个完整的系统,对受控系统实施控制。 从上述描述中可看出,画面中的对象具有两种角色(图1):在离线阶段,一旦被创建,这些对象就作为画面设计工具的一部分,与其他部分一起共同完成画面的设计工作;在在线阶段,一旦被装入,这些对象就作为控制系统的一部分,参与系统的控制。画面中的对象由画面设计工具创建,但它们可以脱离画面设计工具而继续存在,并从内存转移到磁盘。在控制阶段的某一时刻,画面也可被存入磁盘,这时存入磁盘的对象的状态就反映受控系统那一时刻的状态,是系统状态的历史记录。 采用上述人机界面开发策略所带来的好处有以下几点: ·用户可以利用提供的工具自己设计所需画面,而不是被动地接受开发人员为之开发的固定画面。 ·随着受控系统规模的变化,画面可以很方便地被修改(重新设计)。 ·当受控系统增加新类型的受控对象时,由于系统采用面向对象的设计方法,一般只需增加新的类定义,系统扩充比较容易,并且新类可以继承已有类的很多特征,便于复用。 ·受控系统的状态可以随时作为一组(持久)对象保存起来,需要时,重新调入它们即可再现受控系统的历史状态。 ·用本策略设计的开发工具可作为一种通用的工具,用于开发某一类系统的人机界面,如各个地区(或部门)的电力控制系统。3. 如上所述,在控制系统人机界面中,受控系统可由一个画面来抽象表示,画面中包含了若干画面元素,这些画面元素作为对象代表了一些实际受控对象。由于这些对象(画面元素)作用于画面设计与系统控制两种环境,因此在设计这些对象的属性与操作时,必须考虑他们在这两种不同环境中的作用。 首先,一个画面本身就是一个对象,它是整个受控系统的一个抽象表示。 其特征可由一个<画面类>来描述,它由属性与操作构成。其中属性包括画面元素集、背景颜色、缩放率等等;操作有画面的存/取、缩放、画面元素的增加/删除及画面显示等等。 其次,画面元素可分成两部分:一部分是与受控对象无关的辅助元素,其作用主要是加强画面的生动性,对画面作补充说明,如:文字、各种静止图形(矩形、椭圆、线等),它们主要参与画面设计工作;另一部分是与受控对象有关的画面元素,它们分别对应于一个受控对象,除了具有辅助画面元素的特征外,这些画面元素还反映了受控对象的状态,它可参与画面设计与系统控制两方面的工作。 根据画面元素在不同环境中的作用,其属性主要包括图形信息和受控对象状态信息。图形信息由一组或几组图形对象构成,它们用于画面元素的显示。这里,辅助画面元素只包含一组图形对象,即只有一种显示状态;其他画面元素可以包含几组图形对象,在系统控制时它们根据受控对象的状态,显示其中的一组图形。受控对象状态信息包括受控对象标识、受控对象状态数据等。其中受控对象标识是在画面设计时定义,用于标识相应的受控对象;受控对象状态数据是在实时采集数据时,根据受控对象标识从相应设备中获取,它反映了受控对象在某一时刻的状态,其主要作用是用于决定显示画面元素的哪一组图形。 画面元素的操作也分成两个部分:画面设计与系统控制。画面设计操作主要有显示、移动、缩放、改变颜色/字体、定义受控对象标识等等。系统控制操作有数据采集、由采集到的数据决定显示状态(变换图形、改变颜色、闪烁等)、协助操作员进行系统控制操作等等。这里,画面元素的数据采集与控制操作不必直接与具体受控设备打交道,可通过一个数据库来完成(图2)。实时采集系统把采集到的数据存入数据库,画面元素定期从数据库中获取数据;同样,控制数据由画面元素放入数据库,设备控制系统从数据库存中获取控制信息对设备进行控制。画面元素的特征可由<画面元素类>来描述,它与<画面类>之间构成部分与整体关系。 最后,在设计画面元素的图形信息时,可采用一个类层次结构来描述各图形对象类之间的关系。画面元素所包含的图形对象可以是正文、矩形、椭圆、线等一般图形,也可以是:时间、数值、坐标轴、仪表表针、仪表表盘、直方图以及曲线等具有实际意义的图形。他们分别属于不同的类,其父类可用一个<图形类>来描述,各种图形对象类之间构成一般与特殊的层次关系(图3)。一组图形对象表示受控对象的一种状态,根据受控对象的可能状态,相应画面元素可包含一组或几组图形对象。 画面元素由画面设计工具创建,设计的画面作为一组持久对象存入磁盘。在控制系统中装入它们实施对受控系统的控制。在实施控制的某一时刻,画面也可存盘,这时,存盘的对象的状态就代表了受控系统那一时刻的状态,可作为受控系统的历史记录。作为一组持久对象,这些画面元素可独立于创建者而存在,其存在的空间可以是内存,也可以是磁盘,并且可以在这两者之间转移。4. 电力系统是一个庞大而复杂的系统,电力系统控制是客观世界的一种活动,其中涉及许多受控对象,如开关、闸、和变压器等等,每个受控对象又有其自身的状态和对事件的响应能力。对电力系统进行控制,除了要有良好的控制算法外,还必须要有友好、方便的人机界面。因为电力系统控制过程中许多参数的设置,实时采集数据及各受控对象状态的显示等,都是通过人机界面进行的,因此,对于电力控制系统来说,人机界面直接反映了受控系统的行为。 基于上述的控制系统人机界面开发策略,我们在Windows 95环境中,利用Visual C++所提供的MFC基础类库设计并实现了一个电力控制系统人机界面开发工具,它包括画面设计工具和画面使用工具。这里的画面主要是指电力系统的接线图,其中主要包括母线、开关、刀闸、变压器、遥测值、仪表图、直方图、曲线图及一些辅助画面元素。这些画面元素中,有一些是用不同的图形来表示受控对象的状态,如开关、刀闸等,根据这些画面元素所表示的受控对象的可能状态,一般可把它们分为单值、双值、三值及四值元素,它们分别包含一组、二组、三组及四组图形对象。 每组图形对象反映了受控对象的一种状态,在系统控制时,由受控对象的实际状态决定显示画面元素的哪一组图形;画面中的另一些画面元素是用数值来表示受控对象的状态,如遥测值、仪表图、直方图及曲线图等,它们把受控对象的状态数据(电流、电压等)用文字、仪表或曲线等形式显示出来。另外,画面中还包括一些辅助画面元素,它们不涉及受控对象,主要用于对画面进行补充说明,如正文及各种静止图形。 当画面过大以至不能在一屏中显示时,可把它分成几个画面来设计,在主画面中用<画面引用>来代表其它画面。<画面引用>作为一种画面元素,用于标识其它画面,通过它可以从一个画面察看其它画面。这样,当受控系统规模较大时,界面操作人员不至于一下陷入过多的细节之中,可以分片、分段地显示受控系统的状态,并对其实施控制。这进一步体现了人机界面的抽象功能。 画面设计工具主要用于创建画面元素及它们所包含的图形对象。其中提供了一个图形对象编辑器,用于根据一些标准图形元素来构造图形对象组,一个图形对象组表示了某个受控对象的一种状态。利用图形对象编辑器设计的图形对象组可作为一些标准图形对象组保存起来。在创建画面元素时,可利用一个标准图形对象组选择器获取所需的图形信息,标准图形对象组选择器将列出所有由图形对象编辑器设计的标准图形对象组。画面元素的受控对象标识也在画面设计时定义,受控对象标识实际上代表了数据库中的一个位置,该位置用于存放受控对象的状态数据及一些管理信息(如设备的容量及地理位置等),通过用户界面可以获得这些信息。在存储画面时,画面元素的状态被存进磁盘,其类定义存放在类库中。这里的画面设计工具是一个开放式工具,画面及标准图形对象组均可由用户自己设计。 画面使用工具作为控制系统的一部分,主要完成以下工作:从磁盘装入画面;根据定时器消息,向各个画面元素发送数据更新消息;各画面元素在收到数据更新消息后,根据受控对象标识从数据库中获取相应受控对象的状态数据,以决定其显示状态。另外,各画面元素还可接收人工干预消息,如参数设置等,对数据库中的相应数据作修改,以控制实际受控对象的行为。在系统控制的某一时刻,也可把画面存盘,这时,存入磁盘的对象的状态就反应了受控系统那一时刻的状态,作为受控系统的历史记录。5. 本文提出了一种基于持久对象概念的控制系统人机界面开发策略,该策略把人机界面中的画面看成是由一组持久对象构成,人机界面的功能由这些对象来完成。画面由设计工具创建,在控制系统中使用。这种人机界面开发策略不限于电力控制系统人机界面的开发,在其它类似系统的开发中也能使用。
标签: 人机界面
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

购物指南

支付方式

商家合作

关于我们

微信扫一扫

(c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

在线咨询

在线咨询:

QQ交流群

微信公众号