CN104216706A - Modelica模型的浏览方法 - Google Patents
Modelica模型的浏览方法 Download PDFInfo
- Publication number
- CN104216706A CN104216706A CN201410404586.8A CN201410404586A CN104216706A CN 104216706 A CN104216706 A CN 104216706A CN 201410404586 A CN201410404586 A CN 201410404586A CN 104216706 A CN104216706 A CN 104216706A
- Authority
- CN
- China
- Prior art keywords
- model
- modelica
- file
- browser
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种Modelica模型的浏览方法,其包括以下步骤:直接将文件拖入浏览器中,浏览器获取模型文件路径,根据模型文件路径找到模型文件;判断是否是Modelica模型文件;调用ANTLR语法分析器对整个Modelica模型进行解析;判断Modelica模型是否符合Modelica语法规范;提示模型错误,同时拒绝加载模型,然后结束;如果模型符合规范,那么解析成功;解析后,ANTLR会生成模型的整棵Dom树;根据Dom树生成XML树;浏览器读取这个XML树,并显示在浏览器上。本发明可以让建模人员在任何电脑上都可以方便地浏览Modelica模型。
Description
技术领域
本发明涉及一种浏览方法,特别是涉及一种Modelica模型的浏览方法。
背景技术
Modelica模型文件如果用普通的文本阅读器打开,只能被当作普通的文本查看代码,这样无法看到模型的组件视图。
基于Modelica语言的建模,最普遍的方式还是在图形界面中进行可视化的拖放式建模。对于建模人员来说,组件视图更为直观、清晰,更能反映一个模型的整体功能、应用。
当前,想要浏览Modelica模型的组件视图,必须使用建模软件(如MWorks、Dymola等)打开模型。用户如果由于某些原因不能安装建模软件(比如安装软件比较麻烦、没有网络无法安装软件等等),但又需要浏览Modelica模型,就目前来说还没有办法。
发明内容
本发明所要解决的技术问题是提供一种Modelica模型的浏览方法,其可以让建模人员在任何电脑上都可以方便地浏览Modelica模型。
本发明是通过下述技术方案来解决上述技术问题的:一种Modelica模型的浏览方法,其特征在于,其包括以下步骤:
步骤一,直接将文件拖入浏览器中,浏览器获取模型文件路径,根据模型文件路径找到模型文件;
步骤二,判断是否是Modelica模型文件,即模型文件是否是是以.mo为后缀的文件,如果是模型文件是以.mo为后缀,则说明文件是Modelica模型文件,执行步骤三;如果不是以.mo为后缀的文件,则结束;
步骤三,加载Modelica模型;
步骤四,调用ANTLR语法分析器对整个Modelica模型进行解析;
步骤五,判断Modelica模型是否符合Modelica语法规范;如果不符合,则执行步骤六;如果符合则执行步骤七;
步骤六,提示模型错误,同时拒绝加载模型,然后结束;
步骤七,如果模型符合规范,那么解析成功;解析后,ANTLR会生成模型的整棵Dom树;
步骤八,根据Dom树生成XML树;
步骤九,浏览器读取这个XML树,并显示在浏览器上。
优选地,所述Dom树是存储于内存中。
本发明的积极进步效果在于:本发明可以让建模人员在任何电脑上都可以方便地浏览Modelica模型。
附图说明
图1为本发明Modelica模型的浏览方法的流程图。
图2为本发明Modelica模型的组织结构图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
如图1所示,本发明Modelica模型的浏览方法包括以下步骤:
步骤一,直接将文件拖入浏览器中,浏览器获取模型文件路径,根据模型文件路径找到模型文件;
步骤二,判断是否是Modelica模型文件,即模型文件是否是是以.mo为后缀的文件,如果是模型文件是以.mo为后缀,则说明文件是Modelica模型文件,执行步骤三;如果不是以.mo为后缀的文件,则结束;
步骤三,加载Modelica模型;
步骤四,调用ANTLR语法分析器对整个Modelica模型进行解析;
步骤五,判断Modelica模型是否符合Modelica语法规范;如果不符合,则执行步骤六;如果符合则执行步骤七;
步骤六,提示模型错误,同时拒绝加载模型,然后结束;
步骤七,如果模型符合规范,那么解析成功。解析后,ANTLR会生成模型的整棵Dom树;这个Dom树是存储于内存中,这也是为了后面更快速地显示模型的组件视图。
步骤八,根据Dom树生成XML树,具体是会再对Dom树进行处理。因为Dom树上含有模型中所有的类型,一直到Modelica模型的内置类型。如果直接把Dom树显示出来,会很复杂,而且难看,逻辑不够清晰。因此插件对Dom树进行精简,只取到Modelica模型中的特殊类。经过处理后,生成一个XML树。
步骤九,浏览器读取这个XML树,并显示在浏览器上。
如图2所示,Modelica模型的组织结构图中的节点可以展开、折叠,可以方便看出模型中类型的继承关系等。双击其中某个节点,插件获取该节点的名字,通过Modelica的查找机制,从内存中Dom树上查找到该类型。找到该类型后,插件会去读取该类型中的annotation(注解)信息。Modelica中模型的图形信息是存储在annotation中的。annotation也是存储在Dom树上。插件读取到annotation后,会根据其中的信息,调用SVG-Edit将模型的组件视图绘制出来。SVG-Edit是一个基于浏览器的图像编辑器,能绘制出SVG(可缩放矢量图形)图形。SVG是完全基于XML的,继承了其跨平台性和可扩展性。因此,插件使用SVG图来显示模型的组件视图。
本领域的技术人员可以对本发明进行各种改型和改变。因此,本发明覆盖了落入所附的权利要求书及其等同物的范围内的各种改型和改变。
Claims (2)
1.一种Modelica模型的浏览方法,其特征在于,其包括以下步骤:
步骤一,直接将文件拖入浏览器中,浏览器获取模型文件路径,根据模型文件路径找到模型文件;
步骤二,判断是否是Modelica模型文件,即模型文件是否是是以.mo为后缀的文件,如果是模型文件是以.mo为后缀,则说明文件是Modelica模型文件,执行步骤三;如果不是以.mo为后缀的文件,则结束;
步骤三,加载Modelica模型;
步骤四,调用ANTLR语法分析器对整个Modelica模型进行解析;
步骤五,判断Modelica模型是否符合Modelica语法规范;如果不符合,则执行步骤六;如果符合则执行步骤七;
步骤六,提示模型错误,同时拒绝加载模型,然后结束;
步骤七,如果模型符合规范,那么解析成功;解析后,ANTLR会生成模型的整棵Dom树;
步骤八,根据Dom树生成XML树;
步骤九,浏览器读取这个XML树,并显示在浏览器上。
2.如权利要求1所述的Modelica模型的浏览方法,其特征在于,所述Dom树是存储于内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410404586.8A CN104216706A (zh) | 2014-08-18 | 2014-08-18 | Modelica模型的浏览方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410404586.8A CN104216706A (zh) | 2014-08-18 | 2014-08-18 | Modelica模型的浏览方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104216706A true CN104216706A (zh) | 2014-12-17 |
Family
ID=52098242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410404586.8A Pending CN104216706A (zh) | 2014-08-18 | 2014-08-18 | Modelica模型的浏览方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104216706A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335213A (zh) * | 2015-10-28 | 2016-02-17 | 苏州同元软控信息技术有限公司 | Word文件嵌入Modelica模型实现仿真报告自动生成方法 |
CN108732939A (zh) * | 2017-04-14 | 2018-11-02 | 北京空间技术研制试验中心 | 基于Modelica语言的航天器环热控系统建模仿真方法 |
CN114840196A (zh) * | 2022-07-06 | 2022-08-02 | 中国汽车技术研究中心有限公司 | Modelica语言模型处理方法、设备和存储介质 |
-
2014
- 2014-08-18 CN CN201410404586.8A patent/CN104216706A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335213A (zh) * | 2015-10-28 | 2016-02-17 | 苏州同元软控信息技术有限公司 | Word文件嵌入Modelica模型实现仿真报告自动生成方法 |
CN108732939A (zh) * | 2017-04-14 | 2018-11-02 | 北京空间技术研制试验中心 | 基于Modelica语言的航天器环热控系统建模仿真方法 |
CN114840196A (zh) * | 2022-07-06 | 2022-08-02 | 中国汽车技术研究中心有限公司 | Modelica语言模型处理方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guerrero-Garcia et al. | A theoretical survey of user interface description languages: Preliminary results | |
CN107992304B (zh) | 一种生成显示界面的方法和装置 | |
Miñón et al. | An approach to the integration of accessibility requirements into a user interface development method | |
CN108351764B (zh) | 数据处理方法和系统 | |
MacDonald et al. | Pro ASP. NET 4 in VB 2010 | |
US20080276229A1 (en) | Incremental model refinement and transformation in generating commerce applications using a model driven architecture | |
US9026992B2 (en) | Folded views in development environment | |
US10296308B2 (en) | Automatically generating network applications from design mock-ups | |
CN108920496B (zh) | 一种渲染方法及装置 | |
He et al. | A metamodel for the notation of graphical modeling languages | |
US20160092502A1 (en) | Graphical modeling of database query statements | |
WO2014100475A1 (en) | Editor visualizations | |
CA2764012A1 (en) | Computer-implemented method, system and computer program product for displaying a user interface component | |
CN103853535B (zh) | 修改中间件的方法和装置 | |
CN105354014A (zh) | 应用界面渲染展示方法及装置 | |
TW201337755A (zh) | 應用程式多語言支援系統及方法 | |
JP2013518321A (ja) | パターンベースのユーザインターフェース | |
US20160103815A1 (en) | Generating mobile web browser views for applications | |
CN104216706A (zh) | Modelica模型的浏览方法 | |
US8732655B2 (en) | Systems and methods for metamodel transformation | |
US20110185307A1 (en) | Generating equations based on user intent | |
WO2020242591A1 (en) | Ingesting and processing content types | |
Aghaee et al. | Live mashup tools: challenges and opportunities | |
Savic et al. | Use case specification at different levels of abstraction | |
US20200104235A1 (en) | System and method for evaluating and facilitating customized guidelines using usability code pattern analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141217 |
|
WD01 | Invention patent application deemed withdrawn after publication |