一种基于模型的系统设计及信息流可视化仿真系统及方法_4

文档序号:9844201阅读:来源:国知局
仿真代码生成模块(4)连接,所述仿真代码生成模块(4)与所述代码编译模块(5)连接,所述代码编译模块(5)与所述信息显示模块(3)连接,所述运行控制模块(6)分别与所述系统模型搭建模块(2)、所述信息显示模块(3)、所述仿真代码生成模块(4)和所述代码编译模块(5)连接; 所述构件模型库模块(I),其作用为: 管理构件模型库中所有的构件模型及各个构件模型的信息; 管理构件模型的添加、修改和删除; 保证所有构件模型的正确性和安全性,为所述系统模型搭建模块(2)和所述仿真代码生成模块(4)的工作提供支持; 所述系统模型搭建模块(2 ),其作用为: 将所述构件模型库中的构件模型搭建成系统模型,在此过程中,所述系统模型搭建模块(2)将记录所有与搭建系统模型操作相关的信息,为所述仿真代码生成模块(4)的工作提供支持; 根据所记录的信息,对系统模型的正确性进行检查,保证代码生成工作的顺利进行; 所述系统模型搭建模块(2)生成的系统模型是仿真信息显示的载体; 所述信息显示模块(3),其作用为: 与所述系统模型搭建模块(2)—起为用户提供一个可视化的建模界面,所述信息显示模块(3)将建模和仿真过程中的所有信息按一定的规则显示在这个建模界面上,供用户观看以及进行相应的操作; 所述建模界面具备以下三个功能: 1)显示建模的动态过程和系统模型的结构,其表现形式为: 所述构件模型库中的所有的构件模型将以树型的形式显示在所述建模界面中供用户选择;在用户利用所述系统模型搭建模块(2)搭建系统模型时,所述建模界面上可以显示被拖移的构件模型、组装后的系统模型、构件模型和系统模型相关的设置参数; 2)显示仿真信息在系统模型上的流动过程,其表现形式为: 所述建模界面上会显示出已经搭建好的系统模型,根据所述信息显示模块(3)所读取的仿真数据,所搭建的系统模型上会进行实时的显示,达到让仿真代码的运行路径实时的显示在系统模型上的效果; 3)帮助所述系统模型搭建模块(2)检查系统模型的正确性,其具体表现形式为:用户可以直观的从所述建模界面上观察系统模型的结构是否正确,是否存在孤立的构件模型,参数配置是否正确; 所述仿真代码生成模块(4),其作用为: 利用构件模型的实现代码,在所述系统模型搭建模块(2)所记录的与搭建系统模型操作相关的信息的指引下,将该系统模型翻译为可运行的系统代码; 通过扫描刚刚生成的系统代码,获取系统代码中相连的构件模型之间函数调用的位置和相关的变量信息,并在这些位置插入探针来生成仿真代码; 将用户输入的测试用例插入到所生成的仿真代码中,生成最终的仿真代码; 所述代码编译模块(5),其作用为:将所述仿真代码生成模块(4)生成的仿真代码编译、链接成可运行仿真程序; 所述运行控制模块(6),其作用为: 调度其他各个模块,协调各个模块之间的工作; 控制仿真程序的运行和停止; 获取并存储仿真程序中探针抛出的信息和控制仿真信息; 通过建模界面与用户进行交互,接收用户的指令。2.根据权利要求1所述的基于模型的系统设计及信息流可视化仿真系统,其特征在于:所述系统模型搭建模块(2)所记录的与系搭建统模型操作相关的信息包括系统模型中所包含的构件模型的类型、构件模型之间的拓扑结构关系、构件模型和系统模型的参数配置信息。3.根据权利要求1所述的基于模型的系统设计及信息流可视化仿真系统,其特征在于:所述探针的作用是获取仿真程序运行至此处时有关变量的信息以及控制程序在此处的运行状态,但不会对原代码的运行逻辑和结果产生影响。4.根据权利要求1所述的基于模型的系统设计及信息流可视化仿真系统,其特征在于:所述运行控制模块(6)调度其他各个模块的具体内容包括控制所述仿真代码生成模块(4)生成仿真代码,控制所述代码编译模块(5)生成仿真程序,将探针抛出的信息和控制仿真信息传递给所述信息显示模块(3),并在建模界面的系统模型上予以显示。5.—种采用如权利要求1所述的系统的系统设计及信息流可视化仿真方法,其特征在于,包括以下步骤: 步骤O)根据用户需求,确定软件功能; 步骤I)所述信息显示模块(3)将构件模型库中所有的构件模型以结构树的形式有序的显示在建模界面上,用户根据软件所需的功能,选择需要使用的构件模型; 步骤2)在所述系统模型搭建模块(2)与所述信息显示模块(3)的支持下,用户将所需构件模型拖放到建模界面,并对其进行操作,将选中的构件模型搭建成系统模型; 步骤3)用户根据需求,在建模界面上对构件模型和系统模型的相关参数进行配置,并在建模界面上形成最终的系统模型效果图; 步骤4)所述系统模型搭建模块(2)会记录下搭建系统模型过程中的所有信息,包括构件模型类型、构件模型之间的拓扑结构、构件模型及系统模型的参数配置信息; 步骤5)在所述运行控制模块(6)的调度下,所述仿真代码生成模块(4)根据步骤4中所述系统模型搭建模块(2)记录的信息和构件模型的实际C代码,将系统模型翻译成可运行的系统代码,然后在得到的系统代码中插入探针,生成仿真代码; 步骤6)所述运行控制模块(6)接收用户输入的测试用例,并调用所述仿真代码生成模块(4)将所述测试用例插入到步骤5生成的仿真代码中,生成最终的仿真代码; 步骤7)在所述运行控制模块(6)的调度下,调用所述代码编译模块(5)对步骤6中生成的仿真代码进行编译,生成可运行的仿真程序; 步骤8)所述运行控制模块(6)收到开始仿真命令; 步骤9)所述运行控制模块(6)控制步骤7中生成的仿真程序开始运行; 步骤10)当仿真程序运行到步骤5中插入的探针位置时,仿真程序会向所述运行控制模块(6)发出继续运行的请求,并进入等待状态; 步骤11)所述运行控制模块(6)收到请求后立即读取探针抛出的变量信息,并对这些变量信息做以下处理: 1)将变量信息发送给所述系统模型搭建模块(2),并同时控制所述信息显示模块(3)将这些变量信息显示在建模界面的相应位置; 2)根据变量信息获取与之相关的两个构件模型及其接口,并同时控制所述信息显示模块(3)将这两个构件模型及其接口间的连线在建模界面上以高亮显示; 3)将这些变量信息记录到文件保存,以便后续使用; 步骤12)所述运行控制模块(6)处理完步骤11中的工作后,立即回复步骤10中处于等待状态的仿真程序所发出的请求命令,使其继续运行; 步骤13)重复步骤10到步骤12,直至整个仿真程序运行结束;如果出现实际运行结果跟预期结果不一致的情况,可以通过观察建模界面上显示的仿真代码的运行路径和在各个构件模型处的变量信息确定问题位置并改正; 步骤14)重复步骤6到步骤13,对所有的测试用例进行测试; 步骤15)结束。
【专利摘要】本发明公开了一种基于模型的系统设计及信息流可视化仿真系统及方法,该系统包括构件模型库模块、系统模型搭建模块、信息显示模块、仿真代码生成模块、代码编译模块和运行控制模块。本发明将模型的思想融入到软件的开发过程中,提出了一种新的软件开发及测试方法,改进了传统的软件开发模式,提高了开发效率;本发明基于可重用的构件模型,采用搭积木的方式搭建系统模型,在很大程度上减小了手工编写的代码量,将设开发者的工作重心转移到逻辑和原理设计上,提升了系统的可设计能力;本发明采用仿真信息可视化的方式将程序的运行流程和传递的变量信息显示出来,将传统的黑盒测试白盒化,提高了系统设计的验证能力。
【IPC分类】G06F17/50
【公开号】CN105608258
【申请号】CN201510940991
【发明人】李林林, 张和华, 赵祖乾, 潘加俊, 南野野, 龚雄
【申请人】苏州同元软控信息技术有限公司
【公开日】2016年5月25日
【申请日】2015年12月16日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1