日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——3.3 小结...

發布時間:2025/5/22 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——3.3 小结... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節書摘來自華章出版社《信息物理融合系統(CPS)設計、建模與仿真——基于 Ptolemy II 平臺》一書中的第3章,第3.3節,作者:[美]愛德華·阿什福德·李(Edward Ashford Lee),更多章節內容可以訪問云棲社區“華章計算機”公眾號查看

3.3 小結

數據流是一個簡單和通用的計算模型,其中角色的執行由輸入數據的可用性來驅動。它對流(expressing streaming)應用的表示特別有用,其中長數據值序列通過計算選擇路徑,如常見的信號處理和多媒體應用。
SDF是一個簡單的(盡管是有限制的)數據流形式,它能進行大量的靜態分析和有效的執行。DDF更為靈活,但是對它的控制也更具挑戰性,并且執行開銷更大,因為它在運行時進行調度決策的定制。它們兩者可以整合到一個模型中,因于DDF產生額外的開銷,因此僅應用在非用不可的地方。SDF和DDF在模態模型中的良好運用將在第8章解釋。使用SDF和DDF的模態模型提供一個通用的并發程序模型。
補充閱讀:IO角色
以下是在IO庫中重要的輸入/輸出角色:

FileReader和FileWriter通過URL或者URI從本地磁盤或從指定的遠程位置讀和寫文件。對于FileReader,在一個單個輸出字符串令牌上產生文件的全部內容。對于FileWriter,將每個輸入字符串令牌寫入一個文件,重寫之前的文件內容。在這兩種情況下,可以為每次點火給出新的文件名。為了從標準輸入讀取,指定System.in為文件名。為了寫入標準輸出,指定System.out為文件名。LineReader和LineWriter類似,除了它們每次讀和寫一行。
CSVReader和CSVWriter讀和寫CSV格式或者逗號分隔值(分隔符可以是任何東西,不一定是逗號)的文件或URL。將CSV文件轉換成記錄令牌,并將記錄(record)令牌轉換為CSV文件。文件的第一行定義記錄的文件名。為了使用CSVReader,需要幫助類型系統決定輸出類型。其最簡單的實現方法是可以用后向類型推斷(backward type inference)(見14.1.4節)。它設置CSVReader角色輸出端口的數據類型為最通用的類型,這個類型能被角色下游接受。例如,如果角色下游從記錄中提取字段,類型約束將自動地要求那些字段出現并具有兼容的類型。也可以強制輸出類型使用[Customize→Ports]上下文菜單命令。
在IO庫中還包含了下面的角色:

ArrowKeySensor對鍵盤的方向鍵做出響應,并產生輸出。
DirectoryListing輸出指定目錄下與命名某一模式相匹配的文件名數組。
練習

  • 3.1.3節補充閱讀:多速率數據流角色中描述的多速率角色與第2章補充閱讀:數組處理角色和補充閱讀:數組構建與拆分角色中描述的數組角色對用SDF構建集合操作(collectiveoperations)很有用,這些都是對數據數組的操作。這個練習探討利用SDF實現所謂的多對多分散/收集(all-to-all scatter/gather)。具體地說,就是構建一個模型,使它產生以下所示的4個數組,它們的值如下:
  • 并將它們轉換為具有如下值的數組

    請用ArrayToElements和ElementsToArray,以及ArrayToSequence和SequenceTo Array(對于后者,可能需要Commutator和Distributor)。評論方法的優缺點。提示:可能必須明確地將連接的通道寬度設置為1。雙擊線路并設置值。可能要嘗試用MultiInstanceComposite。

  • 如圖3-15中的模型,在例3.15中有討論。使用IterateOverArray角色實現這個相同的模型,并且只用SDF指示器而不用DDF指示器(見2.7.2節)。
  • Ptolemy II中的DDF指示器支持一個稱為ActorRecursion的角色,它是一個對包含它的復合角色的遞歸。例如,圖3-16所示的模型實現Eratosthenes篩選法,其用來尋找素數的方法詳見kann和 MacQueen(1977)。
    使用這個角色實現一個計算斐波那契數的復合角色。即復合角色的一次點火需要實現以下點火函數:
  • f : N → N,對于所有n ∈ N,

    圖3-16 在DDF中使用ActorRecursion的Eratosthenes篩選法
    當ActorRecursion點火時,它復制分層結構中上層的復合角色(即它的容器,或者它容器的容器等),層次的名稱與它的recursionActor參數值相同。ActorRecursion的實例用那些與容器匹配的端口來填充。這個角色應該視為對特殊種類高階角色的一個高度的實驗實現(experimental realization)。這是一個高階角色,因為它的參數由一個包含它的角色來指定。然而,它的實現是非常低效的。它每次點火所引用的角色的副本會帶來巨大的時間和空間開銷。一個更好的實現方式是使用類似于面向過程語言中所使用的棧幀的方法(stack frame approach)。而它使用的這個方法更像是在運行時復制源代碼并解釋它。為了提高執行效率,如果角色已經提前創建,那么要避免創建副本。僅憑圖3-16中的圖像,沒有辦法分辨ActorRecursion實例引用了哪個復合角色。因此,無法從它的可視化表示中真正地閱讀該程序。

    總結

    以上是生活随笔為你收集整理的《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——3.3 小结...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。