發表文章

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

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

圖片
ResourcePool元件圖 ReourcePool是用來宣告資源定義的元件。 應該可以強烈感受到這個元件與其他的最大不同點。他沒有Port。也就是說,他不會放在邏輯流程中,但他要被其他元件所呼叫使用。 資源型態可以分成三種: Static:靜態資源。這類資源不能被移動。例如說會議室等。 Moving:移動資源。這類資源具有自主移動能力。大部分具有生命的Agent都屬於這種。 Portable:可攜資源。這類資源沒有自主移動能力,需要移動資源之協助來移動。例如車輛等。這種叫用方式比較麻煩,因為要先叫用Moving資源,例如司機,然後移動司機到Portable資源,然後再送到抓取這兩個資源的Entity。還需要用到另一組元件。所以,有時候會偷懶,或者不在意移動資源的使用率,可以把Portable設成Moving。  一般而言,Static資源會直接定義於Network中的某個空間。依據指定要的空間數量,當作此資源的數量。 若是Moving與Portable資源,雖然可以在Network中移動,但是仍需要在Network中,宣告一個空間當作他們的家Home Node,也就是起始位置。 任何資源都會有Busy(忙碌)或Idle(空閒)狀態,利用這個狀態的變化,可以取得此資源的相關統計資料。 資源有能量(Capacity)的問題。定義的方法有下列三種: Direct:直接宣告數量。 Home Location:透過宣告此資源的Home Node數量來決定(可以有多個Home Node)。也可以使用Home Node內的attractors數量來決定。 Schedule:有可以分成四種。 根據Schedule物件所設定時間區隔,宣告整數來決定有多少數量。(圖一) 根據Schedule物件所設定時間區隔,宣告布林來決定資源數量是否可得。(圖二) 根據多個Schedule所組合之整數來決定有多少數量。(圖三、圖四) 根據一個Schedule,宣告不同群組之數量。(圖五、圖六) 圖一 圖二 圖三 圖四 圖五 圖六 配對元件 Seize Release Assembler Service 類似元件 無

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

圖片
Service 元件圖 若注意看Service元件圖的內部,是否有似曾相識的感覺。沒錯,他就是由 Queue 與 Delay 所組成。 因為, Delay 常常需要Resource來支援,所以,叫用Resource的 Seize 也內建在Service元件中。 有叫用Resource來完成這個Service,自然在完成後,就會 Release Resource。 若實務情境是很單純,例如一個櫃台。Entity會過來乖乖地排隊,不會東跑西跑;資源也是乖乖地就定位;然後作業時間也沒有那麼多條件變化,就可以考慮使用Service。當你使用PEL版本搞複雜模型時,Service就很重要了。 配對元件 無 類似元件 Assembler 相關元件 Queue Delay Seize Release 屬性 Name:此物件名稱。主要是用在程式面。 這個等同 Seize 元件。 這個等同 Queue 元件。 這個等同 Delay 元件。 這個等同 Seize 元件。 如屬性名稱所示,設定Network相對應節點位置。 事件 On enter 當Entity進入時。 Local variable:   agent  - the agent 本身 On exit (timeout) [選擇 Queue: exit on timeout 時出現]  當Entity發生timeout時。 Local variable:   agent  - the agent本身 On exit (preempted)  [code] [選擇 Queue: enable preemption 時出現]  Entity從preemption port被擠出時。 Local variable:   agent  - the agentㄅ本身 On seize unit 當Entity有抓到資源時。 Local variables:   agent  - the agent本身                            Agent unit  - 所抓到的資源 On enter delay 當Entity開始進入delay狀態時。 Local variables

進階模型:醫療業-Emergency Department-Part 2-邏輯流程-處置

圖片
本篇是接續上一篇 進階模型:醫療業-Emergency Department-Part 2-邏輯流程-診斷 ========== 流程簡述 病人已經取得醫師助理(PA)資源。 系統設立有一半的機會去作X-Ray,另一半去作Ultra-Sound。 完成後,釋放助理醫師。 離開醫院。 現場佈置 USoundStorage:超音波所在位置。利用Attractors來定義資源數量。 xRayRoom:放射室所在位置。直接宣告只有1 間資源數量。 exitDoor:設定當完成處置後,病患離開之處。 techHomeRoom:這是技師的HomeNode。會用在超音波與X光室的Agent流程中。 邏輯流程 流程詳述(整合現場佈置與邏輯流程) 病人已經取得醫師助理(PA)資源。(請參考 進階模型:醫療業-Emergency Department-Part 2-邏輯流程-診斷 ) 系統設立有一半的機會去作X-Ray(xRayProcess: Agent),另一半去作Ultra-Sound(uSoundProcess: Agent)。(X-Ray與Ultra-Sound是使用具有邏輯流程之Agent處理,需要另外多加解釋。) 完成後,釋放助理醫師(releasePA: Release )。 離開醫院(gotoExit:   MoveTo )到門口(exitDoor: space markup-Rectangular Node)。 最後讓病患這個Entity消失(leave: Sink )。 補充說明 X-Ray與Ultra-Sound是使用具有邏輯流程之Agent處理。因為又增加了一些技術問題,需要新的一篇來解釋。不過,在此先概略提供說明。 請注意看左圖。 USound是用在資源而定義的Agent。頂多就是有一個外在表現圖形。 但是, USoundProcess是定義一個具有邏輯流程的Agent,除了有外在表現圖形外,他用了一堆的元件來表示邏輯(這些元件也是Agent啦)。 應該這麼說,其實這就是自己設計一個元件來用。 因為他是元件,所以冒出一個重點,那就是Ports。他跟其他元件一樣,用來連接其他元件造成流程結果。

進階模型:醫療業-Emergency Department-Part 2-邏輯流程-診斷

圖片
本篇是接續上一篇 進階模型:醫療業-Emergency Department-Part 2-邏輯流程-檢傷分類 。 ========== 流程簡述 病患已經過檢傷分類。並且回到等候室。 叫用急診診間。 確認取得急診診間後,由護士移往急診診間。 釋放護士。 呼叫醫師助理(PA)。 下一流程處置。 現場佈置 waitingRoom:完成檢傷者,將被移動到此區域,等待下一個處置流程。使用 space markup-Rectangular Node[待補連結]。 EC Room:急診診間,共有五個。因為部分佈置形狀不同,使用space markup-Rectangular Node與space markup-Polygonal Node。 邏輯流程 流程詳述(整合現場佈置與邏輯流程) 病患已經過檢傷分類。並且回到等候室。 叫用(seizeECRoom: Seize )急診診間(ECRoom: ResourcePool)。 確認取得急診診間後,由護士移往急診診間(gotoECRoom: MoveTo )。 到達急診診間後,釋放護士(releaseNurse: Release )。 呼叫醫師助理(callPA:  Seize )。 元件屬性 1. seizeECRoom: Seize 此元件如之前,並無特殊性。 選擇ECRoom此靜態資源,每次需要一間。 2. gotoECRoom:  MoveTo 此元件如之前,並無特殊性。 將Agent移到所抓取到的靜態資源所在地。此處之靜態資源為ECRoom。 3. releaseNurse:  Release 此元件如之前,並無特殊性。 將特定資源釋放。此處之資源為nurse。 4. callPA :  Seize 此元件如之前,並無特殊性。 抓取資源,此可移動資源為PA。