知识卡片

MDA的代码生成链路

结构图卡 · 1940.b

内容

模型驱动架构(MDA)把开发拆成两步:先建立与具体技术无关的平台无关模型(PIM),再由工具把它转成针对特定执行环境的平台特定模型(PSM),最后由更进一步的工具从PSM生成代码。若某个仓储系统要同时跑在J2EE和.NET上,只需一个PIM、两个平台各自的PSM。可执行UML是同一思路的简化版:跳过PSM,用”模型编译器+架构型”把PIM直接一步编译成可部署系统。这条链路自动化程度越高,UML的用法就越接近[[UML的三种使用模式]]中的”编程语言”;只要有人工步骤介入,就仍属于”蓝图”用法。

结构图:

flowchart LR
    A[PIM 平台无关模型] -->|工具转换| B[PSM 平台特定模型]
    B -->|生成工具| C[可部署代码]
    A -->|模型编译器+架构型直接编译| D[可执行UML: 跳过PSM]
    D --> C

参考来源

- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第1章《简介》(源文件:_epub-src/EPUB/0.xhtml) - 结论依据:原文说明MDA先产出PIM再转PSM最后生成代码的两段式流程,并说明可执行UML用模型编译器把PIM一步转成可部署系统、不需要PSM,二者差异在于自动化程度和是否经过PSM这一中间步骤。 - 原始内容:建模人员通过创建平台无关模型(PIM)表达特定应用……工具将PIM转化为平台特定模型(PSM)……下一步是使用一个模型编译器把UML模型一步转成可部署的系统;因此,不需要PSM。