离散事件模拟C ++(优先级队列的数组支持堆)

时间:2017-02-09 07:07:00

标签: c++ priority-queue binary-heap event-simulation

首先,我明白,从长远来看,用勺子喂答案绝对会伤害我,这不是我想要的。话虽如此,这是作业的要点:

"我们将在一个小型企业网络上模拟一个简单的岛屿跳跃攻击。该 攻击者会破坏网络中的计算机并将其用作其他计算机的启动点 攻击。我们的攻击模型已经简化,因此每次攻击都需要一定的时间和时间 以某种可能性成功。攻击者和每个受到攻击的机器会定期 试图破坏网络中的随机机器。穿越入侵的攻击 检测系统将有一定的被抓机会。系统管理员会 做出反应(有一定的延迟)以100%确定地修理机器。

网络的拓扑结构是树。在树的根部是IDS,所有连接都是 作为孩子的组件。 IDS也是网络网关。 两个交换机(不是代理)是IDS上的直接子节点。 剩下的计算机在两个交换机之间作为子节点均匀分割。 来自攻击者的每个事件都穿过IDS。只有一台交换机下的计算机攻击 IDS可以检测到另一台交换机下的计算机 系统管理员是模拟中未连接到网络的代理。它只能 从入侵检测系统接收模拟通知。"

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

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

我的程序将获得3个输入:计算机数量,攻击成功百分比以及IDS检测到的百分比。

我真正遇到的麻烦是整个模拟的组织,这使得开始设计和实施变得相当困难。我似乎无法围绕事件的结构,我的编码相当生疏,我不敢承认。非常感谢正确方向的推动。

0 个答案:

没有答案