北京信息科技大学-软件工程研究中心
Software Engineering Research Center, Beijing Information Science & Technology University
My JSP 'ShowNew.jsp' starting page
技术简介

北信蓝海软件可视自动化技术

传统代码加文档的软件开发模式生产效率低、质量难保证。为此,国际对象管理组织OMG提出和倡导通过模型创建、模型转换和代码生成来开发软件的模型驱动开发模式成为新一代软件开发的前沿革命性技术和方法。

由刘建宾博士带领的创新团队经过多年潜心研究与不懈探索,原创过程蓝图建模语言、自然动作模式语言及其程序自动变换理论与方法,研发程序蓝图可视自动化变换系统等支撑工具与环境,成功实现程序蓝图模型与程序代码之间的双向转换,在模型驱动软件可视自动化工程技术领域取得重要进展与突破。

北信蓝海软件可视自动化技术体系主要由模型驱动正向工程技术、逆向工程技术和再工程技术组成。

1.模型驱动正向工程技术

模型驱动正向工程技术定义了基于模型的开发过程,并制定了相关的转换规则,向开发人员提供可将模型逐步映射转换到实现代码的方法。前期开发的模型对整个系统的理解,设计,构造,开发,操作和维护都起到了很好的作用。正向工程技术主要提供模型到代码的正向向转换功能,有助于解决软件开发的效率和维护理解问题。

北信蓝海软件可视自动化正向工程技术使用符合模型驱动架构MDA规范和标准的北软程序蓝图建模语言及其模型驱动过程来进行程序开发。

北软程序蓝图建模语言=UML类图+过程蓝图

北软蓝图模型驱动开发过程:

(1)使用北软蓝图建模语言和工具构建平台无关模型(PIM);

(2)使用相关转换规则将平台无关模型(PIM)转换为平台相关模型(PSM);

(3)使用代码生成工具将平台相关模型(PSM)转换成程序代码并自动生成设计文档。

下图展示了模型驱动正向过程的技术架构:

使用模型驱动开发软件的好处在于生产效率提高,可移植性提高,互操作性强,生成的文档便于容易理解和阅读。

2.模型驱动逆向工程技术

程序代码理解是学习和维护遗产软件系统的基础和前提。长期以来,复杂程序代码阅读理解周期长,效率低、工作量投入大和成本高的老大难问题一直未能得到有效解决。大量遗产系统的程序代码资源有理解学习和维护的实际需求和迫切需要。

模型驱动逆向工程技术通过自动化工具和相关的转换规则,向开发人员提供可将程序实现代码逐步转换到分层抽象模型的方法。逆向转换的模型对整个系统的理解和维护会起到很大的帮助。逆向工程技术主要提供代码到模型的逆向转换功能,有助于解决软件的学习理解和维护问题。

下图展现了北信蓝海模型驱动逆向工程过程。

jishujianjie.jpg

3.模型驱动再工程技术

模型驱动再工程技术通过逆向工程、模型重构和正向工程技术,向开发人员提供对遗产软件进行优化再造的有效方法。再工程得到的模型将成为再造目标系统的核心,成为比代码更具价值的智能资产,对遗产系统的更新换代、改造升级和软件移植起到很大的帮助。再工程技术主要提供代码到模型的双向转换和重构功能,有助于解决遗产软件的优化再造和重用问题。

下图展现了北信蓝海模型驱动再工程过程。

北信蓝海软件可视自动化技术经过大量测试与案例研究,并在十余个软件系统的开发维护工作和大型OpenCMS、SweetHome 3D、Violet等多个开源软件学习中得到成功应用,有效提高软件开发生产率,降低理解和维护软件的难度和工作强度,显著提高工作效率,降低成本,缩短工期,使程序代码加文档的传统软件开发维护模式进入可视化程序模型创建、模型转换与代码生成的模型驱动开发维护模式。