<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理
    一、工作流概念
    1.案例(case):工作流系統的基本目的就是處理案例,保險索賠、績效考核、抵押申請等等都是案例。每一個案例都有一個唯一的標識,案例在出現和消失之間總是處于某個特定狀態,這個狀態有三個元素組成:
    (1)案例相關的屬性,指出特定條件下案例是否被執行或者忽略
    (2)已經滿足的條件,說明案例的進展。
    (3)案例的內容,可能是文檔、文件、檔案或者數據庫
    2.任務(task),泛指一般的工作單元,而非具體案例活動的一次具體執行(這一般稱為活動),為了區分這一點,引入了工作項(work item)和活動的概念(activity)。工作項是指將要被執行的實際工作塊,而活動就是指工作項的執行。

    3.過程(process):過程指出了哪些任務需要被執行,以什么順序執行。可以將過程理解為具體案例的藍圖。過程定義了案例的生命周期,每個生命周期都有start和end。

    4.路由(route):決定了那些任務被執行和以何種方式執行,包括順序、并行、選擇和循環四種形式的路由

    5.啟動(start):觸發,工作項是有一個resource來啟動的,觸發的形式包括:
    (1)資源驅動,比如某個員工
    (2)外部事件,一個JMS消息
    (3)時間信號,比如凌晨2點觸發某任務等等。
    顯然,觸發是由環境而非工作流系統負責的。
    二。Petri網

        Petri網是一種過程建模和分析工具,是1962年由Carl Adam Petri提出的,它有著堅實的數學基礎,完全形式化的,可以將Petri網應用于工作流的建模和分析過程。

    1.傳統的Petri網:
     Petri網有place(庫所)和transition(變遷)組成
    place用于容納token,token用以表示具體的案例,通過transition的firing(實施)來表現過程的狀態轉變。理解幾個概念:
    (1)transition enabled(變遷的就緒):當且進當transition的每一個輸入place都至少有一個token的時候,變遷就緒,可以實施。
    (2)transition firing(變遷的實施):變遷的從每個輸入place取走一個token,并往它的每個輸出place增加一個token。
    看一個Petri網進行過程建模的例子:


    圓圈表示place;矩形表示transition;用黑點表示token,存在于place中,這里沒有表示出來,我在網上隨便找的一張圖,不過這里也展示了And-split、And-join、Or-split和Or-join的四種任務以及四種形式路由(從上到下依次是:順序、并行、選擇和循環)的Petri網建模。

    2.高級Petri網
        傳統Petri網有一些缺點,比如無法對某些活動進行有效的建模,容易變的龐大而難以理解,因此通過擴展,就可以對復雜情況用結構化、容易理解的方式建模。關注三種擴展:顏色擴展、時間擴展和層次擴展。
    1.顏色擴展,為token引入顏色,用以區分同一place中的不同token,顏色其實代表了token(具體到某個案例)的屬性,通過顏色擴展,我們可以為將要被消耗的token值設置了前置條件,那么變遷就緒的前提變化為:每個輸入place都至少有一個token,并且滿足前置條件。顏色擴展,也將產生的token與消耗的token進行了關聯,產生token的值和數目將依賴于被消耗的token的值。

    2.時間擴展,當需要對一個過程的預期性能進行判斷時,引入了時間擴展,為token加入時間戳,只有當被消耗的token的時間戳早于當前時間,就緒的transition才可以firing,而產生的token的時間戳就等于firing的時間加上延時。通過引入時間擴展,我們將可以對類似十字路口紅綠燈時間敏感的復雜過程進行建模。

    3.層次擴展,過程是由一系列的place、transition、弧線和子過程組成的,為了反映這樣的層次結構,適應復雜過程的建模,引入了層次擴展。

    三、工作流概念到Petri網的映射

    1.過程:過程是由條件和任務組成,映射到Petri網,place就是條件,而transition就是任務。條件和place都是被動元素,而任務和變遷都是主動元素。案例就是token,案例的屬性通過顏色擴展來映射,token的值包含了案例的屬性值。比如保險索賠案例的屬性:賠額、索賠人、時間等等。

    2.路由:四種路由的Petri網建模,上面的圖片已經給出。簡單分析下:
    (1)順序路由,對應圖1,任務A和B是順序執行的,任務B的輸入是任務A的結果。通過在兩個任務之間引入一個place來解決,中間的圓圈對應的place是任務B執行前的必須滿足的條件,同時是任務A執行的結果。

    (2)并行路由:對應圖2,為了并行地執行任務B和C,引入了任務A,稱為And-split,在A和B、C之間引入兩個place,當A任務實施后,為兩個輸出place產生token,任務B和C就處于就緒狀態可以實施。當B和C都實施之后,類似的實行And-join任務(任務D)合并兩個任務。

    (3)選擇路由:圖3對選擇路由的建模并不正確,選擇執行B或者C,那么在B和C之前引入兩個新任務t11、t12和兩個place(合并稱為Or-split),在前一個place的token,要么實施t11,要么實施t12,假設實施t11,那么任務B將就緒,反之則任務C就緒。同樣的可以建模Or-join。選擇路由還根據選擇的時刻劃分為兩類,具體不再展開。

    (4)循環路由,圖四的建模也不是很精確,循環也跟編程語言中的循環分為:repeate ...until...和while ...do...兩種,前者至少執行一次,而后者可能不執行,

    3.啟動的映射:我們知道工作項是案例和準備執行的任務的組合,而活動是指一個工作項的實際執行,一旦工作項被實際執行,它就轉換成活動。映射到Petri網,工作項就是就緒的變遷(enabled transition),而活動對應一個transition的firing。Petri網中的transition是“饑餓”的,一旦它們就緒,就會立刻執行,這樣的變遷成為自動的。而工作流中的觸發并非是自動的,它可能是資源驅動、外部信號驅動以及時間驅動的。為了建模觸發,我們在變遷的上面添加符號來區分:向下的箭頭表示資源驅動,信封表示外部信號驅動,而時鐘表示時間驅動。

        初步了解了Petri網,確實是對工作流甚至業務過程建模的良好工具,對于利用Petri網進行過程分析,還待進一步學習。









    主站蜘蛛池模板: 亚洲精品天堂在线观看| 久久精品国产亚洲AV大全| 亚洲国产成人无码AV在线| ww在线观视频免费观看| 久久亚洲春色中文字幕久久久| 秋霞人成在线观看免费视频 | 在线jyzzjyzz免费视频| 亚洲日韩中文字幕| AV大片在线无码永久免费| 亚洲综合色区中文字幕| 午夜老司机免费视频| 亚洲日韩一中文字暮| 四虎永久免费观看| 国产午夜精品理论片免费观看| 亚洲成亚洲乱码一二三四区软件| 免费无码av片在线观看| 亚洲国产精品国自产拍电影| 久久久久av无码免费网| 亚洲粉嫩美白在线| 免费人成视频在线观看不卡| 美女巨胸喷奶水视频www免费| 亚洲精品在线观看视频| 国产福利在线免费| 老司机福利在线免费观看| 亚洲精品国产成人片| 亚洲免费视频网址| 亚洲第一成年免费网站| 亚洲熟妇少妇任你躁在线观看无码| 中国毛片免费观看| 亚洲欧洲日韩综合| 国产在线a不卡免费视频| 一个人看的www免费在线视频| 色婷婷亚洲十月十月色天| 成人a视频片在线观看免费| 国产AV无码专区亚洲AV琪琪| 亚洲日韩av无码| 在线天堂免费观看.WWW| 免费一级毛片在线播放放视频| 久久精品视频亚洲| 女人18一级毛片免费观看| 国产成人AV免费观看|