python - 自定义 UML 生成器

标签 python uml plc twincat

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

该系统是用一种非常奇异语言(PLC/结构化文本)编写的,程序员不常用。据我所知,其语法有点类似于 Pascal,并且所有文件都保存在 XML 集合中。每个 XML 都代表某种对象,例如函数、“函数 block ”(本质上是类)、“程序”(有点像静态函数)、枚举或结构。

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

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

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

我在想类似NetworkX的东西,但是这似乎无法生成 format I need以简单的方式。

干杯!

最佳答案

它可以使用这个网站制作,使用类似 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{}
'>

给出了这个: class diagram image

关于python - 自定义 UML 生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42481269/

相关文章:

python - Pandas 按月计算唯一出现次数

python - 打印没有转义字符的 unicode 字符列表

python - 为数据集中的所有点找到距离最近的点 - Python

C# OPC 应用程序相同的代码,但工作方式不同

Cassandra 为工业数据传感器节省时间序列

python - P4 Python - 描述搁置的文件更改

uml - 组件图是否有人类可读和基于文本的表示?

UML 类图 Association vs ( Aggregation | Composition )-Diamonds

intellij-idea - 如何在 Intellij 中保存类图?

PHP exec 没有按预期运行我的脚本