论文摘要
复杂工程系统通常是由多个领域的多个子系统耦合而成,对于其分析与仿真,传统的侧重于单个领域仿真的分析工具已经不能满足需要。Modelica标准建模语言支持面向对象的层次化建模、多领域统一建模、陈述式物理建模和连续离散混合建模等特性,非常适宜于多领域复杂物理系统的统一建模与仿真。华中科技大学CAD中心基于Modelica语言研究开发的多领域物理系统建模与仿真平台MWorks,由前端IDE、编译器、求解器和后处理器组成。编译器是建模与仿真之间的核心转换环节,负责Modelica模型的词法、语法、语义分析及实例平坦化,为前端IDE提供模型操作与输入输出接口,为求解器提供模型平坦化方程系统作为输入。本文针对编译器与前端IDE的交互接口,对其中的输入输出序列化、模型代码格式化和Modelica模型库管理等若干关键技术进行了深入研究。输入输出序列化是MWorks系统加载Modelica模型库的关键技术之一。通过分析一般程序语言的序列化技术,以MWorks对模型库词法/语法分析得到的Dom为基础,提出了Modelica的序列化技术。结合Modelica语言的语法特点,制定了相应的序列化规则。代码格式化是前端IDE以统一的代码布局格式显示Modelica源代码的关键技术。通过分析代码格式化的原理,总结得出了格式化的一般规律;分析了Modelica语言中结构化实体的特点,结合对Dom的研究,制定了Modelica源代码的布局规则。Modelica模型库管理是MWorks系统实现Modelica模型库交互操作的关键技术。通过分析模型库交互操作的特点,明确了MWorks编译器对模型库的管理职能,设计实现了一系列的接口函数用于在前端IDE与编译器之间传递模型库相关的数据。基于上述研究,在MWorks编译器中实现了基于Dom的序列化技术、基于Dom的代码格式化技术和Modelica模型库管理技术。论文的最后介绍了MWorks系统的组成,并给出了与研究内容对应的运行实例。