**
前言
本书是为需要对各种系统建模的工程师和科学家,以及想了解如何为复杂、异构系统建模的人而编写的。这些系统包括机械系统、电气系统、控制系统、生物系统等,更有趣的是,还包括结合了这些领域或者其他领域元素的异构系统。本书假设读者熟悉仿真和建模工具及其技术,但不要求对这些内容有深厚的背景知识。
本书重点强调Ptolemy II中已实现的建模技术。Ptolemy II是一个开源的仿真和建模工具,用于对系统设计技术进行实验,尤其是那些涉及各种不同模型组合的系统。它是由UC Berkeley的研究人员开发的,并且由于过去20年里世界各地研究者的努力,它逐渐演变成一个复杂而精巧的工具。本书基于Ptolemy II,对分层、异构系统的系统设计、建模和仿真技术进行了广泛的讨论。同时本书使用Ptolemy II来避免这些讨论过于抽象化和理论化。所有这些技术都由精心设计且测试效果良好的软件实现来支持。关于Ptolemy II更详细的底层软件架构以及更为细节的操作和基础理论,可以在知识点、参考文献和网络链接中找到。
本书共分3个部分。第一部分是“入门”。第1章概述了本书所涵盖的建模方式所蕴含的准则,并简要概述了多种计算模型(Model of Computation,MoC)。第2章介绍了怎样通过图形编辑器Vergil使用Ptolemy II。对于那些想直接开始建模的读者,该章是个很好的起点。
第二部分包括第3~11章,涵盖了几乎所有的计算模型。每一章都包括一个或者一小类相关的计算模型,并解释了它们怎样工作、怎样使用它们建立模型以及哪些种类的模型与计算模型可以比较好地匹配。
第三部分讨论了Ptolemy II计算模型的可扩展性。对于那些想要扩展Ptolemy II或者想用Java写自己的角色(actor)的读者来说,第12章或许是最重要的一章,它描述了Ptolemy II软件架构。Ptolemy是开源软件,并有完善的代码文档可供阅读。对于想要阅读代码并在此基础上做些工作的读者来说,该章可以提供很好的指引。第13章描述了用于规格化模型参数值和向角色(actor)中添加自定义函数的表达式语言。第17章描述了Ptolemy II
标准库中包含的信号绘图仪(signal plotter)的功能。第14章讲解了Ptolemy II中的类型系统(type system)。Ptolemy II是一个复杂的类型系统,当提供一个强调类型系统来使安全最大化时,其设计旨在把建模工具的负担最小化(通过强调类型推断而不是类型声明)。第15章讲述本体(ontology)。本体能将单元部件、尺寸和概念与模型中的数值相关联,它增强了类型系统。同样,重点在于推断和安全。最后,第16章描述了Ptolemy II中的Web界面。具体地说,它解释了从模型中导出页面以及在模型中建立Web服务和服务器的功能。
目录
第一部分 入门
**[第1章 异构建模
1.1 语法、语义、语用]( https://yq.aliyun.com/articles/90058)**
1.2 域和计算模型
1.3 模型在设计中的作用
1.4 角色模型
1.5 层次结构模型
1.6 异构建模的方法
1.7 时间模型
1.7.1 层次化时间
1.7.2 超密时间
1.7.3 时间的数字表示
1.8 域和指示器概述
1.9 案例研究
1.10 小结
**[第2 图形化建模
2.1 开始]( https://yq.aliyun.com/articles/90116)**
2.1.1 信号处理模型执行范例
2.1.2 模型的创建和运行
2.1.3 建立连接
2.2 令牌和数据类型
2.3 层次结构和复合角色
2.3.1 复合角色端口添加
2.3.2 端口类型设置
2.3.3 多端口、总线和层次结构
2.4 注释及参数设置
2.4.1 层次化模型中的参数
2.4.2 修饰元素
2.4.3 创建自定义图标
2.5 如何操作大模型
2.6 类和继承
2.6.1 实例中参数值的重写
2.6.2 子类和继承
2.6.3 模型间类的共享
2.7 高阶组件
2.7.1 MultiInstanceComposite角色
2.7.2 IterateOverArray角色
2.7.3 生命周期管理角色
2.8 小结
第二部分 计算模型
**[第3章 数据流
3.1 同步数据流]( https://yq.aliyun.com/articles/90174)**
3.1.1 平衡方程
3.1.2 反馈回路
3.1.3 数据流模型中的时间
3.2 动态数据流
3.2.1 点火规则
3.2.2 DDF中的迭代
3.2.3 将DDF与其他域结合
3.3 小结
练习