本发明属于计算机仿真与建模领域,具体而言涉及一种多人协同建模系统,其涉及对模型数据的全生命周期管理。
背景技术:
Modelica是国际仿真界于1997年提出的一种开放的全新多领域统一建模语言,它归纳和统一了先前多种建模语言,且融合了键合图的非因果建模思想、Java语言的面向对象技术和Matlab的数值与矩阵机制,因而具备极其强大的建模功能。面向对象性和非因果性是Modelica语言最大的优点。面向对象的建模方法具有数据封装、分层、连接和继承等特征,易于减少错误的发生并容易实现模型的重用。所谓非因果性建模,就是以一种中性、自然的形式表达模型方程,从而不必更多的考虑计算顺序,避免了对模型方程的繁琐推导,从而提高了建模效率,并使部件模型易于被重复使用。Modelica语言采用陈述式、基于方程的非因果建模方法建立模型,通过定义接口,使模型接口标准化,因此采用Modelica建模可以使物理系统各子系统之间既能完全独立又可互相统一。
目前,Modelica已经被奥迪、宝马、戴姆勒、福特、丰田、大众、德国宇航中心、法国空客、德国西门子、法国电力公司、ABB等不同行业公司所采用,广泛应用于汽车、航空、能源、电力、电子、机械、化学、控制、流体等行业或领域以及嵌入式系统的建模与仿真。
但随着Modelica模型的不断发展,建模已不单单是一个人的事,这需要一个团队来开发一个模型,这就需要一个能够解决Modelica模型版本管理的工具。
在复杂的Modelica模型中,一般的版本管理管理工具(SVN、Git)都是基于文本式的版本管理,查看模型的时候只能看到文本视图,不能实时预览模型具体元器件的变化版本,这样工作起来效率就十分低下。尤其当一个模型的文件比较大的时候,现有的版本管理工具对大文件的支持,显示有先天性不足了。
另外,现有的协同建模技术中存在这安全机制问题,过往每个人都拷贝一份模型,在拷贝过程中就会出现不少安全隐患,这对安全性要求高的单位尤为重要。
技术实现要素:
为克服现有技术中的不足,本发明的目的在于提供一种基于Modelica的多人协同建模系,该系统可以根据团队的需要动态调整不同的协同管理模式,以达到高效管理,和协同开发的效果。
为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于Modelica的多人协同建模模系统,其包括一基于Modelica的系统模型库、一模型版多人协同开发模块、一基于web的模型数据管理模块、一基于云计算的仿真管理模块、一模型健康监控模块和模型设计与优化模块;
所述基于Modelica的系统模型库是所述多人协同建模系统的基础模块,用于提交模型到所述模型版多人协同开发模块,所述模型版多人协同开发模块用于更新所述基于Modelica的系统模型库的模型,所述模型版多人协同开发模块和所述基于web的模型数据管理模块之间基于webService进行数据交换,用户在所述基于web的模型数据管理模块的UI提交仿真任务,所述基于云计算的仿真管理模块运行所述基于web的模型数据管理模块中提交的仿真任务,所述模型健康监控模块用于实时监控所述基于云计算的仿真管理模块运行过程中结果参数变化情况,所述模型设计与优化模块提供多维视图展现仿真结果参数。
进一步的,所述基于Modelica系统模型库分别支持存储Modelica模型、Coprocessor中的计算组件模型、流程组件模型和c组件模型;所述Coprocessor中的计算组件模型包含一个软件计算的流程节点对象,所述流程组件模型包含若干组件能描述一个计算过程的对象,所述c组件模型包含C、C++语言编写的可执行程序对象。
进一步的,所述模型版多人协同开发模块包括版本管理模块和协同开发流程管理模块;所述版本管理模块为用户提供集中式管理模型;所述版本管理模块包括安全授权机制和模型版本更新。
预选的,所述安全授权机制的原理如下:模型放在服务器上,经系统管理员授权给各个用户,用户通过check in和check out的方式访问服务器上的文件,未经授权的用户则无法访问服务器上的文件;所述模型版本更新的原理如下:用户每次打开模型时,检测服务器版本和当前版本是否一致,任何版本都可以随时检出编辑;
优选的,所述协同开发流程管理模块的工作原理如下:在协同开发过程中,管理员首先建立基于Modelica的系统模型工程,接着为所述系统模型工程加入开发人员,然后再为各个开发人员设置权限,各开发人员可以克隆远程仓库模型到自己的本机上,每个开发人员可以进行相对独立的开发,修改模型,并提交到远程仓库中。
进一步的,所述基于web的模型数据管理模块包括模型数据的海量数据存储模、模型文件的超大文件存储模块、模型web可视化视图管理模块、模型谱系管理模块和模型检索模块;所述模型数据的海量数据存储模块采用分布式列式数据库HBase,当数据量增加时,HBase可以横向拓展电脑机器来负载存储压力;所述模型文件的超大文件存储模块采用Hadoop分布式文件系统架构,当模型文件过大时,对传统的文件系统会有负载压力,所述模型文件的超大文件存储模块将文件进行分块存储;所述模型web可视化视图管理模块用于在浏览器中查看模型的附加属性/元数据,并实现各类模型的可视化展示;所述模型谱系管理模块用于查看模型引用其他模型、被引用模型的引用和仿真结果关联;所述模型检索模块用于根据模型附加属性/元数据,定制输出检索结果。
进一步的,所述基于云计算的仿真管理模块分为仿真参数配置管理模块、仿真结果可视化模块和结果数据比较模块;所述仿真配置管理模块用于查看仿真的附加属性/元数据,对仿真配置进行管理;所述仿真结果可视化模块用于可视化视图,包括有动画、曲线和表格;所述结果数据比较模块支持曲线比较和表格比较。
进一步的,所述模型健康监控模块是通过监控仿真过程实现模型仿真过程中实时时间序列折现图呈现。
进一步的,所述模型设计优化模块在传统文本设计比较工具基础上,提供了更多的模型视图工具,包括Path视图、Package视图和Class视图。
与现有技术相比,本发明具有以下有益效果:
1、数据协同:本发明的系统支持模型的全生命周期管理,包括模型的创建、修改、细化、分析、发布、管理和归档。其为MBSE平台工具链提供统一数据源,并负责保持数据源的一致性,实现工具间数据层面的协同。
2、计算协同:本发明的系统利用模型集成技术,提供计算协同框架,支持系统模型在分布式网络下的协同仿真计算,实现工具间计算层面的协同。同时提供高性能计算接口,支持计算集群的网格计算,加速计算过程。
3、流程协同:本发明的系统提供流程协同框架,在数据协同基础上实现MBSE平台工具链按流程运转,驱动用户基于网络开展协同工作,并支持对协同流程的监控和管理。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的基于Modelica的多人协同建模系统的系统框架图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
参见图1所示,一种基于Modelica的多人协同建模模系统,其包括一基于Modelica的系统模型库1、一模型版多人协同开发模块2、一基于web的模型数据管理模块3、一基于云计算的仿真管理模块4、一模型健康监控模块5和模型设计与优化模块6;所述基于Modelica的系统模型库1是所述多人协同建模系统的基础模块,用于提交模型到所述模型版多人协同开发模块2,所述模型版多人协同开发模块2用于更新所述基于Modelica的系统模型库1的模型,所述模型版多人协同开发模块2和所述基于web的模型数据管理模块3之间基于webService进行数据交换,用户在所述基于web的模型数据管理模块3的UI提交仿真任务,所述基于云计算的仿真管理模块4运行所述基于web的模型数据管理模块3中提交的仿真任务,所述模型健康监控模块5用于实时监控所述基于云计算的仿真管理模块4运行过程中结果参数变化情况,所述模型设计与优化模块6提供多维视图展现仿真结果参数;
所述基于Modelica系统模型库1分别支持存储Modelica模型、Coprocessor中的计算组件模型、流程组件模型和c组件模型;所述Coprocessor中的计算组件模型包含一个软件计算的流程节点对象,所述流程组件模型包含若干组件能描述一个计算过程的对象,所述c组件模型包含C、C++语言编写的可执行程序对象;
所述模型版多人协同开发模块2包括版本管理模块201和协同开发流程管理模块202;
所述版本管理模块201为用户提供集中式管理模型;所述版本管理模块201包括安全授权机制和模型版本更新。所述安全授权机制的原理如下:模型放在服务器上,经系统管理员授权给各个用户,用户通过check in和check out的方式访问服务器上的文件,未经授权的用户则无法访问服务器上的文件;所述模型版本更新的原理如下:用户每次打开模型时,检测服务器版本和当前版本是否一致,任何版本都可以随时检出编辑;
所述协同开发流程管理模块201的工作原理如下:在协同开发过程中,管理员首先建立基于Modelica的系统模型工程,接着为所述系统模型工程加入开发人员,然后再为各个开发人员设置权限,各开发人员可以克隆远程仓库模型到自己的本机上,每个开发人员可以进行相对独立的开发,修改模型,并提交到远程仓库中;
所述基于web的模型数据管理模块3包括模型数据的海量数据存储模301、模型文件的超大文件存储模块302、模型web可视化视图管理模块303、模型谱系管理模块304和模型检索模块305;
所述模型数据的海量数据存储模块301采用分布式列式数据库HBase,当数据量增加时,HBase可以横向拓展电脑机器来负载存储压力;
所述模型文件的超大文件存储模块302采用Hadoop分布式文件系统架构,当模型文件过大时,对传统的文件系统会有负载压力,所述模型文件的超大文件存储模块302将文件进行分块存储;
所述模型web可视化视图管理模块303用于在浏览器中查看模型的附加属性/元数据,并实现各类模型的可视化展示;
所述模型谱系管理模块304用于查看模型引用其他模型、被引用模型的引用和仿真结果关联;
所述模型检索模块305用于根据模型附加属性/元数据,定制输出检索结果;
所述基于云计算的仿真管理模块4分为仿真参数配置管理模块401、仿真结果可视化模块402和结果数据比较模块403;
所述仿真配置管理模块401用于查看仿真的附加属性/元数据,对仿真配置进行管理;
所述仿真结果可视化模块402用于可视化视图,包括有动画、曲线和表格;
所述结果数据比较模块403支持曲线比较和表格比较;
所述模型健康监控模块5是通过监控仿真过程实现模型仿真过程中实时时间序列折现图呈现;
所述模型设计优化模块6在传统文本设计比较工具基础上,提供了更多的模型视图工具,包括Path视图、Package视图和Class视图。
实施例1:
利用本实施例的基于Modelica的多人协同建模系统协同建模的流程如下:
步骤0、首先建立基于Modelica的系统模型工程;
步骤1、为所述系统模型工程加入开发人员;
步骤2、管理员为各个开发人员设置相关的权限,如,添加模型、删除模型和修改模型等;
步骤3、各开发人员可以克隆远程仓库模型到自己的本机上;
步骤4、每个开发人员可以进行相对独立的开发,修改模型,并提交到远程仓库中;
步骤5、其他人员可以通过web查看模型版本;
步骤6、非此工程的人员可以通过发布的可用模型进行在线仿真;
步骤7、根据在线仿真的结果进行数据比较;
步骤8、根据设置的阈值进行健康监控,并提出设计优化方案。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。