计算机通信基础北京邮电大学计算机科学与技术学院通信技术中心魏更宇2第四编II计算机仿真3一、建模和分析过程二、系统描述三、系统抽象和模型描述四、数据收集五、选择分析方法六、混合模型七、仿真程序开发3模型开发和测试八、仿真程序调试九、验证十、合法性检验4一、建模和分析过程1、过程SystemdescriptionSystemabstraction&modeldescriptinDatacollectionAnalysismethodselectionSimulationprogramdevelopmentProgramdebugging5一、建模和分析过程(续1)Verification(programvs.system)Validation(modelvs.system)SimulationoutputanalysisProblemanalysis步骤1、开发2、测试3、分析6一、建模和分析过程(续2)开发从性能的角度描述系统选择适合的分析方法测试调试:保证程序正确,结果合理;验证:确保程序执行与模型对应;合法性检验:保证模型可以代表系统;7二、系统描述1、设计和建模一致2、设计者从系统角度3、建模者从性能角度8三、系统抽象和模型描述1、模型描述流程图伪代码2、合成方法自底向上3、分解方法自顶向下9四、数据收集1、罗列模型参数负载参数系统参数2、系统参数直接获取间接获得3、负载参数特性是另外的课题10五、选择分析方法1、分析与仿真方法数学分析模型仿真作为分析模型的一部分2、选择方法11六、混合模型仿真模型《--》分析模型分析模型服务窗平均仿真模型测量时间T,到达A,完成C;12混合模型ArrivaleventroutineGeneratejobattributeMemoryrequirementsNo.oftours(nt)Job-admissionqueueSchedulenextarrivalCallljob_schdulerCausenextevent13混合模型Job_schedulerfunctionReturnifnojobsatisfyadmissionrulesCallupdateDequeue&activateselectedjobMpl+=1CancelcurrentlyscheduledcompletionCallnextcompletionreturn14混合模型UpdatefunctionCallsolvetocomputemeantourtimeComputemeanno.oftourscompletedsincelastupdate(n)Decrementtourcounts(nt)ofallactivejobsbyn;return15混合模型Next_completionfunctionFindactivejob(jobi)withsmallestno.oftoursCallsolvetocomputemeantourtimetrSchedulejobicompletion:te=nt[i]*trreturn16混合模型CompletioneventroutineCallupdateDeactivejob,accumulatejobperformancemeasuresMpl-=1Callnext_completionCalljob_schedulerCallnext_event17七、仿真程序开发主要问题:仿真模型设计程序组织参数管理调试取值18八、仿真程序调试1、错误诊断、跟踪、显示和报告2、控制输出数量3、程序调试基本:编译后执行执行一个token执行两个token,顺序执行两个token,并发19八、仿真程序调试(续)控制选择条件执行执行相当数量的token完成执行,检查报告20九、验证1、验证仿真程序对应模型2、验证模型的描述对应模型设计3、分析验证、模型层次21十、合法性检验1、仿真模型合理地代表实际系统2、既存系统模型的检验3、设计模型的检验