标准的UML到代码映射(正向工程)?

时间:2013-07-29 15:04:07

标签: uml standards modeling specifications

我想知道UML(统一建模语言)到代码映射(正向工程)是否有广泛接受的标准?

2 个答案:

答案 0 :(得分:3)

不,没有从UML到代码的标准映射。虽然UML可用于“绘制”代码,但它被设计为在“上层”(在业务级别)工作。因此,没有一种方法可以从UML模型生成代码,但几乎与系统(以及多种语言)一样多。

答案 1 :(得分:3)

没有一个从UML到代码的翻译。这是由于多种原因造成的,包括:

  • 您使用的UML有多少以及如何使用。 UML是一种大型语言。从历史上看,事物(类,关联,包)的静态方面比动态方面要强得多。仅在最近,UML才获得了可执行模型所需的动作语义。与更成熟的静态元素相比,这些较新的部分尚未得到很好的支持。这可能是规范MDA变换没有变得更加普遍的一个主要原因。

  • 可以定位不同的编程语言。翻译到第三代OO语言可能是最受欢迎的。但它也可以翻译成其他语言:C是一种流行的选择,特别是在嵌入式世界中。

  • 根据特定环境的需要,可能有不同的翻译规则。

那说,有一些流行的习语。例如:

  1. UML包,类和属性通常直接映射到它们的OO 3GL对应物。事实上,许多UML模型只是3GL OO代码的图形再现。
  2. UML关系通常分为两部分,每个关系中存储指针/引用。
  3. 有3种常见的模型可用于翻译UML状态模型(或更常见的是任何状态模型):嵌套开关,状态表和状态模式。
  4. 操作语言太新/不足以支持规范映射。也就是说,规范与典型的3GL结构非常接近:if / then / else控制语句,赋值等。因此,模型和目标之间的语义差距非常小 - 因此翻译应该相当简单。

    第h