论文部分内容阅读
模型驱动架构(MDA)是由OMG组织提出的一种新的软件方法学,被面向对象技术界预言为未来两年里最重要的软件方法学。而研究代码到PSM的逆向变换的目的在于研究如何保持模型与代码的一致性,以及如何将MDA应用到遗留系统的处理上。
本文研究代码到PSM的逆向变换,提出一种变换实现方案并实现一个变换工具。系统模型一般可以分成两个部分:静态结构模型和动态行为模型,两者的结合成为一个完整的模型。本文采用UML作为模型描述语言,UML模型根据XMI标准以XML文档的形式表示和保存其中静态结构模型用类图来描述,动态行为模型用裁减的状态机来描述,并针对这两种模型,分别定义了抽象语法树到两种模型的变换规则。这样,代码到模型的变换过程可以分成两步进行:代码到抽象语法树、抽象语法树到XMI表示的模型。对代码的分析采用编译技术,通过词法分析、语法分析得到抽象语法树。然后根据UML标准及其元模型、XMI标准,定义抽象语法树到模型元素的映射并用XMI元素表示,最后得到代码对应的模型。
代码到PSM的变换是模型变换的一种,相对代码生成来说是一种逆向变换,这种变换的关键是定义变换两端之间的映射。解决了代码到PSM的变换问题,将为MDA在遗留系统方面的应用提供有力的支持。