论文部分内容阅读
随着软件系统的规模和复杂性不断加大,模型在软件开发过程起着越来越重要的作用,建模已经成为软件开发过程中的基本活动。模型有助于对问题的认识、有助于对系统的理解、有助于开发人员之间的交流。
对软件系统的建模是在各个层次上进行的。由于所建立的模型最终要转化为一个可用的系统,就必须有一个技术平台支持系统的实现。由于可能存在多个可用的技术平台,有的平台可能随着时间的推移会退出历史的舞台,新的技术平台也会不断的诞生。如果在建立模型时考虑技术平台的因素,这样由于所建立的模型与某个特定的平台相关,当特定技术平台淘汰后相应的模型也失去了复用的可能性,从而造成大量的资源浪费。近年来,对象管理组织OMG推出了模型驱动的体系结构(Model Driven Architecture,MDA),为上述问题提供了解决方案。MDA以统一建模语言UML为核心,将软件开发过程中产生的各种模型分为平台无关模型和平台相关模型两大类,通过这种划分,将系统的业务逻辑和实现细节分离,通过各层次间的模型转换最终生成可执行的系统。
模型转换是MDA框架中的关键部分,本文围绕UML活动图模型到代码之间的转换问题展开研究工作,包括以下几个主要方面:
(1)对统一建模语言UML和模型驱动的体系结构(MDA)进行了较为系统和深入的分析。
(2)针对UML活动图模型到代码之间的转换问题,展开实例研究工作。针对通信领域的部分软件开发需求,面向单控制流系统设计了类似于活动图的图形建模语言--设计流图,给出了设计流图到代码的转换方法并开发了相应的支撑工具,可以用于软件开发过程中的部分建模、编码、跟踪和测试。
(3)在分析UML元模型的基础上,抽象出了UML活动图的元模型,并将其纳入UML元模型的范畴。以UML元模型和活动图的元模型为基础,结合JAVA平台,研究基于活动图的模型转换。基于图论原理对包含并发、泳道的多控制流活动图作了形式化描述,在此基础上提出了控制流的分解算法和模型间的映射方法。
(4)在上述研究工作的基础上,实现了一个UML活动图模型到代码间转换的支撑工具。