本節書摘來自華章出版社《資訊實體融合系統(cps)設計、模組化與仿真——基于 ptolemy ii 平台》一書中的第2章,第2.8節,作者:[美]愛德華·阿什福德·李(edward ashford lee),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視
本章介紹了名為vergil的ptolemy ii可視化界面,它支援通過圖形化方式構模組化型,與此同時,還介紹了ptolemy ii系統的一些基礎功能。後續章節将着重介紹各種可用的訓示器的性質。附錄部分将着重介紹計算模型的通用架構和跨計算模型的能力。
補充閱讀:處理數組的角色
下面是角色可以對數組進行的操作:

arrayaccumulate将輸入數組附加于上一數組之後,以擴大輸出數組。
arrayappend添加多重端口的信道上提供的輸入數組。
arrayaverage求數組元素的平均值。
arraycontains确定數組是否包含特定的元素。
arrayelement從一個數組中提取某個元素。
arrayelementasmatrix 使用類似矩陣的索引來提取元素。
arrayextract提取子數組。
arraylength 将輸入數組的長度輸出。
arraylevelcrossing 找出超過門檻值的元素。
arraymaximum 尋找數組中的最大元素。
arrayminimum 尋找數組中的最小元素。
arraypeaksearch尋找數組元素的峰值。
arrayremoveelement 删除某個特定元素的執行個體。
arraysort 對數組進行排序。
arraysum 對數組元素求和。
arrayupdate 輸出一個與輸入數組類似的新數組,但替換原數組的一個元素。
另外,很多多态(polymorphic)角色,如addsubtract ,也可作用于數組。
補充閱讀:移動代碼
ptolemy ii中的一些角色支援移動模型(mobile model)。也就是說,對于從一個角色傳遞到另一個角色的資料,與其說它是運作于模型上的資料,不如說它是個待執行的模型。applyfunction角色從一個輸入端口接收一個用表達式語言(見第13章)描述的函數,并将該函數作用于另一個端口(使用者必須建立這個端口)到達的資料。mobilemodel 角色從一個端口接收一個ptolemy ii模型的moml描述,然後執行該模型來處理從另一端口輸入的資料流。
圖2-44 applyfunction角色從一個端口接收函數定義,并将函數作用于到達另一個端口的資料
applyfunction 角色的使用見圖2-44。在該模型中,以交替方式為applyfunction角色提供兩個函數:一個函數計算x2,另一個函數計算2x的。這兩個函數由兩個const角色提供,可以從sources→genericsources子庫中找到。這些函數由commutator角色交替輸出,commutator在flowcontrol→aggregators子庫中。