论文部分内容阅读
摘 要 本文通过使用模型驱动开发方法,对ATP系统进行分析,通过系统归类用例的要求并分配开发周期,说明MDD方法在ATP这种复杂系统的软件开发中表现出良好的适用性。
关键词 ATP;MDD
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2013)14-0038-02
列车自动防护系统是基于计算机的嵌入式实时系统,它能控制列车间隔,防止列车相撞。在软件工程的最新进展称为模型驱动开发(MDD)。 MDD是指在一系列的作为主要形式的基础上使用软件建模开发方法表达。
本文的目的是尝试应用MDD方法来开发ATP系统。
1 ATP系统
ATP系统由两部分组成:轨旁ATP设备和车载ATP设备。
轨旁ATP设备是整个系统的核心,所有轨旁列车保护的逻辑功能都是在轨旁设备中执行。轨旁ATP设备根据列车位置信息、轨道线路数据、轨旁设备的状态和联锁系统的信息为每一列列车计算移动授权。
2 模型驱动开发
模型是一套连贯的形式元素描述的东西,例如火车。当一个模型具有高度的抽象,该模型是靠近最终用户的语言,也就是说,一个较小的间隙之间存在一个非计算机专家和模型。工程师们继续提高编程的抽象水平。今天的面向对象的语言让程序员在初期解决一个复杂的问题。模型驱动开发(MDD)是这一趋势的自然延续。Harmony是一个模型驱动的混合迭代过程,支持自上而下的系统工程作为增量软件工程。它实现了无缝过渡系统工程软件工程范式独立建模语言UML/SysML的使用。
3 ATP软件开发
3.1 系统工作流程
系统工程部分Harmony包括三个阶段:需求分析,系统功能分析,架构设计。
需求分析过程从过程输入的分析开始。客户的要求翻译成一组要求,定义系统必须做什么(功能要求)如何以及它必须执行(服务质量要求)。
图1显示ATP轨旁系统的用例图。“Manage Train Information”是列车运行的列车数量和状态管理。“Manage Position Report”使用案件处理列车位置报告,从而获得每个列车的位置信息和通知每个联锁区IXL的占用。“Manage Movement Authority” 考虑前后端列车的距离和路线,它对列车的动作授权,并将其发送到列车。它还涉及反向运动,工作区,临时限速功能。“Manage Emergency”进行紧急情况处理。“Manage Detectors”用于已损坏的情况下铁路检测或恶劣天气条件检测。最后,“Manage Communication Session”管理轨旁系统和列车之间的无线通信。
系统功能分析阶段的重点是翻译的功能要求成连贯的描述系统的功能。在此阶段,系统操作就确定了分析系统和操作员之间的相互作用,主要考虑系统作为一个黑盒子,且考虑系统和操作员之间的交互。起初,ATP的车载系统发出的消息“reqProcessCommunicationInit()”到ATP轨旁系统。ATP轨旁系统接收到这个消息后的版本??,它使信息消息(structureSystemVersionInformation()),并把它发送回的ATP车载(reqProcessSystemVersionInformation())。如果ATP车载接收的版本信息,它告诉轨道旁建立会话(reqProcessSessionEstablishedReport())。然后在ATP轨旁列车在其数据库中注册(registerTrainIntoDB()),建立通信会话(reqProcessSessionEstablishedInformation())。在架构设计阶段,确定系统的操作被分配到各子系统子系统之间的接口定义。通过揭示子系统,黑盒分析转换为白盒分析。
3.2 增量开发工作流程
增量开发周期(IDC)是一个渐进的过程,其中要求元素选自先前指定的要求设置(一方面作为表示UML/ SysML的模型和其他的测试向量作为一组)和该系统的垂直切片是构建和验证。IDC包括五个阶段:分析,设计,实现,测试,递增评论。分析是所有关于“是什么”,而不是“如何”分析模型,专注于识别任何可接受的解决方案所需的性能和特征。在分析阶段,我们为每个识别对象和类对象做识别策略。有许多识别的对象,其中一种方法是“应用场景”。根据这一战略,我们通过贯穿场景,使得整个场景对象明了。
对象分析确定固有的要求以及它们的类型的对象角色类,属性,行为和关系。这通常是通过加入一个类图表示的对象的协作,如图2。
图2显示了一部分的ATP轨旁系统的类图。在图的中心,类“ATPTracksideController”。它包含的“地图”,“火车”对象。在“列车”的对象的情况下,它们被创建并加入在运行时,当ATP轨旁新注册了火车后,建立通信会话。“火车”对象可以具有“MovementAuthority”,“ReversingArea”,和的“WorkingArea”的对象,该“地图”的对象包含“InterlockingArea”和“PlatformArea”对象。当一个无条件紧急停止时,在系统中添加作为一个“UCEmergencyStop”的对象。如果分析所有有关系统的基本属性,那么设计可以优化这些属性。
在Harmony的过程中,有3个层次的设计抽象:
结构设计:确定战略性的设计决策,优化整个系统
原理设计:鉴定中等水平的设计决策,优化一个特定的合作实现。
详细设计:优化应用的单个对象。
实施阶段侧重于实现高品质的可执行单元(组件子系统)被集成到原型构建。整合是非常简单的,特别是编译器。大部分的时间,几乎所有的从该工具运行模型编译器的代码生成。它经受单元级测试。初始化测试是一组白箱测试,以确保该组件内部无缺陷。测试是验证一个质量已经达到很高质量的系统。质量是通过不断的测试和调试的结果演化模型的执行结果。在Harmony的过程中,主要的业务和QoS测试集是在系统工程师活动(系统级测试)阶段创建向量序列图在系统工程的系统工程师活动(系统级测试),或在序列图序列分析和设计活动阶段完成的。
4 结论
传统方法开发的系统已经在各个领域应用,但他们也有局限性。随着系统的增长越大,它变得越来越难以维持一致性模型。此外,一个系统越具有复杂特性的特点,它是越不容易测试和验证功能的,因为系统的元素互动作用,且系统的状态的实时在改变。到现在为止,我们可以进行IDC的第一次迭代。我们尝试应用模型驱动开发方法开发ATP软件,通过CASE工具的辅助可以持续对系统进行建模并进行高效的测试。和传统方法相比,使用模型驱动法可以更早的确定系统工作原型,迅速通过模拟检查模型的有效性,从而发挥MDD方法的优点。
参考文献
[1]C.Atkinson,T.Kuhne.“Model-Driven Development: A Metamodeling Foundation”,IEEE Software,Volume 20,Issue 5,pp. 36-41,(2003).
[2]B.P.Douglass.“Real-Time UML Workshop for Embedded Systems”,Newnes,(2007).
作者简介
宋薇(1980-),女,工程师,陕西交通职业技术学院信息工程系教师。
关键词 ATP;MDD
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2013)14-0038-02
列车自动防护系统是基于计算机的嵌入式实时系统,它能控制列车间隔,防止列车相撞。在软件工程的最新进展称为模型驱动开发(MDD)。 MDD是指在一系列的作为主要形式的基础上使用软件建模开发方法表达。
本文的目的是尝试应用MDD方法来开发ATP系统。
1 ATP系统
ATP系统由两部分组成:轨旁ATP设备和车载ATP设备。
轨旁ATP设备是整个系统的核心,所有轨旁列车保护的逻辑功能都是在轨旁设备中执行。轨旁ATP设备根据列车位置信息、轨道线路数据、轨旁设备的状态和联锁系统的信息为每一列列车计算移动授权。
2 模型驱动开发
模型是一套连贯的形式元素描述的东西,例如火车。当一个模型具有高度的抽象,该模型是靠近最终用户的语言,也就是说,一个较小的间隙之间存在一个非计算机专家和模型。工程师们继续提高编程的抽象水平。今天的面向对象的语言让程序员在初期解决一个复杂的问题。模型驱动开发(MDD)是这一趋势的自然延续。Harmony是一个模型驱动的混合迭代过程,支持自上而下的系统工程作为增量软件工程。它实现了无缝过渡系统工程软件工程范式独立建模语言UML/SysML的使用。
3 ATP软件开发
3.1 系统工作流程
系统工程部分Harmony包括三个阶段:需求分析,系统功能分析,架构设计。
需求分析过程从过程输入的分析开始。客户的要求翻译成一组要求,定义系统必须做什么(功能要求)如何以及它必须执行(服务质量要求)。
图1显示ATP轨旁系统的用例图。“Manage Train Information”是列车运行的列车数量和状态管理。“Manage Position Report”使用案件处理列车位置报告,从而获得每个列车的位置信息和通知每个联锁区IXL的占用。“Manage Movement Authority” 考虑前后端列车的距离和路线,它对列车的动作授权,并将其发送到列车。它还涉及反向运动,工作区,临时限速功能。“Manage Emergency”进行紧急情况处理。“Manage Detectors”用于已损坏的情况下铁路检测或恶劣天气条件检测。最后,“Manage Communication Session”管理轨旁系统和列车之间的无线通信。
系统功能分析阶段的重点是翻译的功能要求成连贯的描述系统的功能。在此阶段,系统操作就确定了分析系统和操作员之间的相互作用,主要考虑系统作为一个黑盒子,且考虑系统和操作员之间的交互。起初,ATP的车载系统发出的消息“reqProcessCommunicationInit()”到ATP轨旁系统。ATP轨旁系统接收到这个消息后的版本??,它使信息消息(structureSystemVersionInformation()),并把它发送回的ATP车载(reqProcessSystemVersionInformation())。如果ATP车载接收的版本信息,它告诉轨道旁建立会话(reqProcessSessionEstablishedReport())。然后在ATP轨旁列车在其数据库中注册(registerTrainIntoDB()),建立通信会话(reqProcessSessionEstablishedInformation())。在架构设计阶段,确定系统的操作被分配到各子系统子系统之间的接口定义。通过揭示子系统,黑盒分析转换为白盒分析。
3.2 增量开发工作流程
增量开发周期(IDC)是一个渐进的过程,其中要求元素选自先前指定的要求设置(一方面作为表示UML/ SysML的模型和其他的测试向量作为一组)和该系统的垂直切片是构建和验证。IDC包括五个阶段:分析,设计,实现,测试,递增评论。分析是所有关于“是什么”,而不是“如何”分析模型,专注于识别任何可接受的解决方案所需的性能和特征。在分析阶段,我们为每个识别对象和类对象做识别策略。有许多识别的对象,其中一种方法是“应用场景”。根据这一战略,我们通过贯穿场景,使得整个场景对象明了。
对象分析确定固有的要求以及它们的类型的对象角色类,属性,行为和关系。这通常是通过加入一个类图表示的对象的协作,如图2。
图2显示了一部分的ATP轨旁系统的类图。在图的中心,类“ATPTracksideController”。它包含的“地图”,“火车”对象。在“列车”的对象的情况下,它们被创建并加入在运行时,当ATP轨旁新注册了火车后,建立通信会话。“火车”对象可以具有“MovementAuthority”,“ReversingArea”,和的“WorkingArea”的对象,该“地图”的对象包含“InterlockingArea”和“PlatformArea”对象。当一个无条件紧急停止时,在系统中添加作为一个“UCEmergencyStop”的对象。如果分析所有有关系统的基本属性,那么设计可以优化这些属性。
在Harmony的过程中,有3个层次的设计抽象:
结构设计:确定战略性的设计决策,优化整个系统
原理设计:鉴定中等水平的设计决策,优化一个特定的合作实现。
详细设计:优化应用的单个对象。
实施阶段侧重于实现高品质的可执行单元(组件子系统)被集成到原型构建。整合是非常简单的,特别是编译器。大部分的时间,几乎所有的从该工具运行模型编译器的代码生成。它经受单元级测试。初始化测试是一组白箱测试,以确保该组件内部无缺陷。测试是验证一个质量已经达到很高质量的系统。质量是通过不断的测试和调试的结果演化模型的执行结果。在Harmony的过程中,主要的业务和QoS测试集是在系统工程师活动(系统级测试)阶段创建向量序列图在系统工程的系统工程师活动(系统级测试),或在序列图序列分析和设计活动阶段完成的。
4 结论
传统方法开发的系统已经在各个领域应用,但他们也有局限性。随着系统的增长越大,它变得越来越难以维持一致性模型。此外,一个系统越具有复杂特性的特点,它是越不容易测试和验证功能的,因为系统的元素互动作用,且系统的状态的实时在改变。到现在为止,我们可以进行IDC的第一次迭代。我们尝试应用模型驱动开发方法开发ATP软件,通过CASE工具的辅助可以持续对系统进行建模并进行高效的测试。和传统方法相比,使用模型驱动法可以更早的确定系统工作原型,迅速通过模拟检查模型的有效性,从而发挥MDD方法的优点。
参考文献
[1]C.Atkinson,T.Kuhne.“Model-Driven Development: A Metamodeling Foundation”,IEEE Software,Volume 20,Issue 5,pp. 36-41,(2003).
[2]B.P.Douglass.“Real-Time UML Workshop for Embedded Systems”,Newnes,(2007).
作者简介
宋薇(1980-),女,工程师,陕西交通职业技术学院信息工程系教师。