- 共享代码开发概述
共享代码开发功能允许您编写可以编译以在多个平台上使用的代码。 例如,为新协议开发的代码可以设计为在承载它的物理硬件和OPNET网络模型中使用。
习惯上,Modeler用户使用行为建模。这些是捕获系统组件的行为而不是再现组件的确切内部功能的模型。行为模型通常做出简化假设。它们实现设计或算法,而不是复制实际代码。
在对现有系统建模时,行为建模有许多好处。 例如:
•您只需要对系统的关键部分进行建模。
•您可以编写高度可读的代码,并将其分解成逻辑块。
•您不受具体的,可能难以理解的平台的要求的束缚。
然而,行为模型分离了实际代码的开发工作和相应的模型。 另一方面,共享代码开发使用相同的代码来建模和在实际系统上执行。 这种方法
•整合建模和开发团队,允许更好的合作和减少工作量
•增加仿真结果与真实世界匹配的自信度(因为两者都使用相同的代码)
•通过一些操作实现更好的质量保证
- 作为代码更改的自动回归测试
- 使用真实代码和(与SITL)真实与虚拟设备的可扩展性测试
共享代码将需要一些修改,以允许它在所有目标(例如系统调用)上进行编译。 您不必使用所有的代码进行建模 - 子集可能就足够了。 此外,有时可以混合共享代码和行为建模。
共享代码是OPNET解决方案的可选功能。 要使用它,您必须具有共享代码开发许可证,并通过License > Product Modules菜单启用该功能。
1.1. 共享代码将以下组件添加到标准的OPNET Modeler:
•一个API,以方便在OPNET模型中使用共享代码
•共享代码的进程模型模板
1.2. 使用共享代码的工作流程
使用OPNET Modeler共享代码的一般步骤如下:
1)开发一个允许为多个目标编译代码的设计。
2)确定设计的哪些部分可以被简化用于建模,哪些部分是特定的实现。
3)决定设计模式。
4)创建使用共享代码进程模型的节点模型并将其包含在网络模型中。
- 使用共享代码
本节包括以下几个主题:
•设计共享代码系统
•共享代码的设计模式
•创建共享代码进程模型
•将共享代码添加到节点
•成功的建议
•共享代码偏好设置
2.1 设计共享代码系统
您需要以这样一种方式设计您的系统,使其可以为多个目标编译。首先确定系统需要完成的所有任务。然后根据以下两个条件选出不能共享的任务:
•可以从OPNET模型中省略哪些任务?
•哪些任务将需要高度定制化的实现?
对于上述这类任务将需要使用诸如在共享代码的设计模式中描述的技术对每个目标进行不同地处理。
哪些任务可以从OPNET模型中省略?
一般来说,您希望分享尽可能多的代码。但是,尝试建模过多的功能可能会使您的模型运行速度更慢,或者需要运行非常强大的计算机。您通常应用于传统行为建模的相同类型的标准也可以帮助降低共享模型代码的复杂性。您不需要建模的任务包括以下内容