
**
前言
本書是為需要對各種系統模組化的工程師和科學家,以及想了解如何為複雜、異構系統模組化的人而編寫的。這些系統包括機械系統、電氣系統、控制系統、生物系統等,更有趣的是,還包括結合了這些領域或者其他領域元素的異構系統。本書假設讀者熟悉仿真和模組化工具及其技術,但不要求對這些内容有深厚的背景知識。
本書重點強調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章 異構模組化
<a href="https://yq.aliyun.com/articles/90063">1.2 域和計算模型</a>
<a href="https://yq.aliyun.com/articles/90071">1.3 模型在設計中的作用</a>
<a href="https://yq.aliyun.com/articles/90072">1.4 角色模型</a>
<a href="https://yq.aliyun.com/articles/90076">1.5 層次結構模型</a>
<a href="https://yq.aliyun.com/articles/90079">1.6 異構模組化的方法</a>
<a href="https://yq.aliyun.com/articles/90087">1.7 時間模型</a>
1.7.1 階層化時間
1.7.2 超密時間
1.7.3 時間的數字表示
<a href="https://yq.aliyun.com/articles/90093">1.8 域和訓示器概述</a>
<a href="https://yq.aliyun.com/articles/90104">1.9 案例研究</a>
<a href="https://yq.aliyun.com/articles/90106">1.10 小結</a>
**[第2 圖形化模組化
2.1.1 信号處理模型執行範例
2.1.2 模型的建立和運作
2.1.3 建立連接配接
<a href="https://yq.aliyun.com/articles/90123">2.2 令牌和資料類型</a>
<a href="https://yq.aliyun.com/articles/90129">2.3 層次結構和複合角色</a>
2.3.1 複合角色端口添加
2.3.2 端口類型設定
2.3.3 多端口、總線和層次結構
<a href="https://yq.aliyun.com/articles/90136">2.4 注釋及參數設定</a>
2.4.1 階層化模型中的參數
2.4.2 修飾元素
2.4.3 建立自定義圖示
<a href="https://yq.aliyun.com/articles/90140">2.5 如何操作大模型</a>
<a href="https://yq.aliyun.com/articles/90147">2.6 類和繼承</a>
2.6.1 執行個體中參數值的重寫
2.6.2 子類和繼承
2.6.3 模型間類的共享
<a href="https://yq.aliyun.com/articles/90149">2.7 高階元件</a>
2.7.1 multiinstancecomposite角色
2.7.2 iterateoverarray角色
2.7.3 生命周期管理角色
<a href="https://yq.aliyun.com/articles/90150">2.8 小結</a>
第二部分 計算模型
**[第3章 資料流
3.1.1 平衡方程
3.1.2 回報回路
3.1.3 資料流模型中的時間
<a href="https://yq.aliyun.com/articles/90193">3.2 動态資料流</a>
3.2.1 點火規則
3.2.2 ddf中的疊代
3.2.3 将ddf與其他域結合
<a href="https://yq.aliyun.com/articles/90213">3.3 小結</a>
練習