基于UML的列控系统车载人机界面设计和实现
列车运行控制系统是对列车速度自动控制的各种装置的统称,根据对速度控制程度的不同,一般分为:列车自动停车(ATS)系统,列车超速防护(ATP)系统,列车自动控制系统,列车自动运行(ATC)系统和列车自动运行(ATO)系统。
列车运行控制系统车载人机界面是车载设备与驾驶员进行信息交互的平台,是列车运行控制系统的一个重要组成部分。通过车载人机界面,司机可以对列车的相关参数进行设置,实时地得到有关列车和线路的相关状态和数据,对车载设备发出的命令和警告及时地进行响应。
近年来随着科技水平的不断发展,铁路装各技术水平跃上了一个新台阶,高速铁路的崛起和发展给世界铁路的重新振兴带来了勃勃生机。作为高速铁路的关键设备之一。列车自动控制系统具有以下三大特点:1,以车载显示为行车凭证;2,用速度命令代替色灯含义:3,信号直接控制列车制动
。正是因为这样的特点,使得人机界面在整个系统中发挥更大的作用。良好的界面设计可以将更多的信息清晰地显示出来,有助于司机更好地了解要完成的任务,提高速度和精确性,减少人为失误的可能性,在最大程度上保证列车的安全性。对于一般交互式软件系统来说,GUI设计和实现是软件系统开发中的一个重要部分。人机界面是指软件系统与使用者之间的交互。它为用户提供各种形式的输入,将用户的输入信息进行转换后,传给核心模块进行处理,并将处理结果以可理解的方式反馈给用户。它介于用户和核心应用之间。设计既要针对使用者,义更适应核心模块。用户界面的设计质量,直接影响用户对软件产品的评价,并最终影响软件产品的竞争力和寿命。事实上,在很多软件的设计阶段,由于缺乏行之有效的用户界面设计手段,界面设计由实现人员直接编码完成,从而导致了实现与用户需求之间的差距。
本文分析了列车运行控制系统车载人机界面所要满足的设计原则,设计了一种适合这种人机界面的GUI模型。选用UML来描述人机界面的功能需求、总体设计和详细设计的过程并进行建模,并利用其工具Rational Rose加以严格定义的图形化语言的描述。最后使用Microsoft公司的Visual C++开发工具进行了开发。
1、人机屏面设计的原则
1.1 人机界面设计的原则
人机界面设计要讲究艺术性和科学性,利用图形艺术家的见解和人性因素的研究者的发现,并考虑到用户的直观感觉。根据已有的用户界面设计经验,针对列车运行控制系统车载人机界面的特点,总结出了以下几点设计原则:
1) 理解司机要进行的操作。典型的用户界而设计都要进行任务分析来理解用户任务的性质。
2) 司机在与系统得交互过程中能够掌握操作的控制权。无论何时用户发起的操作都能够可以被取消。
3) 提供多种方式来兜成每个与界面相关的动作(例如关闭一个显示窗口)。
4) 当司机进行了错误的操作时,应能够以醒目的方式及时进行提示。
5) 重视可读性和可理解性。提示信息应该简明概要,所州的图形信息便丁=-州机理解。运用不同的颜色来表示信息的优先级
6) 尽量保持界而构件的尺寸相同。充分利用空间关系。屏幕上的图形构件之间的距离不要太远,必要时可以用一个框将他们包围起来。
1.2 采用UML进行设计的优势
UML采用的足一种图形表示法,是一种可视化的图形建模语言 UML定义了建模语言的文法, 运用元模型对语言中的基本概念、术语和表示法给出了统一且比较严格的定义和说明,给出了这些概念的准确含义。UML为人们提供了从不同的角度去观察和展示系统的各种特征的一种标准方法。在UML中,从任何一个角度对系统所作的抽象都可能需要用几种模型图来描述,而这些来自不同角度的模型图最终组成了系统的完整图像。
UML语言提供了模型管理视图,用以描述系统各种模型之间的关系。通过模型管理视图提供的机制,系统设计者可以将各个模型元素有机地分解为各个不同层次的包,从而从不同的层次粒度上对系统模型问的关系进行描述,极大地提高了系统设计的可读性和可维护性。UML这种层次化、模块化的管理机制非常适合于对列车运行控制系统车载人机界面进行建模。但是,如果由开发人员手工地绘制这些图形,不仅非常烦琐,而且很难保证不同视图之间的一致性,因此UML的支持环境在实际的软件开发中是必不可少的。
Rational公司的Rose是目前在国际上应用虽广泛、功能最强大的支持UML的CASE工具,在软件开发过程的几个阶段都很有用。在项目开始阶段,Rose可以产生用况模型;在细化与构造阶段,Rose可以开发活动框图,显示事件流程;顺序图和协作图则显示要开发的对象及其相互问的交互;Rose开发的类图显示对象间的相互关系:组件图显示系统组件间的相关性。此外Rational Rose最强大的特性之一是具有生成表示模型的代码和逆向转出工程代码的能力,保证了代码与对象模型的同步性。
2、使用UML对列车运行控制系统车载人机界面进行分析和建模
2.1 常用GUI模型简介
通常GUI模型抽象为三个部分:界面的表现模型,即与使用者问的接口;界面构件的对话过程,即用户界而构件之间的交互以完成用户任务;核心应用,即完成应用业务逻辑的功能模块。几种主要的GUI模型如,Seeheim模犁,MVC(Model-View-Controller)模型和PAC (Presentation—Abstraction.Controller都基于这样的基本思想。F面对最基本的Seeheim模型进行简要说明。
Seeheim模型将软件体系结构分为4个部分:核心模块(Functional Core),核心应用接口(Functional Core Adapter),对话控制器(Dialogue Contro1ler),界面构件(Presentation Component)。Function Core对领域应用进行建模。Functional Core Adapter为用户界面与核心应用之间建立一个缓冲区,以减少二者之间的耦合。它通过一些交互协议为用户界面与核心应用之间提供同步或者异步的数据交换。Dialogue Controller是Seeheim模型中的核心部分。它通过界面构件接收来自用户的各种输入请求,通过转换后利用核心应用接口与核心模块进行数据交换,保证多个视图间的一致性,以完成特定的用户任务在Dialogue Contro11er中可以嵌套定义Seeheim子模型。这样可以从不同粒度上对GUI系统进行建模。Presentation Component对界面构件的具体交互动作和输入输出进行设计。2.2 车载人机界面建模
(1) 系统需求分析
需求分析就是明确从外围系统的角度要求车载人机界面提供什么功能。在以往的需求分析中,始终没有一种合适的工具来保证系统需求的完整表达,所以直接导致了系统在完成后的检测中发现与真实情况小符。从分析阶段引入全面支持UML的Rational Rose这个有效的形式化上具,以完整的,无歧义的语言来表达需求,简化开发过程中的交流。
列车运行控制系统车载人机界面是车载设备与司机进行信息交互的平台。车载人机界面要保证司机可以对列车的相关参数进行设置,实时地得到有关列车和线路的相关状态和数据,对车载设备发出的命令和警告及时地进行响应。运用UML的用例图可以清晰的表示出以上需求。
图1 车载人机界面模型用况图
接下来对用况进行形式化的描述。司机在进行操作时,首先可以根据需要来调整界而的背景色,分辨率等参数,这时执行了界面设置用况。当司机需要对列车长度等参数进行配置时,则要使用数据操作用况。在数据用况中还可以显示列车的初始化信息。考虑到司机需要响应车载设备发出的指令以及进行人工干预。所以命令操作用况也是必不可少的。司机操作人机界面的过程采用UML的活动图做了描述。
图2 车载人机界面模型活动图
(2) GUI模型框架
根据人机界面设计的原则。考虑到实际的应用背景,本文在Seeheim模型的基础上,提出了一种适用于列车运行控制系统车载人机界面的GUI模型,如图3所示。模型由视图模块(View Mode1),视图控制器(View Controller)和核心应用接口(Core Interface)三部分组成,是一种面向对象的GUI设计模型。
视图模块(View Model)对用户界面的可视部分进行描述。它接受司机的输入,并为司机提供可视化信息,是GUI模型中唯一直接与司机打交道的部分。它的设计采用多级递阶的设计思想,从逻辑功能上分解为各个视图(view),每个视图又可以分解为多个子视(Sub—View)。子视图是对上一层视图的进一步分解和细化。视图的静态特性可以包含视图的大小、位置和可见性等与视图自身表现形式有关的属性。它的动态行为包括视图内部的动作和与其他视图问的协作,以及与司机之间进行的交互。视图模块的建模以消息响应为核心,通过消息响应过程对用户事件进行处理。例如响应车载设备命令或改变界面样式等。当View与其他视图进行交互时。将用户消息发送给View Controller进行调度。由View Controller来实现在不同的视图之间的转换。
当用户完成一项任务涉及到若干视图时,View Controller负责各个视图间的切换调度。它接受从View Model发送来的消息,由消息响应函数负责对相关的视图进行控制。相对于View Model,View Cont
文章版权归西部工控xbgk所有,未经许可不得转载。