我正在准备一个演示文稿,并希望展示一些 UML 图来说明我的分布式程序如何运行。由于UML是软件世界中的通用语言,我认为这是向听众讲述我脑海中的事情的最佳方式之一。
问题是我不知道如何使用 UML 图来执行某些分布式任务。首先,我想使用序列图并将分布式组件显示为参与者。看起来有可能。但是,如何在此图中演示 mpi_reduce_all 函数?并且,如何演示异步通信然后同步(即运行 isend/irecv 命令一段时间后,我使用 wait_all 函数同步进程)?
有什么想法吗?或者用其他图表来展示我想要的东西?
我想定义一个带有 boost 的常量 3x3 矩阵,它在执行过程中永远不会改变:
[1 2 3
4 5 6
7 8 9]
Run Code Online (Sandbox Code Playgroud)
该矩阵将是一个类的成员。那么,我可以像原始类型一样将常量矩阵变量定义并初始化为类成员吗?当我尝试为 someMatrix 变量输入 const 时,我无法在构造函数中分配矩阵数据并收到此错误:
error: assignment of read-only location '((Test*)this)->Test::someMatrix.boost::numeric::ublas::matrix<double>::operator()(0, 0)'
Run Code Online (Sandbox Code Playgroud)
以下是代码:
测试.h
#ifndef TEST_H_
#define TEST_H_
#include <boost/numeric/ublas/matrix.hpp>
namespace bnu = boost::numeric::ublas;
class Test {
private:
const double a = 1;
const double b = 2;
const double c = 3;
const double d = 4;
const double e = 5;
const double f = 6;
const double g = 7;
const double h …Run Code Online (Sandbox Code Playgroud)