论文部分内容阅读
随着应用软件的大型化和复杂化,软件构件之间的集成和通信变得越加困难。人们提出了中间件的概念来试图解决这一问题,然而,由于缺少统一的标准和规范,最终造成大量互不兼容的中间件出现。为了解决中间件之间的集成问题,OMG于2001年正式提出了模型驱动的体系结构MDA。MDA通过模型来描述需求和设计应用系统。MDA提供了两种层次的模型:平台无关模型PIM和平台相关模型PSM。它的基本思想在于:利用PIM抽取出一个与中间件平台无关的通用计算模型,再通过模型映射将这个通用计算模型映射到特定的平台上去。MDA主要采用统一建模语言UML来描述PIM和PSM。UML集合了多种面向对象软件建模方法,采用多种图形对一个软件系统的需求说明、软件构建等进行多角度的描述。其中,UML顺序图适用于系统需求说明,刻画了系统功能相关的特定场景;而UML状态图则适用于系统设计,显示了对象在其生命周期内接受外部事件触发后经历的状态转换。从顺序图到状态图的转换,对应于软件开发过程中需求分析到系统设计这一阶段的提升。
在本文中,我们在介绍MDA和UML的基础上,对UML顺序图和状态图进行了详细的研究,提出了一个从顺序图到状态图的转换算法。文中给出了顺序图和状态图的形式化定义。通过对顺序图进行扩充,对图中的各个对象加上状态向量,从而搭建起顺序图和状态图之间的桥梁。在对顺序图的描述进行扩充的基础上,提出了一个从扩充的顺序图自动生成状态图的算法。为了全面地描述系统的整体行为,利用转换系统的同步积的概念,对各个对象的状态图进行集成,得到整个系统的状态转换图。