如何将 SDL 信号列表转换为 SysML 中的类似内容?

How to translate SDL signal list to something similar in SysML?

与其说这是一个编程问题,不如说这是一个关于建模的问题。但您可能会争辩说,建模是编程不可或缺的一部分。

在 SDL 中,可以使用信号列表在块(进程、服务)之间注释 "communication lines"。这对开发人员来说非常方便,因为它会告知他们块发送或接受的信号类型(在我的例子中是消息)。 (另请参阅 wikipedia on SDL and communication between blocks

我在 SysML 中找不到类似的概念。要么我必须为每个信号引入一个新的 class 并使用一个 class (接口)来表示一个列表,或者我需要定义一个接口 class 和方法,每个方法代表一个信号?

我有点惊讶它这么难找到,因为在 SysML 的开发中,ITU(即 SDL 的原始制造商)据称是 SysML 定义的利益相关者。

我不是在寻找 "something that works",而是在寻找一种容易且广泛接受的(例如,规范的)定义 SysML 块信号列表的方法。

总之,有人知道吗?

谢谢!

顺便说一句:欢迎提出重定向到更合适的 SO 站点的建议。

在 SysML 中,块元素由各种隔间组成,其中一个隔间是信号隔间,可以在其中定义输入和输出信号。

如果您需要为具体的通信案例定义一个具体的信号子集,您需要定义一个接口块和一个相应的端口(代理或不代理),其中包括假定的输入和输出信号当通过块代表的通道​​进行通信时出现。

一般来说,如果你想简化一个模型,如果你能负担得起这样的简化,接口和端口可以省略,那么整个块元素可以被视为一个 "port" "interface" 由其隔间定义。这样的模块可以直接连接到 IBD 上,只传输一部分信号。

我想推荐 A Practical Guide to SysML, The Systems Modeling Language – Sanford Friedenthal, Alan Moore, Rick Steiner 书籍作为实用解释和示例的大量来源SysML 应用程序范围内的建模方法。