【问题标题】:How to translate SDL signal list to something similar in SysML?如何将 SDL 信号列表转换为 SysML 中的类似内容?
【发布时间】:2019-01-31 15:23:30
【问题描述】:

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

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

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

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

我不是在寻找“有效的东西”,而是寻找一种容易且被广泛接受的(例如,规范的)为 SysML 块定义信号列表的方法。

无论如何,有人知道吗?

谢谢!

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

【问题讨论】:

    标签: sysml


    【解决方案1】:

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

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

    一般来说,如果你想简化一个模型,如果你能负担得起这样的简化,接口和端口可以省略,那么整个块元素可以被视为一个“端口”,定义了一个“接口”通过它的隔间。然后,这些模块可以直接连接到 IBD 上,以仅传输信号子集。

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

    【讨论】:

    • 嗨@masted,谢谢。那确实可行。我没有意识到块也可以用来表示接口。这是我错过的一个关键想法。
    • @nanitous 是的,块是非常通用的建模元素,您可以将普通块视为由结构和功能特征组成的“事物”或“对象”(这些事物之间的区别是系统理论本身的主题,所以让我在评论中省略这方面),其中结构和函数都可能是微不足道的或空的。所以,事实上,块可以代表任何东西:系统、结构、行为、接口、协议、上下文、项目、动作等,等等,你可以用刻板印象来命名它。 :)
    猜你喜欢
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多