基于EMF的信号系统设计开发平台基础架构研究

2013-05-09 12:47王晓懿北京全路通信信号研究设计院有限公司北京100073
铁路通信信号工程技术 2013年1期
关键词:基础架构信号系统开发者

冯 晨 王晓懿(北京全路通信信号研究设计院有限公司,北京 100073)

冯晨,男,毕业于北京航空航天大学,助理工程师。主要研究方向:软件开发,参与信号系统设计开发平台项目、筹建国家工程实验室和工程研究中心项目。曾发表《基于PCI总线的振动控制系统WDM驱动程序开发》论文。

目前,国内铁路通信信号行业对于信号系统的开发大多采用传统的“作坊模式”,这种模式非常不利于铁路事业大发展的现状,主要表现在开发人员技术沟通不畅、开发流程和产品标准不统一,产品成果很难复用等方面,因此本文首先对信号系统设计开发平台(简称SDP平台)进行介绍。

同时,SDP平台作为一个生产信号系统软件的集成环境,必须具备高度的可靠性和可扩展性,从而一方面满足信号产品高安全性的要求,另一方面能够根据各种技术标准对平台进行定制,因此本文重点研究了信号系统设计开发平台的基础架构及实现方案。

1 信号系统设计开发平台

信号系统设计开发平台是覆盖信号系统软件全生命周期的集成开发环境。以一个安全相关的信号系统项目为例,从系统定义、项目策划、风险分析、系统设计与实现直到最后的系统确认,SDP平台对其是全面支撑的。

SDP平台的总体结构如图1所示,由图1中可以看出,SDP平台在设计思路上是按照典型的3层框架结构进行构建的,包括如下内容。

1)表现层:位于系统的最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,只提供软件系统与用户交互的界面;

2)业务逻辑层:位于表示层和数据访问层之间,专门负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是通过数据访问层从数据库读出这些数据,是表示层和数据访问层之间的桥梁,负责数据处理和传递。

3)数据访问层:仅实现对数据的保存和读取操作。数据访问包括访问数据库系统、二进制文件、文本文档或是XML文档。

3层结构的优点在于开发人员可以只关注整个结构中的某一层,可以很容易的用新的实现来替换原有层次的实现,可以降低层与层之间的依赖,有利于标准化,利于各层逻辑的复用,扩展性强、安全性高,项目结构更清楚。

同时,由图1中还可以了解到,整个平台的设计思路又具备非常典型的模块化特征,即每个相对独立的功能点或功能集合自然形成一个子系统,例如组件设计子系统、专项测试子系统等。每个子系统有非常明确的入口和出口,这样的设计思路使得整个平台具有良好的可读性,软件开发者只需关心自己所从事的子系统。

所以SDP平台的总体结构无论从横向还是从纵向都满足模块化的设计思路,保证了整个软件架构的优良特性。

2 平台基础架构建模设计与实现

SDP平台的底层架构是基于EM F模型驱动开发的一个典型实现, EMF将模型和应用实现分割开来,同时提供了基础代码自动生成的功能,大大减轻了程序员的重复操作,避免了潜在的人为错误,此外,EM F提供了模型和代码的同步功能,从而保证了两者的一致性。

2.1 EMF简介

EMF的全称是Eclipse Modeling Framew ork,从其名称可以看出,EM F是一个基于Eclipse的建模框架。

Eclipse是一个高度开放的开发平台,模块化的设计理念具备极强的集成能力,用户可以将自己开发的插件集成到Ec lip se平台中,从而得到自己的“Eclipse平台”,在本文中这个定制完成的“Eclipse平台”就是“SDP平台”。

EM F就是在Eclipse平台的基础上通过快速构建模型的方式为软件设计师开发稳定的应用程序提供了强大的支撑,大大加快了开发进程,同时提升了软件的质量。

又是一年年底,2018年12月26日,济青高铁通车,同时济南新东站正式启用。2019年1月1日,济南轨道交通1号线开通。山东的交通网络再次迈上新台阶。

2.2 平台架构建模设计

通过前面的介绍了解到,SDP平台能够完全的表示一个软件系统,并且支撑开发软件系统全生命周期的活动,所以SDP平台的基础架构模型需要从业务相关性划分为两大类:一类为通用资源类ISDPResou rce,例如应用SDP平台开发的信号系统软件工程下普通的文件或文件夹;另一类为业务相关元素类ISDPElement,例如SDP平台开发的某个安全相关的软件工程下的项目策划文件等,从实际需求来看,也要求SDP平台能够识别这些特殊类型的文件;最后,考虑到SDP组件模型升级的必然性,所以在最初的设计上要满足升级要求。

2.2.1 SDP通用组件资源

SDP通用资源的接口逻辑关系如图2所示。

