工作流定義工具需求分析
工作流分類(lèi):
管理型、設定型、協(xié)作型、生產(chǎn)型。
以通訊為中心、以文檔為中心、以過(guò)程為中心、
基于文件、基于消息、基于web。
工作流模型包括了描述一個(gè)能夠由工作流執行服務(wù)軟件系統執行的過(guò)程所需的所有信息。這些信息包括:過(guò)程的開(kāi)始、完成條件,構成過(guò)程的活動(dòng),進(jìn)行活動(dòng)間導航的規則,用戶(hù)要完成的任務(wù),可能被調用的應用,工作流機的引用關(guān)系,所有與工作流相關(guān)的數據定義。
過(guò)程定義可能引用組織/角色模型中關(guān)于組織結構、組織中的角色等信息。(過(guò)程定義指定完成某項活動(dòng)的組織實(shí)體或角色,而不是具體的人員。將角色與具體人員連接的是工作流執行服務(wù)。)
過(guò)程建模:基于形式化的過(guò)程定義語(yǔ)言、對象-關(guān)系模型(對簡(jiǎn)單系統可以用一組路徑選擇命令的方式來(lái)描述信息或文檔在參與者之間的傳遞)
建模工具的輸出:能被工作流機解釋執行的過(guò)程定義。
工作流模型的元模型:描述了工作流模型內在的聯(lián)系,這個(gè)模型有利于在不同工作流產(chǎn)品間交換信息。
數據:工作流相關(guān)數據,監控和控制信息(工作流定義)p58
過(guò)程定義輸入輸出接口:
1通信建立
2工作流模型操作:過(guò)程模型名稱(chēng)檢索;對過(guò)程模型對象的讀寫(xiě)
3工作流模型對象操作:在建模工具中創(chuàng )建、檢索、刪除對象;創(chuàng )建、設置、刪除對象屬性
工作流模型與工作流定義語(yǔ)言研究(工作流建模方法、工作流模型形式化表示、工作流定義語(yǔ)言)
IBM Exotica
建模方法:
工作流模型與高級事務(wù)模型的目標相似,是支持異構分布應用環(huán)境的工具系統。Exotica研究了兩者的結合。事務(wù)模型saga,flexible transactions有些復雜,Exotica提出一個(gè)中間件FMTM,作為將事務(wù)模型轉換為工作流模型的預處理器
FDL(flowmark define language)
佐治亞大學(xué)的Meteor(Managing End-To-End Operation),LSDIS實(shí)驗室 p90
圖形化建模工具:流程設計器,數據設計器,任務(wù)設計器。
流程設計器:定義各個(gè)活動(dòng)之間的關(guān)系。
數據設計器:定義執行活動(dòng)所使用和傳遞的數據。采用了面向對象的技術(shù)來(lái)設計數據設計器,由設計器生成所需的所有的數據類(lèi),利用繼承,提高了數據管理的清晰程度,強化了數據之間的邏輯關(guān)系。
任務(wù)設計器:描述如何激活不同類(lèi)型的活動(dòng)(非事務(wù)型,事務(wù)型,WEB型,人機交換型,兩階段提交型)。不同的活動(dòng)有不同的設計器。對于需要從數據文件獲得輸入數據的活動(dòng),設計器提供了一個(gè)模板來(lái)描述這些數據文件,模板中包含了有關(guān)數據類(lèi)的屬性和其他的一些文本信息。
模型將以工作流中間語(yǔ)言WIL(Workflow Intermediate Language)形式保存,該語(yǔ)言與WPDL(Workflow Process Definition Language)類(lèi)似。
WIDE(Workflow on Intelligent and Distributed database Environment)的工作流模型:組織模型,信息模型,過(guò)程模型。是對WFMC參考模型的擴展。不僅支持工作流的基本要素(三個(gè)模型及它們之間的相互關(guān)系????)還支持豐富的組織模型,復雜的活動(dòng)分配約束,動(dòng)態(tài)控制流程,復雜過(guò)程結構,工作流事務(wù)管理。
組織模型:記錄企業(yè)內部組織結構,資源信息。記錄了單個(gè)雇員信息,職位信息,為了某種目的建立的臨時(shí)工作組信息,雇員間、職位間、工作組間的關(guān)系。與其他工作流產(chǎn)品的區別:嚴格實(shí)現組織模型與過(guò)程模型的分離(其他?),通過(guò)授權機制實(shí)現過(guò)程模型定義的角色到組織模型中代理的對應。
信息模型:定義并維護一個(gè)工作流實(shí)例運行所需全部數據,并管理其表示方式和使用范圍。
過(guò)程模型:。。。
WIDE支持層次化建模,
基于狀態(tài)與活動(dòng)圖的工作流管理系統Mentor(Middleware for Enterprise-wide Management)
采用狀態(tài)和活動(dòng)圖建立模型,使用可視化軟件工具Statemate作為建模工具。也可采用其他建模工具(flowmark),Mentor會(huì )將其轉換為狀態(tài)和活動(dòng)圖。
活動(dòng)圖反映系統功能的分解,每個(gè)活動(dòng)代表一個(gè)功能,者與工作流模型中的活動(dòng)類(lèi)似,活動(dòng)間的有向弧代表數據的流動(dòng)。狀態(tài)圖反映活動(dòng)之間控制信息的流動(dòng)。狀態(tài)的轉換由ECA(Event Condition Action)規則驅動(dòng)。狀態(tài)圖還支持嵌套的狀態(tài),正交組件(orthogonal components)。
研究方向:
工作流模型的正交分解:為了實(shí)現分布運行。包括活動(dòng)圖和狀態(tài)圖的分解。其中,后者較難。Mentor提出了一種方法分解后者,
工作流建模方法:基于活動(dòng)網(wǎng)絡(luò )的建模方法,以活動(dòng)及其關(guān)系為基礎。
基于形式化表示的建模,如petri,工作流網(wǎng),
基于對話(huà)形的建模,Winograd ,Flores
基于狀態(tài)和狀態(tài)圖,從使用和正確性驗證上來(lái)看,介于pertri與圖形化模型之間的,
基于事務(wù)模型,事務(wù)是數據庫的概念。工作流中的事務(wù)比數據庫中的要復雜。
圖形化,
工作流描述語(yǔ)言:
wpdl,psl(chapter 7), wfdl,tsl,wfsl,C&Co(from c)
幾種產(chǎn)品:
IBM MQSeries Workflow,是基于消息的(基于ibm的消息隊列產(chǎn)品MQSeries),企業(yè)可以采用工作流工具建模其業(yè)務(wù)過(guò)程,然后使用BPR工具分析并優(yōu)化其業(yè)務(wù)流程,最后可以將優(yōu)化的過(guò)程交給工作流執行服務(wù)為執行
在創(chuàng )建階段提供的建模工具允許管理員用圖形化的方式描述一個(gè)過(guò)程和其中的活動(dòng),并且通過(guò)一個(gè)圖形用戶(hù)界面可以定義工作流模型中的所有其他信息。還提供函數定義MQSeries Workflow服務(wù)器的特性和它們的網(wǎng)絡(luò )拓撲結構。
用戶(hù)可以在建模界面自定義圖標。
建模工具還提供一個(gè)重要功能,允許定義活動(dòng)之間的控制流,且允許定義數據映射。這個(gè)映射功能可以定義在過(guò)程實(shí)例的執行過(guò)程中,活動(dòng)之間數據的傳遞和相關(guān)的傳遞規則中。
工作流模型
工作流建模就是對經(jīng)營(yíng)過(guò)程進(jìn)行計算機化的定義。工作流模型除了支持完整的工作流概念定義,即提供定義工作流所需的所有組件或元素,理想的工作流還應該具有強大的描述能力,即能夠描述清楚幾乎所有的業(yè)務(wù)流程類(lèi)型?,F在還未做到。
工作流不但要表達經(jīng)營(yíng)過(guò)程中的活動(dòng)及相互關(guān)系,還要對活動(dòng)間傳遞的信息、活動(dòng)的執行實(shí)體、活動(dòng)所需資源等定義。因此加入了描述數據(信息)、組織、資源等部分。很多工作流產(chǎn)品允許在一定范圍內自定義數據、人員等。為了更好描述這些信息,將這些描述信息擴展為獨立的模型。如WIDE中的組織模型、信息模型、過(guò)程模型共同構成工作流模型?;萜諏?shí)驗室提出一種層次化的樹(shù)狀的資源模型。
為了交互,提出了規范的描述語(yǔ)言,即工作流定義語(yǔ)言。如WFMC的WPDL,IBM FDL,METEOR2 WIL(Workflow Intermedia Language)
模型的評價(jià)標準【文獻31】:
1表達能力豐富:提供豐富的建模概念,使得由大量約束集合而成的元素能夠在模型中被直接表達。
2容易理解:對于專(zhuān)家和普通用戶(hù)都能理解
3最小化:模型中的概念的集合是最小化的
4形式化:模型定義能夠作為現實(shí)對象的形式化描述。
1從過(guò)程描述入手,基于有向模型:流程圖、狀態(tài)圖、活動(dòng)網(wǎng)絡(luò )圖、EPCM模型。不能處理復雜的過(guò)程邏輯。
2IDEF系列方法:功能建模IDEF0(系統功能結構,描述的是功能的輸入、輸出、資源使用情況),信息建模IDEF1/IDEF1x(信息實(shí)體及相互間關(guān)系),動(dòng)態(tài)行為建模IDEF2,過(guò)程建模IDEF3(描述過(guò)程,過(guò)程流網(wǎng),對象狀態(tài)轉移網(wǎng)。前者包括不同人員對事件與活動(dòng)、參與事件的對象,以及操縱這些事件的行為之間的約束關(guān)系等),面向對象建模IDEF4。用于過(guò)程建模的:IDEF0,1x,3。
STEP Part 49
基于對話(huà)的工作流模型(產(chǎn)品:ActionFlow)
基于活動(dòng)網(wǎng)絡(luò )的過(guò)程建模-FlowMark工作流模型
一個(gè)經(jīng)營(yíng)過(guò)程由一個(gè)無(wú)自環(huán)的有向圖構成。
節點(diǎn):可執行的步驟或任務(wù)。
節點(diǎn)間的連接?。哼^(guò)程中的控制流與數據流
模型組成元素:process,activity,block,control connector,data connector,conditions
1process:有一系列具體步驟組成,為完成某項定義目標而定義。一個(gè)過(guò)程就是用一個(gè)有向圖來(lái)表示的一個(gè)工作流。
2activity:過(guò)程中的每個(gè)步驟就是一個(gè)活動(dòng),在圖中就是用一個(gè)節點(diǎn)元素表示。分為:program activity:為活動(dòng)綁定了一段程序代碼,活動(dòng)開(kāi)始就是程序的執行;process activity在活動(dòng)基礎上嵌一個(gè)過(guò)程,活動(dòng)開(kāi)始時(shí),就開(kāi)始了相應的過(guò)程,process activity主要是用于子過(guò)程的嵌套描述與模型的層次化分解?;顒?dòng)的內部結構:輸入數據箱,輸出數據箱,開(kāi)始與結束條件,狀態(tài),綁定的相應程序或過(guò)程。
3block:類(lèi)似于“過(guò)程”,區別是,一個(gè)過(guò)程有一個(gè)唯一的標識,可以在不同的工作流過(guò)程中使用。而模塊沒(méi)有這一項,只能被一個(gè)工作流過(guò)程使用,也具體輸入數據箱,輸出數據箱。模塊就像begin和end之間的內部代碼,而過(guò)程則是外部的連接庫代碼(?)。
4control connector:定義活動(dòng)間的執行順序,在有向圖中以連接弧表示。當連接弧的起始節點(diǎn)執行完畢,工作流機根據控制連接弧的定義進(jìn)行過(guò)程導航,使連接弧的終止節點(diǎn)能夠被執行??刂七B接弧與它們所連接的活動(dòng)節點(diǎn)構成整個(gè)工作流過(guò)程的控制邏輯。
5data connector:定義兩個(gè)活動(dòng)間的信息流,在有向圖中也是以連接弧表示。前一個(gè)活動(dòng)的輸出數據箱指向后一個(gè)活動(dòng)的輸入數據箱,即前一個(gè)活動(dòng)的輸出信息被后一個(gè)活動(dòng)使用。(數據箱:工作流相關(guān)數據,該活動(dòng)執行有關(guān)的具體應用數據)
6condition:用于定義過(guò)程執行中的約束。轉移條件:定義control connector上的條件,根據條件的判斷結果是真或假,決定是否執行下一個(gè)活動(dòng)。開(kāi)始條件:定義活動(dòng)在什么情況下才能開(kāi)始執行。(區別兩個(gè)概念:活動(dòng)被使能,活動(dòng)被執行。被使能:滿(mǎn)足轉移條件,發(fā)生轉移時(shí),活動(dòng)有可能被執行,稱(chēng)為被使能?;顒?dòng)是否開(kāi)始執行,決定于開(kāi)始條件。)結束條件:定義活動(dòng)什么情況才能結束。當活動(dòng)執行完,結束條件就被檢查,如果滿(mǎn)足該條件則結束活動(dòng),否則活動(dòng)被重新執行,直到滿(mǎn)足結束條件。通過(guò)該條件可以定義多次執行。(p141)
活動(dòng)狀態(tài)是一個(gè)重要屬性:ready,running,terminated,suspend等。過(guò)程的推進(jìn)就是在這些狀態(tài)間的轉換。
基于活動(dòng)網(wǎng)絡(luò )的過(guò)程建模優(yōu)點(diǎn)不少,缺點(diǎn)是不夠靈活,對緊急事件的應變能力不夠。
Event-driven Process Chain
基于語(yǔ)言行為理論的工作流模型
基于Petri網(wǎng)的工作流模型(工作流網(wǎng))-WF-net
事務(wù)模型
事務(wù)的四個(gè)特性:atomicity,consistency,isolation,durability
wpdl的關(guān)鍵字,由空格符分割,區分大小寫(xiě)
約定:操作符以Op結尾
常量以C結尾
括號以大寫(xiě)字母結尾,如<OpenArrayB>表示數組定義中的一個(gè)括號(????????)
類(lèi)型字符用大寫(xiě)字母書(shū)寫(xiě),以T結尾,如<INTEGER-T>表示整數類(lèi)型。
其他結束符以大寫(xiě)字母書(shū)寫(xiě)。
<basic data>::=
<string>|<float>|<integer>|<reference>|<date>
<reference>::=外部對象的指針,以字符串表示。如,”c:\test\test.ext”,”abc@gmail.com”,”http://www.agc.com”
<date>::=YYYY-MM-DD [hh:mm[:ss]]
間隔符:
<blank> ::= 空格|回車(chē)(CR)|/(?)|換行(LF)
<identifier>::=字母或下劃線(xiàn)開(kāi)頭,在一對單引號之間。
<cardinal>::=非負整型數,
<plain data>::=<basic data>|<Boolean>|<performer>
<plain data type>::=<basic data type>|<Boolean type>|<performer type>
<basic data type>::=<STRING-T>|<FLOAT-T>|<INTEGER-T>|<REFERENCE-T>|<DATE-T>
<Boolean type>::=<BOOLEAN-T>
<performer type>::=<PERFORMER-T>
performer是工作流參與者類(lèi)型的一個(gè)實(shí)例。
復雜數據:主要用于對數組、結構、枚舉、表的定義,這些數據通常用于表達工作流相關(guān)數據與有關(guān)的擴展屬性。
<complex data type>::=<plain data type>|
<RECORD><Member_list><END>//結構類(lèi)型
|<ARRAY>
<OpenArrayB><cardinal><UPTO><cardinal><CloseArrayB><OF><complex data type>//數組類(lèi)型
|<ENUM><element list><END>//枚舉
|<LIST><OF><element type>//表類(lèi)型
表達式:(主要用于各種條件的定義,由操作符和操作數組成的序列,是左結合的。)
<expression>::=<RelExpression>[<BooleanOp><expression>]
<BooleanOp>::=<ANDOp>|<OROp>
<RelExpressoin>::=<ArExpression>[<RelationlOp><RelExpression]
<ArExpression>::=<Unray>[<ArithmeticOp><ArExpression>]
<Unary>::=[<NotOp>]<Primary>|<UMinusOp><Primary>
<Primary>::=<VarReference>|<OpenB><expression><CloseB>|<PrimaryConstant>|<function access>|PARTICIPANT<participant id>
<PrimaryConstant>::=<simple constant>
<VarReference>::=<data id>[<VarQualifier list>]
<VarQualifier>::=<OpenArrayB><ArExpression><CloseArrayB>|<PERIOD><identifier>
<function access>::=<function id><OpenB><CloseB>|<function id><parameter map list>
<ActualParameterlist>::=<ActualParameters>[<COMMA><ActualParameterlist>]
<ActualParameters>::=<expression>
<condition>::=<expression>
<integer expression>::=<expression>
<string expression>::=<expression>
<performer expression>::=<expression>
操作符:
<ANDOp>::=AND
<OROp>::=OR
<NotOp>::NOT|!
<RelationalOp>::==|!=|<|<=|>|>=
<ArithmeticOp>::=+|-|*|/
<UMinusOp>::=-
其他符號:
<OpenB>::=(
<CloseB>::=)
<OpenArrayB>::=[
<CloseArrayB>::=]
<UPTO>::=...
<PERIOD>::=.//在RECORD中選擇一個(gè)成員變量
<COLON>::=:
每個(gè)元模型的屬性:
<attribute>::=<attribute keyword><attribute description>
屬性有預定義的標準屬性,也可以由軟件供應商擴展。
參數(在過(guò)程,子過(guò)程,應用間傳遞數據):
<formal parameters>::=[IN_PARAMETERS <parameter list>]
[OUT_PARAMETERS <parameter list>]
<parameter list>::=<parameter>[<parameter list>]
<parameter>::=<data id>//工作流相關(guān)數據
形參與實(shí)參的映射:
<parameter map list>::=<OpenB><parameter map><CloseB>
<parameter map>::=<ActualParameterlist>
<ActualParameterlist>把實(shí)參按照順序依次映射給形參。如果出現實(shí)參個(gè)數不夠,或多了,要提供處理機制,如設為零值,或忽略多余的。參數可以是表達式。
工作流元模型
在一個(gè)工作流模型中可以定義多個(gè)過(guò)程,它們共享工具與參與者,但建議每個(gè)過(guò)程一個(gè)模型。P180
<Workflow Model>::=MODEL<model id>
<Workflow Model Definition Header>
[<conformance class declaration>]
[<extended model declaration>]
[<Workflow Participant Specification>]
[<Workflow Application List>]
[<Workflow Relevant Data List>]
[<Workflow Process Definition>]
END_MODEL
<Workflow Model Definition Header>:模型說(shuō)明信息,如,WPDL版本,供應商信息,創(chuàng )建時(shí)間,
包括一個(gè)<redefinable header>,該部分不但出現在模型的頭定義中,還可以在模型所包含的每個(gè)過(guò)程的頭定義中出現,其定義未:
<redefinable header>::=[AUTHOR <author>]
[VERSION < >]
[CHARACTERSET <>]
[CODEPAGE <>]
[RESPONSIBLE <>]
[STATUS <publication status>]
<publication status>::=UNDER_REVISION|RELEASED|UNDER_TEST
XPDL
一致類(lèi)聲明:
用來(lái)說(shuō)明模型是否與WFMC定義的標準相一致,有三種級別,FULL-BLOCK(全限制,限制很多),LOOP-BLOCK(無(wú)自環(huán),即限制循環(huán),循環(huán)用多次執行實(shí)現),NON-BLOCK(無(wú)限制)
擴展庫,其中的函數與過(guò)程直接與工作流機綁定并在必要時(shí)候進(jìn)行調用或激活,無(wú)需通過(guò)第二類(lèi)接口。
<extended library declaration>::=LIBRARY
<libarary element list>
END_LIBRARY
<library element list>::=<library function>[<library element list>]|<library procedure>[<library element list>]
WPDL允許引用其他的工作流模型或在另外已提供好接口的工作流管理系統中所建立的模型,這些都是通過(guò)外部模型聲明來(lái)定義的。
<external model declaration>::=
EXTERNAL_MODEL_REFERENCE
<external model reference>
[<external attribute list>]
END_EXTERNAL_MODEL_REFERENCE
[<external model declaration>]
<external model reference>::=<logical model reference>|
<physical model reference>
<logical model reference>::=WM<model id>
[<Access restriction part>]
<physical model reference>::=OM<reference>
過(guò)程定義,包含模型所有活動(dòng)和轉移信息。
<Workflow Process Definition>::=
WORKFLOW<process id>
<Workflow Process Definition Header>
[<formal parameters>]
[<Access rstriction part>]
<Activity List>
<Transition Information List>
[<Workflow Participant Specification]
[<Workflow Application List>]
[<Workflow Relevant Data List>]
END_WORKFLOW
[<Workflow Process Definition>]
<Workflow Process Definition Header>::=
[CREATED <creation data>]
[NAME <> ]
[DESCRIPTION<>]
[redefinable header]
[DURATION_UNIT]
[PRIORITY]
[LIMIT]
[VALID_FROM]
[VALID_TO]
[CLASSIFICATION]
[<time estimation>]
[DOCUMATION ]
[ICON]
[<extended attribute list>]
<duration>::=<integer><duration_tag>
<duration_tag>::=Y|M|D|h|m|s
活動(dòng)定義:
<Activity List>::=ACTIVITY <activity id>
[NAME <>]
[DESCRIPTION <>]
<Activity Kind Information>
[<Access Restriction part>]
[<Transition Restriction part>]
[<entended attribute list>]
END_ACTIVITY
[Activity List]
<Activity Kind Information>描述活動(dòng)是怎樣被執行的。
<Activity Kind Information>::=ROUTE//路由信息
|IMPLEMNETATION<>
[PERFORMER <>]
[START_MODE<>]
[FINISH_MODE<>]
[PRIORITY <>]
<simulation information>
[ICON]
[DOCUMENTAION]
<implementation>::=NO//不為工作流所支持?????????
|APPLICAITONS<generic tool list>
|WORKFLOW<subflow reference>
|LOOP<loop kind>
CONDITION<loop condition>
<subflow reference>::=<execution><process id>[<parameter map list]
<execution>::=ASYNCHR|SYNCHR
<loop kind>::=WHILE}REPEAT_UNTIL
<participant assignment>::=<performer expression>
<mode>::=AUTOMATIC|MANUAL
<simulation information>::=[INSTANTIATION<>]
[<time estimation>]
[COST <>]
<instantiation>::=ONCE[|MULTIPLE]
轉移限制定義了與活動(dòng)相連的轉移結構,如分支,匯合
<Transition Restriction part>::=
[<Inline Block Information>]
[JOIN <>]
[SPLIT<>]
<JOIN characterisation>::=AND|XOR
<SPLIT characterisation>::=AND|XOR<list of Transition>
<Transition Information List>::=
TRANSITION <transition id>
[NAME <>]
[DESCRIPTION <>]
<transition kind description>
[<extended attribute list>]
END_TRANSTION
[<Transition Information List>]
<transition kind description>::=
FROM <activity id>TO<activity id>
[CONDITION <>]
|FROM LOOP<activity id>TO<activity id>
|FROM <activity id>TO LOOP<activity id>
工作流應用定義:應用及工具的列表(包括激活時(shí)需要的參數),在工作流執行中被激活或調用,
工作流相關(guān)數據:定義了所有在工作流過(guò)程或工作流模型中用到的變量,實(shí)際上是一個(gè)變量表
<Workflow Relevant Data List>::=
DATA <data id>
[NAME <name>]
[DESCRIPTION<>]
TYPE<>
[LENGTH<cardinal>]
[DEFAULT_VALUE<>]
[<extended attribute list>]
END_DATA
[<Workflow Revelant Data List>]
工作流參與者,是組織模型中的元素,他們或者執行工作流過(guò)程的某部分,或者對其負責。參與者的定義要引入外部的組織模型,且定義可以是多種不同的形式,即“類(lèi)型”。
一個(gè)例子:WfMC TC-1016-X
一個(gè)具體的工作流軟件CIMFlow
模型:
1Activity Network Diagram,可讀性好,
2為了提高過(guò)程的描述能力,擴展了WFMC的基本語(yǔ)義。特別是融入了“狀態(tài)”的概念(????)
3多視圖,提供除了過(guò)程模型外的組織模型,資源模型,工作流相關(guān)數據。
組織模型:人員的組織結構,提供柔性的組織定義。
資源模型:資源的組織結構,提供“物”的支持。
相關(guān)數據:工作流執行中用到的數據,主要用于各種條件的判斷,以實(shí)現工作流機對不同活動(dòng)的選擇性路由。
活動(dòng)網(wǎng)絡(luò )圖:節點(diǎn),連接弧,狀態(tài),條件
節點(diǎn):
1任務(wù)節點(diǎn):人工型活動(dòng):需要人參與來(lái)完成的,在自動(dòng)化不高的情況下,這種活動(dòng)很多。
自動(dòng)應用:不用人參與,直接由工作流管理系統激活相關(guān)應用。體現了工作流系統與企業(yè)應用間的集成關(guān)系。
過(guò)程:人工型、自動(dòng)應用都是原子級,過(guò)程是個(gè)子工作流。
任務(wù)節點(diǎn)的可重用設計,統一任務(wù)節點(diǎn)的內部結構,建立輸出到輸入的映射機制,是提高建模速度,規范建?;顒?dòng)的重要工作。
任務(wù)節點(diǎn)的內部結構統一為IPO式,節點(diǎn)間的連接是通過(guò)輸入、輸出實(shí)現的。因此,封裝模塊的內部細節,建立O到I的映射,就能夠實(shí)現重用。從宏觀(guān)上看,可重用的工作流就是一個(gè)IPO結構,經(jīng)過(guò)分解細化,內部的每個(gè)精細結構也是IPO式的(?????????)。
在重用時(shí),用戶(hù)只需定義前驅的輸出及后繼所需的輸入間的對于關(guān)系即可。
2邏輯節點(diǎn):不代表真正要執行的活動(dòng),表示的是節點(diǎn)間的邏輯關(guān)系。
支持節點(diǎn)間的復雜邏輯關(guān)系:與,或等。(順序,與分支(并行),與連接,或分支,或連接,循環(huán))
空節點(diǎn)可以表達復雜的邏輯。
3標志節點(diǎn):開(kāi)始節點(diǎn),結束節點(diǎn):為了簡(jiǎn)化模型,方便理解。
連接?。嚎刂七B接弧,數據連接弧。
在控制連接弧上加上條件可以實(shí)現或分支,循環(huán)邏輯。
數據連接?。汗濣c(diǎn)在執行完畢后,不僅要向與其控制連接弧相連的后繼節點(diǎn)傳遞數據,還可能要向其他某些節點(diǎn)傳遞數據,而這些節點(diǎn)又不與之構成合理的控制邏輯,無(wú)法用控制連接弧表示。因此,引入數據連接弧。數據連接弧,還可以傳遞物理對象。
上圖中,每一個(gè)葉子節點(diǎn)在建模工具中,都作為一個(gè)功能部件出現在工具欄中。
狀態(tài):活動(dòng)圖在有些情況下表達含糊,如當控制連接弧轉移后,其后繼節點(diǎn)只是被使能,不一定開(kāi)始執行,這種情況活動(dòng)圖表達不夠。所以,引入狀態(tài)來(lái)表達。
如上,有七個(gè)狀態(tài),這些狀態(tài)被隱含在活動(dòng)的條件中,無(wú)法直接讀出。
條件:定義在工作流數據集(相關(guān)數據,相關(guān)數據)上的二值函數。
轉移條件:定義在控制連接弧上,前文以敘。
開(kāi)始條件,
結束條件:
條件和狀態(tài)都是隱式表達,卻使模型具有類(lèi)似PETRI的狀態(tài)表達能力。
組織模型:WFMC沒(méi)有提供一個(gè)強大的組織模型,只是對workflow partictipant在role上加以區分,并由此建立一個(gè)具有層次化的role model。
CIMFlow提供五種實(shí)體:人員,角色,職務(wù),部門(mén),工作組。
角色:按技能
職務(wù):按行政責任
部門(mén):企業(yè)靜態(tài)結構
工作組:動(dòng)態(tài)組建,跨部門(mén)的,
除人員外,其他實(shí)體都是自上而下逐層分解的樹(shù)狀結構。如,
組織模型的數據的建立與維護通過(guò)專(zhuān)門(mén)的組織管理器來(lái)實(shí)現,基本需求:允許企業(yè)建立自己的組織模型數據庫,進(jìn)行人員屬性的定義與組織的劃分。特別要保證數據的一致性,因為,組織模型種常常出現一對多的實(shí)體關(guān)系。
資源的范圍很廣,在工作流中,應注重在生產(chǎn)中起重要作用的那部分,如原材料。
資源種類(lèi)繁多,但組織形式不復雜。CIMFlow中,用資源類(lèi)型和資源個(gè)體來(lái)定義。
資源個(gè)體是葉子,是原子的,
類(lèi)似資源組合在一起,構成某種資源類(lèi)型。
工作流相關(guān)數據:
是工作流管理系統在進(jìn)行工作流實(shí)例的狀態(tài)轉換時(shí)所需要訪(fǎng)問(wèn)的數據,這些數據可以被工作流機、工作流參與人員,應用程序訪(fǎng)問(wèn),修改。
CIMFlow中的相關(guān)數據是信息模型的簡(jiǎn)化,即只有數據定義所需的實(shí)體類(lèi)型,沒(méi)有實(shí)體間關(guān)系的討論。
CIMFlow中,相關(guān)數據:簡(jiǎn)單數據,對象。
對象,封裝了屬性和方法的復雜信息實(shí)體。實(shí)際,被作為工作流相關(guān)數據的是對象的屬性或方法函數的返回值。通常將具有特殊含義的信息實(shí)體做為對象,如word文檔,提貨單。對象內部隱藏了與具體文件系統、數據庫系統交換的細節。
對象的最初定義與維護由對象管理器完成。工作流建模工具只能引用,不能生成對象。
相關(guān)數據的定義有作用域限制。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=638687
聯(lián)系客服