opnet仿真实例中manet模型中为什么只有一个节点发送数据?

基于OPNET的Link22建模与仿真_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
基于OPNET的Link22建模与仿真
L​i​n​k2​建​模​与​仿​真
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢《基于OPNET的AODV路由协议仿真》是大学本科毕业设计来的。格式都已修改好。欢迎下载。。。
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于OPNET的AODV路由协议仿真
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口基于OPNET仿真平台的MANET路由协议性能分析
 &>&&>&&>&正文
摘要:MANET的特殊性决定了其路由协议的重要性。为了提高MANET路由协议性能,通过比较现有的两种典型MANET路由协议AODV协议和DSR协议,采用图形化界面的OPNET作为仿真工具,通过仿真结果的比较、分析,获得了与理论分析基本相一致的结果,即AODV协议的性能总体上优于DSR协议,并且AODV协议更适合于规模较大的MANET网络。仿真结果为后续提出优化路由协议和对现有协议改进工作提供了有效的仿真依据。关键词:路由协议;MANET;OPNET仿真平台;DSR0 引言&&& 随着无线通信技术的不断发展,一种新型的无线网络即移动Ad Hoc网络(Mobile Ad Hoc Network,MANET)成为了研究热点。移动Ad Hoc网络是由一组移动节点形成的一个多跳的、临时性的自治系统。由于Ad Hoc网络具有分布性、动态性、自治性、易构性和移动性,使得无线移动Ad Hoc网络可以广泛应用于军事领域、自然灾害应急处理、科学考察、探险、紧急通信等领域。然而,Ad Hoc网络有其特殊的局限性,如有限的带宽、高动态的网络拓扑结构、链路干扰、链路的有限范围以及广播等特性。使得建立可靠快速高效的路由协议成了当前研究的热点之一。1 MANET的路由协议&&& MANET的路由协议大致分反应式(Reactive)路由协议和先验式(Proactive)路由协议。1.1 反应式路由协议&&& 反应式路由协议又称为按需路由协议,是一种当需要发送数据才查找路由的路由算法。在这种路由协议中,节点不需要维护及时准确的路由信息,当向目的节点发送报文时,源节点才在网络中发起路由查找过程,找到相应的路由。&&& 目前应用较广的反应式路由协议有DSR(Dynamic Source Routing)和AODV(Ad Hoc On Demand Distance Vector)。DSR协议使用源路由,主要包括路由发现和路由维护两部分。节点发送数据时,首先检查缓存中是否存在未过期的到达目的节点的路由,存在就可直接使用,否则采用洪泛发实现路由发现过程。&&& AODV是基于距离矢量的算法,与DSR不同之处在于:AODV只保持需要的路由。它使用目的端顺序号来避免产生无效路径,而不使用周期更新的办法。当某个节点有路由需求时,该节点产生一个REEQ,并向临时节点广播,一直到目的节点接收到为止,然后目的节点回送RREP信号,直到源节点为止。在维护过程中通过周期广播HELLOW信号来表明某节点的存在。&&& 除此以外,反应式的路由协议还有很多,诸如:临时按序路由协议(TORA)、逐段路由协议(SSR)等。1.2 先验式路由协议&&& 先验式路由协议又称为表驱动路由协议,在这些协议中,每个节点维护一张包含到其他节点路由信息的路由表,当检测到网络拓扑结构发生变化时,节点在网络中发送更新消息,收到更新消息的节点更新自己的路由表。源节点一旦要发送报文,可以建立立即获取到达目的节点的路由。目前主流的表驱动路由协议有DSDV(Destimation Sequenced Distance Vector)和WRP(Wireless Routing Protocol)。DSDV是对Bellman Ford路由算法的改进,加入了避免路由环路机制,每个节点都保存一张路由表,路由表中包含所有节点及其距离信息,通过广播来维持网络节点的连通性,同时使用目的节点序列号来区别新旧路由。而WRP路由算法同样是对路径发现算法PFA的改进,它利用去往节点的路径长度和相应路径到达倒数第二跳节点信息加速路由协议的收敛速度,从而实现改进路由环路问题。2 OPNET仿真平台&&& 目前众多的专用网络仿真软件中有软件公司开发的商用软件,也有各大学和研究所自行开发的科研用软件。&&&& OPNET是一种优秀的网络仿真和建模工具,支持面向对象的建模方式,并提供图形化的编辑界面,便于用户使用。它强大的功能和全面性几乎可以模拟任何网络设备,支持各种网络技术,除了能够模拟固定通信模型外,OPNET的无线建模器还可用于建立分组无线网和卫星通信网的模型。此外,功能完善的结果分析器为网络性能的分析提供了有效又直观的工具。OPNET的Molder是专门用于可视化原型设计的软件,它的使用既方便了网络模型的建立,又减少了编程的工作量。Molder中提供多种编辑器帮助用户完成网络建模和仿真运行,它包括网络编辑器(Network Editor)、节点编辑器(Node Editor)、进程编辑器(Process Editor)。3 网络仿真&&& 在此,对MANET网络中的经典路由协议AODV协议和DSR协议进行建模、仿真和分析。3.1 网络模型3.1.1 协议性能测评指标&&& (1)路由发现时间(Routing Find Time):路由变化的收敛速度是衡量常规路由协议的关键因素,但是对于Ad Hoe网络来说路由协议是不收敛的,因此将路由发现时间作为一性能测试指标。&&& (2)端到端平均时延(Delay):该参数是指源节点发送数据到目的节点之间的时间,包括路由发现、队列排队、数据发送和传播等。它反映网络是否畅通,延时越小网络越畅通,其单位为s。&&& (3)分组投递率(Packet Delivery Fraction):该参数统计投递到目的节点的分组与源节点产生CBR分组的比率,单位为%。3.1.2 网络模型建立过程&&& 移动Ad Hoc网络模型分别由10个移动节点,依次为0,1,2,&,10,随机分布在1 000 m&1 000 m区域内的校园网环境中,物理上的无线通信OPNET通过管道(Pipeline)来模拟,它包括14个管道阶段:
第1页&&&&http://www.autooo.net/icdata/data_51024.html70OPNET%2BModeler建模VC调试技巧
上亿文档资料,等你来发现
70OPNET%2BModeler建模VC调试技巧
SOF-ITWAREDEVEIDPMENTAND;软件开发与设计;OPNET;Modeler建模调试技巧;甘苹;(上海应用技术学院计算机科学与信息工程系,上海2;摘要:OPNETModeler调试工具OPNET;Modeler;教程的一个实例,介绍利用内建统计量分析总线冲突情;关键词:网络仿真;调试;总线冲突;OPNET调试;DebuggingMethodo
SOF-ITWAREDEVEIDPMENTANDDESIGN软件开发与设计OPNETModeler建模调试技巧甘苹(上海应用技术学院计算机科学与信息工程系,上海200235)摘要:OPNETModeler调试工具OPNETDebugger(ODB)的使用比较困难,输出信息庞杂。借用OPNETModeler教程的一个实例,介绍利用内建统计量分析总线冲突情况,利用ODB观察模块或进程的行为、监控变量,以及分析ODB输出信息的常规方法。提出一种利用op_sim_message函数的简便调试方法。该方法信息简练、完整,便于后续处理,并通过实例介绍了利用op_sim_message函数定制总线冲突报警、监控变量、检查代码逻辑的方法,同时提供了关键代码、注释,以及后续处理的步骤。关键词:网络仿真;调试;总线冲突;OPNET调试工具DebuggingMethodof(DepartmentofComputerAbstract:0PNETScienceandModeling而tllOPNETModelerGANerosInformationEngineering,ShanghaiInstituteofAppficafionTechnology,Shanghai200235)Debuggerwith0PNETModeleriSsomewhatcomplicatetouse.Its011tputinformationistoomuchforanalysis.TakingoneofthemodelsintheModelertutorialsandseveraldebuggingmissionsforinstances.thenormalmeth【odsforobservingcollisionsinbuslinkthrouIshbuih-instatistics,tracingbehaviorsofamoduleorprocessandmonitoringvail-ablesunderODBsageintroduced.AmoreconvenientandsimplemethodiSproposed.whichexploitsmainlytheop_sim_mes-kernelprocedure.TheoutputinformationissimpliftedandcompletelyheldinthesimulafionwindowthusitCaneasilyalebetesthandledwitllMierosofiWord.Throughthesameexample,howtoinvestigatebuscollisiondetails,monitorvariables,andarethepmgam’8logicisdemonstrated.Keycodes,notesandinformationdealingstepsKeywords:networksimulation;debug;collision;OPNETDebuggeralsopresented.1引言随着网络技术和网络应用的迅猛发展,网络仿真作为新兴数分布的到达间隔产生大小固定的包;链路的管道级模型采用默认值,无传播延时,无差错;通过统计正确接收到的包数和发送的总包数,计算网络吞吐率(throughput)和网络流量(traffic),借以研究Aloha的效率。该模型仅生成吞吐率和流量两个标量统计量。如果想了解发生冲突的具体情况,该怎么办呢?怎样知道某个节点试发了多少次,有多少次成功?下面针对这些问题,说明不同的调试方法。的网络规划与设计方法日益受到重视,目前国内常见的网络仿真软件有两种,NS和OPNET。建模仿真的一个必要步骤是调试,OPNET提供的调试工具OPNETDebugger(ODBl功能强大,但使用比较繁琐。首先因为ODB属于命令行方式,有近80条命令及不同用法;其次,要查看某实体的信息往往需要指明实体的ID号,而实体ID号不能预知,需要实时查询。此外,用户可能需要收集某些调试信息,ODB输出的信息都在命令行方式下,虽然可以拷贝,但内容只能保留末尾的几屏,早先输出的信息“溢出”了,给信息的查看、处理带来困扰。再如,要验证协议本身的正确性,或分析代码是否逻辑正确,可以利用ODB打印事件信息,但是其中夹杂了大量无关的内容,分析起来极不方便。通过实例介绍一些调试技巧,尤其是获取冲突信息的方法,并提出一种简单普遍的调试方法,无需使用ODB,只需借助两个OPNET函数及字处理软件。23观察总线冲突3.1利用内建的统计量总线链路模型有内建的冲突状态统计量(collisionstatus),可以显示某时刻是否发生冲突。但是在信道空闲时,链路状态也是无冲突,即这个量不区分空闲与发包而无冲突的情形。另外这个统计量并非指示包遭遇冲突的情况,而是接收机看到的冲突次数,一旦有包到达或接收完毕,该统计量就产生新的样本。这就意味着当3个包发生冲突时,可能产生4个数据,也可能只有1个数据(3个包同时到达、同时接收完毕)。因此它不能反映冲突次数。更好的方法是利用包丢失率(packetlossratio)。这个统计量表示接收机收到一个包时是否丢弃它。本例中误码率为零,因而所有丢弃均因为冲突,丢包即代表该包遭遇了冲突。包丢失率统计量在每包到达时更新,样本总数就是发总包数,“l”的个数就是遭遇冲突的包数。因为无传播延时。接收或丢弃的时刻等于发送时刻加传输延时。仿真完毕后将该统计量的数据输出到数据列表中,剔除取值为空(显示为“#NIA,’)的数据点,利用电子表格软件Excel的统计函数“计数”调试实例借用Modeler产品文档教程篇中的例子“CSMMCD”(项目名为cet_net)加以说明,这个例子仿真了总线型拓扑的局域网媒质访问控制方法,这里引用Aloha场景。该模型包括20个发送节点、1个接收节点和1条总线型链路;发送节点由数据源、收发器、吸收器和处理器tx_proc构成;接收节点由接收器和处理器构成,rx_proe包括两个自定义函数proc_pkt和recordstats。用于处理接收包和统计。数据源以指本文收稿日期:2009-7―20和“求和”就能方便地计算总发包数和冲突包数。但是这种一35―万方数据电脑编程技巧与维护方法无从知晓发生冲突的包源自哪个节点。3.2定制冲突报警OPNET标准总线模型包括6个管道级(pipelinestage),默认设置为有冲突时传输失败。如果发生冲突,除了上文提到的两个统计量外,Modeler不通知用户。为获知冲突的详情,可以修改管道级,定制冲突报警消息。方法有两种:一是修改管道级模型dbu_coll,报告发生冲突的两个节点名称。本例中只有node20是接收节点,因此要设法区分出node20节点的接收处理,否则所有节点都会产生冲突消息。具体的做法是在dbu_coll中、更新冲突次数的语句后面添加如下代码:op_ima_obj_attr_get_str(op_topo_parent(opRl_get_int(pkptr_arriv,OPCTDA―BU―RXOBJID)),”name”,128,brname);严从发生冲突的新到包的TD数据中提取接收机m号,再获取收包的节点名?/if(strcmp(br_name。”node_20”)==o)严如果收包的是node20节点,就报告冲突?,It_s=op_sim_time0;process_id=op_pk_stamp_mod_get(pkptr_prev);,奉查询前一包的发包进程书,node_ld=op_topo_parent(processid):产查询前一包的发包节点D吖op_ima_obj_attr_getstr(node_id,”name“,128,prev_addr):p由D号查知发送节点名‘,process_id=op_pk_stamp_mod_get(pkptr_atriv);,幸查询新到包的发包进程+,node―id=op_topo_parent(process_id);,幸查询新到包的发包节点ID*/op_ima_obj_attr_get_str(node_id。”llarfle”,128,at-riv_addr);严由D号查知发送节点名吖sprintf(sl,”%sand%sat%f.,prev_ad&,arriv_addr,Us);严构造冲突信息字符串sl*/op_prg_odb_print_major(”COLLISSION!”,sl,OPC_NIL);}p向标准输出设备输出sl*/第二种方法是修改管道级dbuecc,使得发生冲突的包也能被接收(即在接收机输出stream引起中断),在接收节点的包处理进程中调用TransmissionDataKP函数,检查包是否遭遇冲突,查询遭遇冲突的包的源地址。主要代码如下:管道级dbu_ecc中if((op_td_get_int(pkptr,OPC_TDA_BU_NUM_COLLS)!=o)¨(op_tdisset(pkptr,OPC_TDA―BU―ND―FAIL)))改成if(op_td_is_set(pkptr,OPC_TDA_BU-ND_FAIL))。在进程ccLrx的proe_pkt函数中、从stream取包的语句之后添加下列代码:if(op_td_get_int(in_pkt,OPC_TDA_BU_NUM_COLLS)!=0){process―id=op_pk._stamp_mod-get(岫);p检查包是否遭遇冲突+,严查询发包进程?,node_id=op_topo_parent(process_id);严查询发包节点D+,opimaobj―attr_get_str(node_id,”name”,128,node_name);,母由D号查发送节点名‘,sprinff(sl。”apacketfrom%sexperiencedcollission!”.node_name);产构造节点名字串sl*/op_sLm_message(sl,OPC_NIL);l产将字串sl打印到仿真窗口},结合包到达时间和包的长度,还可以确定哪两个节点发生了冲突。前一种方法也可采用op_simmessage函数输出信息。这一36一万方数据样做的好处在于不必启动ODB,信息以模块名+过程名+消息内容+分隔符的固定格式按时序直接在设计模式下(即仿真窗口)输出,便于查看,也便于利用字处理软件作进一步处理。4变量监控要跟踪变量的值,最直接的方法是定义统计量,用KP函数opstatscalar.write或op_stat_wfite输出到文件中。这种方法查看、处理数据很方便,但必须在仿真结束或中止之后创建统计量曲线图。文中从其他途径来解决,在仿真过程中显示即时信息。4.1ODB命令ODB的trace命令可以输出模块、事件和进程的相关信息,包括调用KP函数时的实参和返回值。例如要监视成功接收的包数(变量revd_pkts的最后取值),该变量进程模型cct_rx中出现,KP函数op_stat-scalarwrite(”ChannelThroughputS”,(double)rcvd_pkts,cur_time)引用了它。trace命令只能显示rcvd_pkts/eur_time的值,要查知仿真时间才能推算rcvd_pkts的值。常规的方法是首先利用“objmapmodule”命令查到rx_proe模块的ID号为45,用“pmmap45”命令查到进程ect_rx的lD号为0,再用“mtrace45”或“pnD-trace0”打印有关信息。输出的信息繁杂。这是一个特例,有关信息出现在最后发生的事件中,否则用户关心的信息可能淹没在大量无关紧要的输出中,甚至丢失,需要结合不同种类的断点减少无关信息。因为知道调用函数record_stats的过程是仿真结束前最后一个事件,如果先用“intstop45endsim”在rx_proe模块的最后一个事件设置断点,然后在断点处执行仃ace命令,输出就只有record_stats的调用信息,简洁得多。图1显示了ODB的部分输出内容。由这些输出得知仿真时间为1458.3秒,rcvd_pkts,cur_time的值为0.1817181,可推算得revd_pkts=265。I-condition:‘’舯―8l一¨lIoex∞cutiv●:‘'l_cord_statt‘)‘’Il?一HcoH―霉t-ts()Il4---op_stat_scalar_"ite(star_5taJte,ealue>lIst&tnm(ChannelTrafficC)lllual.e‘0.685728683578)ll?―――――一一――I::∥孟五。。h,胂蛔觚~一,::≯、、IlkstarnⅢ(ChanneThroughlmt∥:::∑警迎L竺!!型凹少l图1利用ODB命令监控变量4.20DB函数另一种更简便的方式是用ODB函数op_prg_odb_print_major,在进程模型ccLrx中添加如下语句:if(op_prg_odb_ltrace_active(”ended”))严定义trace标签”ended”?,{sprintf(sl,”%dsubmitted,%dreceivedand%dsubjectedeollission”。subm_pkts,rcvdpkts,coil_numb);sprintf(s2,”TimepaSsed:%ft,cur_time);严按指定格式将变量转化为文本字符串sl和s2*/SOFTWAREDEVELOPMENTANDDESIGN软件开发与设计-_●-E●_々__E_●●m―――――――――――――――――――――――一――I―――――――――――――――――――――――――――――――――――――――――――――――――――――――.―――――――――――――――――――――――――――――――――――――――――――――――――――――m――,_●●lop―prg_odb_print_major(sl,s2,OPC_NIL);产在ODB窗口输出sl、s2*/}只要将上述语句写在FINWOUT宏中,运行ODB时用ltraeeended开放“标记跟踪”(1abeledtrace)“ended”,就能直接显示4个变量的值。其实不用if语句也行,可省去开放标记跟踪这一步,但是用标签可以对变量进行分组显示,即不同变量组采用不同的标签,运行ODB时只开放需要查看的变量组的标记跟踪,输出信息更简洁、清晰。输出效果如图2。?Ti_:146|.3S2'713S2¨c,[88d蛳24mth.3112m713l‘lm519nt嘲*1?hent:●ncutionID(81699).echedul41D‘麓)一type(endt轴int坤t)?Source;Sftl眦latto.-●―I●1?D●t●:110110)mdl‘h:top.阱fic?ht¨件.nede_捌J.ts(_Jpfoc[ObJtd-4S】(ppOCetsoP)l嘲lubmitted.265received?“733●u”?ct―conis!ioa――!I_p4ssed:1458.3越7lt――――一一StmalattonConpleted一。.1llt“gRelult8.Euent8:Total(81,711Q).herageSpeed(19.’韩euents/sec.’Tins=El‘一“‘4.1‘●c.).ginulatsd(24min.18t雠-)图2op_prg_odb_printmajor的输出4.3op_sim_message函数推荐用op_sim_message函数输出信息,这样不必运行ODB,不受FIN/FOUT宏的限制。用sprinff和op_simmessage函数可以灵活地输出任意变量,更便于设计阶段的调试。比如要观察某个节点试发了多少包、有多少包成功,可以采取以下步骤:(1)定义全局变量整型数组nodetx_pk【21】存储各节点提交包数,在接收处理进程cct_rx中定义状态变量(statevari―able)pk_fmnode【211数组记录来自各节点的包数。(2)在进程cctrx的初始状态中设置所有节点的userid属性,以便将userid作为访问数组nodetx_pk和pk_fmnode的下标,以区分20个发送节点。开放进程cct_rx的“开始仿真”中断(begsimintrpt设置为enabled),因为要在其他节点发送包之前设置其userid属性,需要一个比“包到达”中断更早的中断来调用cct_rx的初始化代码。(3)在进程cct_.rx的接收包处理函数中更新成功接收的包数pk_fmnode【userid],在统计处理函数中输出数组nodetx_pk和pk_fnmode。(4)在发送处理进程aloha_tx的初始状态退出执行代码(exitexecs)中添加读取节点userID属性的代码。因为每次发包时需要更新发包数(访问数组nodetx_pk【userid]),可定义一个状态变量my_userid存储本节点的userid。在进程cctrx的初始状态中设置所有节点的userid属性的代码如下:rvnode=op_topo_parent(op_id_self0);,车获取接收节点D号?,nodecount=op_topo_objectcount(OPC_OBJ-TYPENODEFIX);产获取节点总数},for(i=0;i<nodecount;i-H-){产扫描所有节点,设置userid为系统赋予的节点序号宰,node_id=op_topoobject(OPC_OBJTYPENODE_FIX,i);op_imaobj_attrset(node―id,”usel"id”j);pk_fmnodefi】=o;严初始化数组+,l接收包处理函数proe_pkt中“提取包”语句之后添加以万方数据下代码:processid=op__pk_stamp_mod_get(in_pkt):产获取发送进程D号+/node_id=op_topo_parent(process_id);产获取发送节点D号},op―imaobj_attr._get(node_id,”userid”,&user_.id):产获取发送节点userid*/++pk_fmnode【userid】;产更新发送节点的成功发送包数吖在统计处理函数过程中报告各节点发包总计的代码如下:node_count=op_topo_object_count(OPC_OB-JTYPE_NODE_FIX);rv_node=op_topo_parent(op_id_self0);for(i=O;i<node_count;i++){node_id=op_topo_object(OPC_OBJ-TYPE_NODE_FIX,i);if(node_id-----rv_node)continue;else{op_irna_obj_atlr_get_slr(node_id,”name”,128。node_name);op_ima_obj_attr_get(node_id,”userid”,&user.id):sprinff(sl,”%ssubmitted%5d,%5dsucceeded”,node_name,nodetx_pk【user_id】,pk_frnnode【user_id】);产报告“node_xx提交yy包,zz包成功”宰,op_sim_message(sl,or'C_NIL);l}发送进程初始状态退出执行代码(“exitexecs”)如下:op_ima_obj_attr_get(op_topo_parent(op_id_self()),”US--erid”,&my―userid);,丰获取本节点的userid,保存于状态变量my_userid中供统计发包数用+,需要说明的是,只有20个发送节点,似乎数组长度20就够了,但是在仿真前不能确知节点的次序,用扫描方式设置发送节点属性,数组长度等于固定节点的总数21,才能确保访问数组时下标不越界。5调试信息的后续处理通过PROBE采集的矢量统计量,或用op_stat_scalar_write函数采集的标量统计量,均町输出到Excel进行处理、分析。对于opsim_message函数输出的信息,因为其格式统一。利用字处理软件,比如MicrosoftWold,进行处理也很方便。首先从仿真窗口复制信息到Word文档中,用菜单“表格一转换一文本转换成表格”命令,转换成4列表格,使得每条消息占一行表格,如图3(a)。删除无用的列,然后利用“编辑一查找,替换”命令将消息内容中的空格、英语单词、标点符号转换分段符,再利用“表格一拆分单元格”命令将数值和文字分离,结果如图3(b)所示。最后将表格复制到Excel中,或就在Word中利用公式计算。可将计算结果与第一条仿真输出消息中的总计结果相印证。6代码逻辑检查ODB的trace、event命令可以显示模型运行中的事件及其时序,但是正如前文所说,ODB输出信息庞杂、不易保存,要借以检查代码的逻辑正确性,很不方便。在此,建议利用op_simmessage函数指示程序的流程。比如在某个自定义函数的第一句可执行语句之后、if等分支语句的每一个分支加上op_sim_message,输出标识性文字、符号等。运行仿真时,仿(下转到47页)一37―SOF-l’1ⅣAREDEVEIDPMENTANDDESIGN软件开发与设计是什么的情况就盲目上马ERP软件的研发,试图依靠一群只有软件公司经验的工程师开发出的所谓ERP管理软件,打开市场,这类情况并不鲜见。如果ERP软件在公司内部的应用都问题多多.怎么可能指望会创造市场价值?这种草率作法必然要付出惨痛的代价。(2)自主研发一定要考虑企业的财力、物力、人力,具有一定实力的企业才适合自主研发。与购买成型的ERP产品相比,自主研发需要耗费较高的成本;对于小企业可采取折衷办法:与第三方软件公司合作开发。企业参与关键业务流程设计开发,有利于后期软件的维护及长久的实施应用。(3)ERP系统的业务专家必须具有行业经验,且具有较强的沟通能力和合作精神,一个精通业务、擅长沟通、责任心强的业务专家对团队的影响力不亚于项目经理。(4)团队的建设不能依靠草台班子。目前屡见不鲜的是,ERP软件公司招聘的是缺乏工厂经验的工程师,缺乏对业务了解和重视,所谓的CTO也是刚刚毕业几年的毛头小子,依靠Google来“自主”搜索关键技术问题的答案。这样团队开发出的产品必然脆弱,不具有长远的生命力,注定无法提供稳定良好的服务,更不可能实现市场上的营销成功。数据复杂,制作报表是一项艰苦的工作。也曾试图开发报表工具来辅助报表设计,减轻程序员开发工作量,但开发出的报表工具功能不佳,敏感数据的加密、传输、设计的操作便利性、易用性、对于复杂报表的数据提取、格式版面的支持等方面,都无法满足现实需要,耗费了较多的开发人力。无奈,经过系统评估,果断放弃了对报表工具的后续开发,经过系统分析与调研,决定购买市场上成熟的报表产品。与系统数据达到无缝集成,可以方便地嵌入系统中,格式编排等非常方便,许多复杂报表也可轻易完成制作。(2)研发的ERP系统。在交付给用户使用时,发现了一些隐藏的Bug,数据错误与性能问题表现的比较突出。表明在开发设计过程中,忽视了设置专门的测试人员,对软件产品质量的控制检测,只让程序员完成了单元测试,并经由业务人员简单的功能测试就交付使用。(3)自主研发的ERP系统产品,在向国家同类园区推广过程中,发现有些业务流程的设计过于个性化,只符合企业的需求;如果应用到其他园区,还需要作较多调整。说明规划时没有从推广园区行业ERP产品的角度多做考虑,导致了后续变更成本的升高。有些园区还需要将“工作流”的概念加入到ERP系统中,使得整个系统的所有资源都协同动作,实时关联,真正实现企业内部资源的全面、科学管理。这些新鲜的思路和想法都更进一步拓宽了对ERP软件的自主研发的视野。7作者简介赵勃,女(1972一),系统分析师,硕士,主要研究方向:ERP、CallCenter等。经验总结(1)ERP的开发一定要杜绝盲目跟风。在还未搞清ERP(上接第37页)真窗口即时显示出这些标识,指示正在调用某函数,或进入了哪一个分支,程序流程一目了然。再结合上文建议的变量监控方法,追踪关键变量在某阶段的取值。代码的逻辑正确性检查变得轻松自如。Module(45),(top.o匝∞Fromprocedure:recordstatsOnode―osubmitted36eler自带的调试工具ODB使用比较复杂。通过Modeler产品文档教程篇的一个实例,介绍了利用内建统计量和ODB进行调试的常规方法,包括跟踪模块行为、查看总线冲突详情、监控变量,以及分析ODB输出信息的方法。灵活利用各类断点和标签跟踪,可以精简输出,方便查看,更方便、灵活的方Network.node_20.rx_.proc)Module(45),(top.Offi∞Network.node20.rx_poc)Monde“5),(top.OfficeNetwork.node_20.rx__proc)55,succeeded法是利用opsimmessage函数输出自定义信息通过同样的实FromplD∞dI勰:record吼蜥th甜43.node―I30例,详细说明了采用这种方法报告总线冲突、监控变量、检查代码逻辑的具体步骤,提供了关键代码和解释。实践证明,这种方法的输出信息保存在仿真窗口中,完整、简练,格式stats0succeededFromprocedme:recordnode一2statsO32submitted52,统一,便于利用字处理软件进行后续处理。succeededModule(45),(top.嘶∞FrompI_0lceml∞:Network.node_20,rx_proc)recordnode一3submiRed49,stats037succeeded参考文献【l】OPNET公司.Modeler10.5A联机文档【CP/DK].第10版,美国贝塞斯达:OPNET公司,2004.(a)nodenode0l5536【2】孙屹.OPNET通信仿真开发手册【M】.北京:国防工业出4352303237版社,2005.【3】高传善。毛迪林,曹袖.数据通信与计算机网络【M】.北京:高等教育出版社,2005.nodenode2349(b)圈3利用Word处理op_sim_message输出信息作者简介甘苹,女(1971一),硕士,主要研究方向为数据通信。7结语调试是利用Modeler软件进行仿真研究的重要步骤。Mod-万方数据――47――OPNET Modeler建模调试技巧作者:作者单位:刊名:英文刊名:年,卷(期):引用次数:甘苹, GAN Ping上海应用技术学院计算机科学与信息工程系,上海,200235电脑编程技巧与维护COMPUTER PROGRAMMING SKILLS & MAINTENANCE2009,(20)0次 参考文献(3条) 1.OPNET公司 Modeler 10.5A联机文档 20042.孙屹 OPNET通信仿真开发手册 20053.高传善.毛迪林.曹袖 数据通信与计算机网络 2005 相似文献(10条)1.学位论文 吴春燕 IFDL系统关键技术的研究――物理层硬件实现与网络仿真 2007本文主要研究了机载雷达内部飞行数据链(IFDL)的相关协议,对IFDL物理层的硬件实现进行了整体设计,阐述了加密、时隙控制及跳频电路部分的具体实现,并探讨了整体电路的集成以及与上层协议部分的衔接,对FPGA内部电路进行了仿真和调试,最后对上层协议部分进行了OPNET网络仿真。 首先,介绍了数据链背景以及Link-16功能和相关协议,由此提出IFDL课题的研究目标,并进一步讨论了IFDL系统中的物理层关键技术,给出课题的研究内容及技术指标,为全文奠定理论基础和指导方向。
其次,对IFDL物理层的功能进行分析,参考课题研究目标及技术指标,提出总体方案设计框架和物理层硬件平台的设计,包括基带处理部分方案及跳频部分方案,以及物理层与协议层接口的设计,对各部分的具体实现方案进行协调。接着,阐述物理层各部分电路的实现,在此基础上设计实现各部分之间的接口,以及与上层软件电路之间的接口,并设计和实现了全局时钟的分配。
然后,对物理层实现中的FPGA内部电路进行集成及软件仿真,并在仿真成功的基础上在硬件平台上调试与实现,进一步与协议层电路连接调试。最后,对Link16的主要网络协议进行OPNET网络仿真,根据JTIDS的技术体制和网络使用特点,建立仿真平台。2.学位论文 高嵩 MANET网络仿真方法与应用研究 2007MANET网络是一种可自组织、自愈、随遇建立的网络,具有极大的灵活性。因此成为应急、救灾、战术行动、会议、校园网接入等众多应用领域的首选方案。但是由于技术复杂度高,试验成本高,理论推导和科学试验在研究中都受到限制。因此仿真成为研究者倚重的手段。
MANET网络仿真按被研究对象可分为协议仿真、设备仿真、系统仿真。虽然分成三类,在实际的仿真中往往相辅相成缺一不可。因此使用仿真方法的研究者不论出于何种研究目的,都需要对仿真方法有个全面的了解,这直接关系到仿真结果的可信程度,进而影响研究成果。但是仿真方法与MANET研究者的研究目标本身关系不大,因此往往被研究者忽略。同时因为没有统一的仿真方法架构,国内外的学者在研究中使用了各种不同的仿真实现方法,运用了不同的分析工具,导致多数仿真结果在横向比较时没有可比性。这阻碍了研究的进展。
同时,作为一种试验手段,仿真结果毕竟很真实试验有差距。为充分发挥仿真的作用,同时使仿真的结果更接近真实,需要使用半实物仿真技术提高试验结果的可信度。
对前一个问题,本文首先在总结协议仿真、设备仿真、系统仿真工作的基础上,提出了MANET网络仿真的数学表达,据此分析了两种常见仿真构造方法的优缺点。然后从面向对象构造方法出发,在参考各方的评价和总结自己工作实践的基础上,提出了基于一种知名工具的通用MANET路由协议仿真评估方法,该方法能保证协议性能横向对比的公平性。
对后一个问题,本文在最后提出了一种由离散事件仿真平台主导的,可用于调试的协议测试床的设计框架。该框架符合面向对象构造方法,既能灵活的应用于协议和设备的测试与调试,也能应用于MANET网络设备和3G网络设备的测试与调试。3.期刊论文 戎俊杰.熊齐邦.RONG Jun-jie.XIONG Qi-bang 基于SNMP的IPv6大型网络仿真 -计算机技术与发展)为了解决在IPv6协议得到完全应用之前,IPv4与IPv6在Internet共存的交互问题,在列举了当前几种过渡技术的优弊之后,提出了基于SNMP的IPv6大型网络仿真的结构与设计,并设计出了仿真系统的结构模型,利用从真实网络设备录入与手动模拟相结合的方法,轻松地建立起真实的IPv6网络环境.该模型的实现解决了现有IPv6依赖于IPv4协议的尴尬境地,能够对开发的IPv6网络管理系统进行有效的测试,模拟各种IPv6网络设备,从而降低开发成本,而且在开发网管系统的过程中营造各种调试环境可方便调试.4.学位论文 潘磊 Ad hoc网络中的节能机制及基于多串口卡的Ad hoc网络仿真系统研究 2005由于无线终端一般都是用电池供电,节点能量的耗尽很容易就会导致整个网络的快速崩溃,因此能量管理就成为这些网络部署中的关键问题。本文分析了Adhoc网络中的常见的节能机制和节能协议,提出了一种基于功率控制的分簇算法。通过与常见分簇算法仿真实验的比较,表明新算法具有良好的性能,并能实现节能的效果。传统的有线和无线网络都是基于中心控制的,因此无法用传统的协议调试方法对Adhoc网络协议进行调试。为了更好地对我们研究中提出的协议和算法进行调试和分析,本文设计和实现了基于MOXASmartioCP-168U/PCI多串口卡的Adhoc网络仿真系统,实现了Adhoc网络多跳性和节点移动性以及无线信道的模拟。在本文的最后,给出了一种多包接收算法和DCF-MPRMAC协议联合仿真的过程和结果,验证了该协议及算法的正确性和有效性,同时也证实了我们的仿真系统有助于网络协议的开发与测试。5.学位论文 马运华 基于多串口卡的可编程移动Ad Hoc网络仿真系统研究 2005AdHoc网络是一种无中心对等网络,具有自组织、快速展开和移动等特点。与有中心网络相比,AdHoc网络灵活、健壮、投资少,特别适合于作战指挥、抢险救灾以及应付突发事件和执行临时任务的场合。在AdHoc网络中,每个移动结点兼备路由器和主机两种功能。
  随着信号处理技术的快速发展和新的网络设计思路的出现,分离多个用户冲突数据包已成为可能,我们详细描述了工作在物理层的PPS算法,算法具备分辨冲突数据包的能力;和工作在链路层的DCF-MPR协议,协议和物理层算法相配合,完成多包接收的过程。
  AdHoc网络的多跳特性和节点的移动性使得协议的调试变得非常困难。目前,对协议的仿真研究通常使用了NS-2的软件工具,本课题是“863”项目的子项目,根据项目需要,设计和实现了基于多串口卡的移动AdHoc网络仿真系统,在此系统上我们进行了DCF-MPR协议和PPS算法的仿真验证工作。实验结果证实我们的仿真系统有助于开发和测试网络协议,达到了验证AdHoc网络特征和网络协议的目标。本文最后对仿真系统进行了功能上的扩展,使其能够应用于路由协议的仿真,设计与实现了多串口卡服务程序,并分析了DSR模块的数据结构和流程,给出了在系统上仿真路由协议的方法。6.学位论文 柏林 基于分组交换网络仿真TDM电路技术的研究与设计 2004该课题介绍了基于分组交换网络仿真TDM电路的方法.随着通信网络向下一代网络的演进,以IP技术为核心的网络成为主流.如何保护原有的TDM设备,成为人们关注的重要方面.因此对该课题的研究与设计具有广阔的前景.目前语音基本还是通过TDM网络来承载,这属于电路交换范畴.分组交换网络无处不在,是网络发展的必然趋势,这就导致TDM业务向IP网络过渡.不过分组网络属于分组交换范畴,二者在结合中必然面临系列问题,需要一种技术将它们有机地融合在一起.该文从当前网络发展的背景出发,首先介绍了基于分组交换网络仿真TDM的原理,两种仿真技术的差异.然后又分析了如信令处理、延时抖包含各类专业文献、应用写作文书、幼儿教育、小学教育、专业论文、生活休闲娱乐、行业资料、70OPNET%2BModeler建模VC调试技巧等内容。 
 我的安装方法opnet14.5+win7+VC6.0_电脑基础知识_...安装 14.5 的 modeler_145A_PL1_win32,装在 d...那么安装过程要格外小心, 对调试时会出现的各种问题...  2. 3. 1 和 4 步骤是在 ODB 中进行完成的; 2 步骤可以通过两种方法完成:...OPNET的ODB调试以及与VC... 3页 1下载券 OPNET%2BModeler建模VC调... 6页...  在安装之前一定要记得把 VC 的环境变量进行设置,...《OPNET Modeler 网络建模与仿真》 的 OPNET 核心...OPNET 中 ODB 调试经验调试程序应该是新手最花时间...  2.OPNET 2.OPNET 建模机制 OPNET Modeler 提供了...4. 采用混合建模机制,把基于包的分析方法和基于统计...●OPNET 支持面向对象的调试。对网络拓扑、节点/设备...  opnet modeler 14.5 下能运行 (记住以管理员身份运行) ,在 opnet modeler 14...环境变量设置: INCLUDE: D:\Microsoft Visual Studio 10.0\VC\ D:\...  14.5 的安装配置为例, 完整搭建 Opnet 建模仿真...(x86)\Microsoft Visual Studio 9.0\VC\D:\...图 5 Opnet 安装文件列表 (1)首先安装 modeler_...  OPNETModeler 建模采用层次化和模块化的方式,将复 ...利用调试功能;还可以在模拟过程中察看任何特定包的 ...调整业务量、修改协议等方法得到新的仿真场景,再次...  opnetmodelerfunction_计算机软件及应用_IT/计算机_专业...3)目的 该核心函数为普通的建模提供了一种获取均匀...其他输出文件中打印带时间标 记的诊断信息和调试语句...  Opnet Modeler 8.1安装说明_计算机软件及应用_IT/计算机_专业资料。opnet 安装说明...需要查看 PDF 文件, 所以, 安装前, 需要先安装 VC, 推荐使用 VS2003, Adob...}

我要回帖

更多关于 opnet tpal模型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信