1.引言
自八十年代以来,面向对象的方法和技术已受到人们的广泛重视,越来越多的人开始采用面向对象的方法来设计与开发软件[1,2,4]。计算机软件的一个主要功能是用于刻划和模拟客观世界中的某些活动,而面向对象方法中的对象正是对客观世界的一种直接模拟。因此,用面向对象方法开发软件就显得比较自然,设计出的软件结构与问题结构有较好的对应,使得软件对问题的变化有较好的适应性,从而易于修改与扩充(维护)。另外,面向对象方法中的类、封装以及继承等机制为软件的设计与复用带来了便利,从而可提高软件生产率。
在面向对象方法中,持久对象概念的引入,使得对象可以穿越时间和空间,即对象在其创建者消亡后还可以继续存在,并且可以从一个地址空间(内存)转移到另一个地址空间(磁盘)[2]。本文根据对象的这一特征,提出了开发控制系统人机界面的一种策略控制工程网版权所有,在该策略中,人机界面中的画面被看成是由一组持久对象构成,它们分别对应于一些实际受控设备,人机界面的功能由画面中的这些对象来完成。画面中的对象在画面设计时被创建,
本文首先介绍利用持久对象概念开发人机界面的主要思想,然后对人机界面中画面对象的设计进行考虑,最后以电力控制系统人机界面的开发为例,给出这一策略的具体应用描述。
2.基本思想
在整个软件系统的开发中,人机界面的开发往往要占很大一部分工作,并且人机界面的好坏直接影响整个系统的可用性和其它性能。这里,我们提出了一种基于持久对象概念的控制系统人机界面开发策略,在该策略中,把人机界面中的画面看成是某个受控系统的一个抽象,一个画面代表了一个受控系统,画面中的每个元素(称为画面元素)对应于一个受控对象(设备),整个画面是由一组抽象对象(画面元素)构成,他们的属性与操作反映了各受控对象的特征。因此,这里的画面不再是一些被动的图形,而是体现系统行为,并参与系统各项活动的一组对象。
采用本文提出的策略,可把控制系统人机界面的开发分为两个阶段:离线阶段(off-line)和在线阶段(on-line)。1)离线阶段提供一个画面设计工具,用于对控制系统人机界面中的画面进行设计,设计的画面作为一组持久对象存入磁盘(文件或数据库);2)在线阶段装入由(1)设计的画面,作为控制系统的人机界面,这时,该画面中的对象与控制系统其他部分共同构成一个完整的系统,对受控系统实施控制。
从上述描述中可看出,画面中的对象具有两种角色(图1):在离线阶段,一旦被创建,这些对象就作为画面设计工具的一部分控制工程网版权所有,与其他部分一起共同完成画面的设计工作;在在线阶段CONTROL ENGINEERING China版权所有,一旦被装入,这些对象就作为控制系统的一部分,参与系统的控制。画面中的对象由画面设计工具创建,但它们可以脱离画面设计工具而继续存在,并从内存转移到磁盘。在控制阶段的某一时刻,画面也可被存入磁盘,这时存入磁盘的对象的状态就反映受控系统那一时刻的状态,是系统状态的历史记录。
采用上述人机界面开发策略所带来的好处有以下几点:
·用户可以利用提供的工具自己设计所需画面,而不是被动地接受开发人员为之开发的固定画面。
·随着受控系统规模的变化,画面可以很方便地被修改(重新设计)。
·当受控系统增加新类型的受控对象时,由于系统采用面向对象的设计方法,一般只需增加新的类定义CONTROL ENGINEERING China版权所有,系统扩充比较容易,并且新类可以继承已有类的很多特征,便于复用。
·受控系统的状态可以随时作为一组(持久)对象保存起来,需要时,重新调入它们即可再现受控系统的历史状态。
·用本策略设计的开发工具可作为一种通用的工具,用于开发某一类系统的人机界面,如各个地区(或部门)的电力控制系统。
3. 画面元素的设计
如上所述,在控制系统人机界面中控制工程网版权所有,受控系统可由一个画面来抽象表示,画面中包含了若干画面元素,这些画面元素作为对象代表了一些实际受控对象。由于这些对象(画面元素)作用于画面设计与系统控制两种环境,因此在设计这些对象