發表文章

目前顯示的是 11月, 2018的文章

元件詳解:離散事件 - 流程模型 - Release

圖片
這個元件主要是搭配 Seize 元件。 隨著 Seize 複雜的設定,也造成Release元件有複雜的釋放策略。 配對元件 Seize 類似元件 無 相關元件 ResourcePool ResourceTaskStart ResourceTaskEnd ResourceTask ResourceSend ResourceAttach ResourceDetach 屬性 (1) 釋放策略:總計有5種方法。 All seized resources (of any pool ):釋放此Entity目前所有抓取的資源。 All resources  seized  by given Seize block(s):釋放此Entity在哪一個Seize所抓取得所有資源。 All seized resources from given pool(s):釋放此Entity從哪一個資源來源所抓取得所有資源。 Specified resources (list of pools):選擇哪些資源來源要釋放。 A specified quantity of  resources:設定釋放哪種資源與數量。 (2) 設定資源釋放後之去處:回到原始點,或者停留在原地。在某些情境下,資源使用後可能需要經過整備(充電,或補充耗材)之後,才能被Entity抓取。 (3) 設定整備任務:每一次都要,這個跟設定讓資源回到原始點相同。注意,資源移動過程是不能被抓取,且需要耗時;若沒有其他任務時,就回原始點;自訂整備條件。 (4) 整備狀態之統計設定:設為busy;設為idle;或者是不收集。

元件詳解:離散事件 - 流程模型 - Seize

圖片
這個元件非常非常重要。他扮演的角色是將邏輯流程與資源使用進行結合。資源的運用情況,更是系統模擬最關心的事情。 資源我們會用ResourcePool[待補連結]來定義,而Seize就是用來定義如何抓取這些資源。請注意看左方圖示,中間有一個很短的 Queue ,他有點Queue的機制,也就是有了上方四個Port。當設定了Capacity時,等候資源的Entity超過此數目時,就要規定從哪裡溢出,然後要接到哪個流程或作哪些程式處理。然後他帶了一個向上的符號,那代表了下方多了一個preparedUnits。這是用來因應有些資源並不能直接抓取,他需要事先準備好。例如說,有超音波設備,他被定義為Portable的資源。他無法自行行走,得要靠另一個Moving的護士資源來移動。這個過程應該是超音波設備叫用護士,準備好後,才回到主流程讓病人(Entity)叫用。這時候,事先準備好的資源與主流程的連接就是靠這個Port。 配對元件 Release 類似元件 無 相關元件 ResourcePool ResourceTaskStart ResourceTaskEnd ResourceTask ResourceSend ResourceAttach ResourceDetach 屬性 在講解Seize這個元件之前,應該要先理解ResourcePool這個元件。ResourcePool是定義模型中資源型態,而資源型態其實就是Agent Type只是透過ResourcePool來進行資源相關欄位資源。真的無須搞到很複雜,Agent Type就是類別宣告,而類別在模型可以被歸類成Entity類、Resource類。Entity有生有死;Resource沒有。 ResourcePool只是宣告而已,透過Seize就可真正的去你所需要的ResourcePool中去取得你要的那些Instance。注意,是用「那些」這個字眼,因為Seize可以定義資源集。一個資源項目的定義是{ResoourcePool, 數量},所謂資源集是[[{ResoourcePool, 數量}, {ResoourcePool, 數量},...],[{ResoourcePool, 數量}, {ResoourcePool, 數量},...],...]希望這樣