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

文档序号:9844201阅读:468来源:国知局
一种基于模型的系统设计及信息流可视化仿真系统及方法
【技术领域】
[0001]本发明属于软件开发及仿真领域,具体涉及一种基于模型的系统设计及信息流可视化仿真系统及方法。
【背景技术】
[0002]随着计算机技术的飞速发展和人类需求的不断提高,软件的功能越来越复杂,对软件的安全性和稳定性要求也日益严格。而市场的竞争和不同客户的个性化需求又使软件的开发周期不断缩短,这给软件的开发和测试工作提出了严格要求。目前软件研制主要包括需求分析、软件开发和软件测试三个阶段。在软件开发阶段需要编写大量的源代码,但是,传统的手工编码方式不仅费时费力,而且代码的可靠性不能保证,开发人员需要将大量的精力投入到枯燥的代码编写中而不是软件的构架设计和逻辑设计上,这大大降低了软件的开发效率。
[0003]目前,提高开发阶段效率的途径是使用代码重复利用技术和代码自动生成技术,现有的代码重用和自动生成技术的使用门槛较高,非专业人士难以操作而且在使用时需要大量的人工配置和干预。在系统测试阶段,目前的情况是几乎所有的系统集成测试都是黑盒测试(即只知道输出结果是否正确,对代码的运行路却径一无所知),在测试过程中无法直接获取程序的运行路径,也无法直接获得程序运行过程中的一些信息。所以,一旦出现测试结果跟期望值不符合情况,就要花费大量的时间来确定错误的位置,这大大增加了修复软件缺陷所需的时间。同时,由于传统测试只能测出结果是否正确,对于运行路径错误而结果却碰巧正确的情况无法辨别,会给软件的正确性埋下隐患。此外,软件开发环境和测试环境的分离也增加了软件研制的时间成本。
[0004]然而,结合软件工程的设计思想,从模型的角度考虑,模型具有直观、可重用等优点。在软件开发领域,系统模型是由不同的构件模型件组成,构件模型是指一些能完成某一单元功能的代码的集合,通过将不同的构件模型拼接、组合、设置相关参数,就可以像搭积木一样搭建出一个系统模型。之后,在有序的规范操作下,系统模型可以被翻译为可运行的仿真代码。
[0005]—个系统模型需要包含不同的构件模型,同时一个构件模型也可以被包含在不同的系统模型中,这为构件的复用(即代码的重复利用)提供了条件。以模型作为系统的表现方式,不仅直观,而且还可以作为系统运行时显示信息的载体,这有利于在系统集成测试中定位错误,此外,基于模型的系统设计可以使开发人员把主要尽力投入在系统的设计上而不是枯燥的代码编写中,提高了设计出的软件的质量。

【发明内容】

[0006]针对现有软件研制过程中存在的不足以及模型表达方法的优势,本发明旨在提供一种基于模型的系统设计及信息流可视化仿真系统及方法,将有利于提高软件开发和软件测试工作的效率及质量。
[0007]为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于模型的系统设计及信息流可视化仿真系统,包括构件模型库模块、系统模型搭建模块、信息显示模块、仿真代码生成模块、代码编译模块和运行控制模块。
[0008]所述构件模型库模块与所述系统模型搭建模块连接,所述系统模型搭建模块连接分别与所述信息显示模块和所述仿真代码生成模块连接,所述仿真代码生成模块与所述代码编译模块连接,所述代码编译模块与所述信息显示模块连接,所述运行控制模块分别与所述系统模型搭建模块、所述信息显示模块、所述仿真代码生成模块和所述代码编译模块连接。
[0009]所述构件模型库模块,其作用为:
1)管理构件模型库中所有的构件模型及各个构件模型的信息;
2)管理构件模型的添加、修改和删除;
3)保证所有构件模型的正确性和安全性,为所述系统模型搭建模块和所述仿真代码生成模块的工作提供支持。
[0010]所述系统模型搭建模块,其作用为:
1)将所述构件模型库中的构件模型搭建成系统模型,在此过程中,所述系统模型搭建模块将记录所有与搭建系统模型操作相关的信息,为所述仿真代码生成模块的工作提供支持;
2)根据所记录的信息,对系统模型的正确性进行检查,保证代码生成工作的顺利进行;
3)所述系统模型搭建模块生成的系统模型是仿真信息显示的载体。
[0011]所述信息显示模块,其作用为:
与所述系统模型搭建模块一起为用户提供一个可视化的建模界面,所述信息显示模块将建模和仿真过程中的所有信息按一定的规则显示在这个建模界面上,供用户观看以及进行相应的操作。
[0012]所述建模界面具备以下三个功能:
1)显示建模的动态过程和系统模型的结构,其具体表现形式为:
所述构件模型库中的所有的构件模型将以树型的形式显示在所述建模界面中供用户选择;在用户利用所述系统模型搭建模块搭建系统模型时,所述建模界面上可以显示被拖移的构件模型、组装后的系统模型、构件模型和系统模型相关的设置参数;
2)显示仿真信息在系统模型上的流动过程,其具体表现形式为:
所述建模界面上会显示出已经搭建好的系统模型,根据所述信息显示模块所读取的仿真数据,所搭建的系统模型上会进行实时的显示,达到让仿真代码的运行路径实时的显示在系统模型上的效果;
3)帮助所述系统模型搭建模块检查系统模型的正确性,其具体表现形式为:用户可以直观的从所述建模界面上观察系统模型的结构是否正确,是否存在孤立的构件模型,参数配置是否正确。
[0013]所述仿真代码生成模块,其作用为:
I)利用构件模型的实现代码,在所述系统模型搭建模块所记录的与搭建系统模型操作相关的信息的指引下,将该系统模型翻译为可运行的系统代码(即用构件模型的实际C代码代替系统模型中对应构件模型的位置,形成互不相关的代码片,然后将构件模型之间的拓扑结构信息、构件模型和系统模型的参数配置信息反映到所生成的代码片中,将这些互不相关的代码片连接成一个整体,即可运行的系统代码);
2)通过扫描刚刚生成的系统代码,获取系统代码中相连的构件模型之间(即代码片之间)函数调用的位置和相关的变量信息,并在这些位置插入探针(一些有特殊用途的辅助性代码)来生成仿真代码;
3)将用户输入的测试用例插入到所生成的仿真代码中,生成最终的仿真代码。
[0014]所述代码编译模块,其作用为:将所述仿真代码生成模块生成的仿真代码编译、链接成可运行仿真程序。
[0015]所述运行控制模块,其作用为:
1)调度其他各个模块,协调各个模块之间的工作;
2)控制仿真程序的运行和停止;
3)获取并存储仿真程序中探针抛出的信息和控制仿真信息;
4)通过建模界面与用户进行交互,接收用户的指令。
[0016]进一步的,所述系统模型搭建模块所记录的与系搭建统模型操作相关的信息包括系统模型中所包含的构件模型的类型、构件模型之间的拓扑结构关系、构件模型和系统模型的参数配置信息。
[0017]进一步的,所述探针的作用是获取仿真程序运行至此处时有关变量的信息以及控制程序在此处的运行状态,但不会对原代码的运行逻辑和结果产生影响。
[0018]进一步的,所述运行控制模块调度其他各个模块的具体内容包括控制所述仿真代码生成模块生成仿真代码,控制所述代码编译模块生成仿真程序,将探针抛出的信息和控制仿真信息传递给所述信息显示模块,并在建模界面的系统模型上予以显示。
[0019]—种基于模型的系统设计及信息流可视化仿真方法,包括以下步骤:
步骤O)根据用户
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1