用于UML活动图的AST

时间:2014-03-07 04:03:14

标签: java compiler-construction uml abstract-syntax-tree

我目前正在做一个将uml图转换为java代码的项目,其中一个步骤我必须为一般活动图创建一个ast并为ast编写一个java代码。问题是我不知道如何在java代码中表示它接受任何活动图作为输入。请需要一些帮助。

这是一般活动图的元模型,我想将此图表示为接受输入的java代码。

Activity Diagram Metamodel

pdf第二页的第一张图

1 个答案:

答案 0 :(得分:1)

您使用什么工具来创建活动图?大多数将提供API来查询模型和/或XMI导出*。在任何一种情况下,您都不会获得AST,更多的是模型的Object结构。但是迭代该结构并生成代码仍然很容易。

值得考虑的一个选择是Eclipse Modeling Framework (EMF)。有可用于创建图表的工具(例如Papyrus)和用于从模型生成代码的众多选项(例如Acceleo) - 查看'Model to Text'(M2T)子图项目

即使您决定使用其他工具进行图表创建,也可以使用Eclipse M2T进行代码生成;大多数工具都会以日食方言输出XMI。

第h

-

* XMI是UML模型交换的“标准”。它最初的解释不一致,今天的工具仍然存在一些问题。但是:它是一种XML方言,所以即使工具B不能直接从工具A导入XMI,通常也可以在两者之间进行转换。