C++ 离散事件模拟C++;(优先级队列的阵列备份堆)

C++ 离散事件模拟C++;(优先级队列的阵列备份堆),c++,priority-queue,binary-heap,event-simulation,C++,Priority Queue,Binary Heap,Event Simulation,首先,我明白从长远来看,被填鸭式回答绝对会伤害我,而这不是我想要的。话虽如此,以下是任务的要点: “我们将在一个小型企业网络上模拟一个简单的跳岛攻击 攻击者将破坏网络中的一台计算机,并将其用作其他计算机的启动点 我们的攻击模型经过简化,每次攻击都需要一定的时间和时间 以一定的概率成功。攻击者和每台受损机器会定期 试图破坏网络中的随机机器。跨越入侵的攻击 检测系统将有一定的被捕获概率。系统管理员将 100%确定地(延迟)修复机器 网络的拓扑结构是一棵树。树的根是ID,所有ID都已连接 组件作为子组

首先,我明白从长远来看,被填鸭式回答绝对会伤害我,而这不是我想要的。话虽如此,以下是任务的要点:

“我们将在一个小型企业网络上模拟一个简单的跳岛攻击 攻击者将破坏网络中的一台计算机,并将其用作其他计算机的启动点 我们的攻击模型经过简化,每次攻击都需要一定的时间和时间 以一定的概率成功。攻击者和每台受损机器会定期 试图破坏网络中的随机机器。跨越入侵的攻击 检测系统将有一定的被捕获概率。系统管理员将 100%确定地(延迟)修复机器

网络的拓扑结构是一棵树。树的根是ID,所有ID都已连接 组件作为子组件。IDS也是网络网关。 两个开关(不是代理)是IDS上的直接子级。 其余的计算机作为子计算机在两个交换机之间平均分配。 来自攻击者的每个事件都会跨越ID。只有来自一个交换机下的计算机的攻击 到另一个交换机下的计算机可以通过IDS进行检测 系统管理员是模拟中未连接到网络的代理。它只能 从入侵检测系统接收模拟通知。“

有3种事件类型:攻击、修复和通知。我知道事件将存储在队列中,这很好,但我不确定如何实现这些事件。创建一个虚拟类事件和一组定义所有事件的子类?所有活动都有一节课?谁知道呢

还有3个代理响应或生成事件:攻击者、计算机和ID。再说一遍——我应该在单独的类中实现这些,还是使用一个主类就足够了

我的程序将得到3个输入:计算机数量、攻击成功率和通过IDS检测到的百分比


我真正遇到的问题是整个模拟的组织,这使得开始设计和实现非常困难。我似乎无法理解事件的结构,而且我的代码也很生疏,我不敢承认。如果您能朝正确的方向轻推,我们将不胜感激。

您可以看看。它使用java而不是C++,但是概念很容易翻译,重点是组织离散事件模拟的体系结构。这有助于一顿,谢谢!很高兴听到这个消息。你可以把它作为潜在的阅读材料告诉你的导师。