2

一段时间以来,我一直在研究一个专有的工业系统,就在最近,我被要求为我所做的工作制作一个 UML 图。但是,我已经处理了数百个类和函数,并且不希望手动创建此图。

该系统是用一种非常奇特的语言(PLC/结构化文本)编写的,程序员不常用。有人告诉我,语法有点像 Pascal,所有文件都保存在 XML 集合中。每个 XML 代表某种对象,如函数、“功能块”(本质上是类)、“程序”(有点像静态函数)、枚举或结构。

这些对象通常在 XML 中具有声明和实现标记。

使用一些标准的 XML 解析器来解析这种类型的代码结构并不是一项艰巨的任务。使用简单的字符串匹配器,我可以对每个对象及其与其他对象的关系进行分类。目前,我已经使用 Python 完成了这项工作。

我的问题是,假设我知道代码的结构(对象关系等),是否有工具或编程库可以为我生成 UML 图?

我在想NetworkX之类的东西,但是这似乎无法以简单的方式生成我需要的格式。

干杯!

4

2 回答 2

3

它可以使用这个网站制作,使用类似dot格式的东西(这是他们的特定格式)。

例如,这段代码:

<img src='http://g.gravizo.com/g?
/**
*Structural Things
*@opt commentname
*@note Notes can
*be extended to
*span multiple lines
*/
class Structural{}

/**
*@opt all
*@note Class
*/
class Counter extends Structural {
        static public int counter;
        public int getCounter%28%29;
}

/**
*@opt shape activeclass
*@opt all
*@note Active Class
*/
class RunningCounter extends Counter{}
'>

给出了这个: 类图图像

于 2017-02-27T09:04:30.457 回答
2

如果我可以建议 Acceleo 吗?它实现了 UML2Text 规范,是一个从 UML 图构建生成器的工具,是一个 Eclipse 插件。

但是您的语言似乎如此具体,以至于很难找到现有的生成器。

于 2017-03-01T17:16:55.717 回答