我有一个类Actor,其实例发送/接收网络消息。(例如,该类的每个实例都是在不同物理机器上运行的不同进程的一部分。)网络消息是通过连线发送属性的类MessageA和MessageB的序列化实例。传入消息由我的Actor类的回调方法处理。输出消息是通过调用我的Actor类的方法来触发的。因此,我开始在这样的类图中建模这种情况:

Actor-class是EA中常见的类,有四种相应的方法:。
现在,我想建立一个典型的交互模型,并开始绘制以下序列图:

这些消息不是方法调用,而是异步的,并且具有类型的“信号”,允许我为它们分配正确的消息类型。
然而,我想知道我是如何建模的
onMessageAReceived处理带有有效负载MessageA的消息的事实
方法
sendMessageA发出一条带有有效载荷MessageA的消息(注意:就我的实现而言,sendMessageA是正确的,这是正确的,因为发送网络消息是异步的,卸载到底层操作系统,该方法在发送消息后返回到它的被调用方)。
在序列图中。
也许,我的整个方法是完全错误的,我试图建模一些不能像这样的东西。在这种情况下,一些指向正确方法的指针是非常受欢迎的。
发布于 2021-02-24 13:46:50
当然,有不止一种方法来对此进行建模(而且它不依赖于工具EA)。所以,你应该问你在和哪些听众交谈,然后回复说,他们的领域基本上是什么。
技术
SD很适合显示物理运输。在这种情况下,您将专注于如何发送消息。在本例中,您将以消息的形式显示物理操作。例如,使用套接字,它将是一些(a-)同步send(message),它确保内容message从A传输到B。这可以是从rough发送到单个CRCs的任何技术实现级别(或者操作是如何在内部构建以确保包不会丢失)。
逻辑
为了显示一个更符合逻辑的方面,最好让组件(部署在多个硬件上)具有端口(实现某种接口),在这些端口上有一个信息流(在EA中是一个连接器),它可以传输一些东西(即消息类)。
概述
您可能需要在模型中描述这两个方面。但是很可能你会把注意力集中在某一部分上,这取决于你的整体领域。
没有单一的方法来模拟某些东西。模型总是抽象的,这就是我们创建模型的原因。他们将展示现实,但更轻的重量。
https://stackoverflow.com/questions/66350525
复制相似问题