每个接口的含义如表1所示。

表1 SDP通用资源接口列表

2.2.2 SDP通用组件元素

SDP通用元素的接口逻辑关系如图3所示。

由图3可知,所有的业务接口均继承于ISDPParentElem ent这一接口,并间接继承于ISDPElem ent抽象接口,典型接口如表2所示。

表2 SDP业务元素典型接口列表

2.2.3 SDP组件模型设计机制

SDP组件升级机制的设计目的是实现SDP组件模型的向前兼容,即新的SDP平台可以兼容打开和编辑旧的SDP组件工程。

2.3 平台架构模型实现

2.3.1 EMF代码辅助生成实现流程

EM F平台架构设计的主要工作是构建平台的数据模型,模型可以通过UM L类图、Jav a接口、XM L Schem a等多种方式定义。本文采用的是java接口的定义方式,该方式的突出特点是快速灵活,修改起来也非常方便。

EM F通过Java接口标注的方式辅助生成常用代码的步骤非常清晰,如图4所示。

开发者首先对抽象数据模型进行接口设计,并根据不同的用途对接口及内部方法加以不同的标注,均以@m odel开头,EM F为接口中所有类型的成员均预定义了特定标签,例如“A ttr ib u te”对象、“Referen ce”对象、“Opera tion”对象、“Param eter”对象等,开发者只需要对照指导手册即可快速填写。表3就是EM F为接口中的“Op era tion”对象预定义的部分标签及可选的对应值。

2.3.2 SDP资源及业务元素的基础实现

在上一节中定义的各个接口,每个接口中均包含各自的接口函数和变量,这些函数和变量大部分是作为接口的属性。如果按照普通的实现方式,用户需要挨个实现这些函数和变量,而在EM F的帮助下,用户只需要添加一个get函数,并在这个函数前面添加“@model containm en t="true"”,EMF后台会为该函数自动生成变量和set函数及函数体。

表3 标签列表

2.3.3 SDP资源及业务元素的IO实现

在完成SDP资源及业务元素的基础实现后,接下来要考虑的就是加载和保存工作。例如,在SDP平台环境下创建的SDP工程如何保存到本地文件系统中,或者如何将文件系统中已有的SDP工程导入到SDP平台环境中,以便继续实际开发工作。这些通用的功能在常用软件开发中都会遇到,所以EM F为开发者提供了辅助工具,本文给出的实现代码大部分就是基于EM F机制自动生成的,提供了封装的load和save函数,其中load方法代码如下。

实际应用中设计开发人员直接调用该函数即可实现组件模型的加载工作。

2.3.4 SDP组件模型升级机制的实现

为了满足升级后的平台对已有旧版本SDP工程的兼容性,需要在创建SDP工程时自动记录该工程对应的平台版本,经过论证发现将SDP工程的版本信息(如cn.com.crscd.sdp.com ponen t.v1)记录在根目录下的.p roject文件中的comm en t标签下是非常合理的,且读取十分方便。如下所示为按此方法创建的标准SDP工程的.project文件格式。

根据上述思路创建的SDP工程被再次导入到SDP平台时,平台首先解析.p ro ject文件从而读取到该工程的版本信息,读取的主体一个是SDP客户端,一个是组件库服务器,SDP客户端是基于eclipse框架的,可以直接解析.p roject文件,开发人员只需调用相应的接口函数即可获取comm en t标签下的具体版本信息;SDP组件库服务器端读取.p ro ject文件则是专门开发了一个.p ro ject解析类,负责读取这个特殊的xm l文件。

3 结论

基于EM F的信号系统设计开发平台基础架构设计大大减轻了开发者的重复劳动,同时避免了人为失误,可谓是一举多得。这也是IBM等大多数相关企业软件架构设计师强烈推荐并积极应用EM F进行结构设计的根本原因。特别是对于注重安全性的信号系统平台显得尤为必要。

[1] Dave Steinberg, Frank Buclinsky, Marcelo Paternostro, Ed. Merks. EMF Eclipse Modeling Framework[M] .2th ed.. America:Addsion-Wesley Professional, 2008.

[2] Eric Clayberg, Dan Rubel. Eclipse plug-ins[M].3th ed.. America : Addsion-Wesley Professional, 2008.

猜你喜欢
基础架构信号系统开发者
LTE-M在地铁信号系统中的应用
自由流收费下的联网收费结算中心基础架构设计
智慧高速+互联网环境下信息化基础架构浅析
我国云IT基础架构投资保持高速增长
IDC发布云计算IT基础架构Q4跟踪报告
SmarTram型有轨电车信号系统
跨座式单轨与中低速磁浮信号系统的关键技术
“85后”高学历男性成为APP开发新生主力军
信号系统一体化的探讨
16%游戏开发者看好VR