3

我正在尝试将一些 uml 图(单例、AbstractFactory ...)转换为 Z 规范,首先我使用 starUML 将我的 uml 图转换为 xml 文件,然后我使用 xsl 程序和 saxon 将我的 xml 文件转换为 .tex (对于 Z),但它没有用。如果有人知道如何编写 xsl 程序(可能只是步骤),那就太好了。

谢谢

4

2 回答 2

2

我会说,这通常是一个非常糟糕的主意。存储 UML 有许多不同的格式。XMI 是一个标准,但是至少有三个不同的版本,而且它们非常复杂。使用 XSLT 将 XML 转换为 TeX 也必须是一个很大的障碍,尤其是当您试图获得 Z 规范时,这些规范是功能性和过程性的,而 UML 基于面向对象的编程。我认为它们可能是实现您想要的更好的方法。以 Maude for Eclipse 为例,它可以从基于 EMF(Eclipse 建模框架)的模型生成 Maude 规范(代数数据类型规范),也可以是 Eclipse 工具中的 UML2。

于 2010-04-24T20:34:28.793 回答
1

与其尝试编写 XSLT 转换,不如编写模型到文本的转换要好得多。鉴于 UML 模型表示为 UML 元模型(一种 AST)的实例,您可以编写一个模型到文本的转换,该转换遍历 UML 模型并生成相应的文本。为此有几个 Eclipse 项目。

另一种解决方案(更简洁但也更复杂)是定义 Z 的元模型并编写一个模型来模拟两个元模型之间的转换。

于 2010-04-24T22:23:12.630 回答