工作流定義工具需求分析
工作流分類:
管理型、設(shè)定型、協(xié)作型、生產(chǎn)型。
以通訊為中心、以文檔為中心、以過程為中心、
基于文件、基于消息、基于web。
工作流模型包括了描述一個(gè)能夠由工作流執(zhí)行服務(wù)軟件系統(tǒng)執(zhí)行的過程所需的所有信息。這些信息包括:過程的開始、完成條件,構(gòu)成過程的活動(dòng),進(jìn)行活動(dòng)間導(dǎo)航的規(guī)則,用戶要完成的任務(wù),可能被調(diào)用的應(yīng)用,工作流機(jī)的引用關(guān)系,所有與工作流相關(guān)的數(shù)據(jù)定義。
過程定義可能引用組織/角色模型中關(guān)于組織結(jié)構(gòu)、組織中的角色等信息。(過程定義指定完成某項(xiàng)活動(dòng)的組織實(shí)體或角色,而不是具體的人員。將角色與具體人員連接的是工作流執(zhí)行服務(wù)。)
過程建模:基于形式化的過程定義語言、對象-關(guān)系模型(對簡單系統(tǒng)可以用一組路徑選擇命令的方式來描述信息或文檔在參與者之間的傳遞)
建模工具的輸出:能被工作流機(jī)解釋執(zhí)行的過程定義。
工作流模型的元模型:描述了工作流模型內(nèi)在的聯(lián)系,這個(gè)模型有利于在不同工作流產(chǎn)品間交換信息。
數(shù)據(jù):工作流相關(guān)數(shù)據(jù),監(jiān)控和控制信息(工作流定義)p58
過程定義輸入輸出接口:
1通信建立
2工作流模型操作:過程模型名稱檢索;對過程模型對象的讀寫
3工作流模型對象操作:在建模工具中創(chuàng)建、檢索、刪除對象;創(chuàng)建、設(shè)置、刪除對象屬性
工作流模型與工作流定義語言研究(工作流建模方法、工作流模型形式化表示、工作流定義語言)
IBM Exotica
建模方法:
工作流模型與高級事務(wù)模型的目標(biāo)相似,是支持異構(gòu)分布應(yīng)用環(huán)境的工具系統(tǒng)。Exotica研究了兩者的結(jié)合。事務(wù)模型saga,flexible transactions有些復(fù)雜,Exotica提出一個(gè)中間件FMTM,作為將事務(wù)模型轉(zhuǎn)換為工作流模型的預(yù)處理器
FDL(flowmark define language)
佐治亞大學(xué)的Meteor(Managing End-To-End Operation),LSDIS實(shí)驗(yàn)室 p90
圖形化建模工具:流程設(shè)計(jì)器,數(shù)據(jù)設(shè)計(jì)器,任務(wù)設(shè)計(jì)器。
流程設(shè)計(jì)器:定義各個(gè)活動(dòng)之間的關(guān)系。
數(shù)據(jù)設(shè)計(jì)器:定義執(zhí)行活動(dòng)所使用和傳遞的數(shù)據(jù)。采用了面向?qū)ο蟮募夹g(shù)來設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)器,由設(shè)計(jì)器生成所需的所有的數(shù)據(jù)類,利用繼承,提高了數(shù)據(jù)管理的清晰程度,強(qiáng)化了數(shù)據(jù)之間的邏輯關(guān)系。
任務(wù)設(shè)計(jì)器:描述如何激活不同類型的活動(dòng)(非事務(wù)型,事務(wù)型,WEB型,人機(jī)交換型,兩階段提交型)。不同的活動(dòng)有不同的設(shè)計(jì)器。對于需要從數(shù)據(jù)文件獲得輸入數(shù)據(jù)的活動(dòng),設(shè)計(jì)器提供了一個(gè)模板來描述這些數(shù)據(jù)文件,模板中包含了有關(guān)數(shù)據(jù)類的屬性和其他的一些文本信息。
模型將以工作流中間語言WIL(Workflow Intermediate Language)形式保存,該語言與WPDL(Workflow Process Definition Language)類似。
WIDE(Workflow on Intelligent and Distributed database Environment)的工作流模型:組織模型,信息模型,過程模型。是對WFMC參考模型的擴(kuò)展。不僅支持工作流的基本要素(三個(gè)模型及它們之間的相互關(guān)系????)還支持豐富的組織模型,復(fù)雜的活動(dòng)分配約束,動(dòng)態(tài)控制流程,復(fù)雜過程結(jié)構(gòu),工作流事務(wù)管理。
組織模型:記錄企業(yè)內(nèi)部組織結(jié)構(gòu),資源信息。記錄了單個(gè)雇員信息,職位信息,為了某種目的建立的臨時(shí)工作組信息,雇員間、職位間、工作組間的關(guān)系。與其他工作流產(chǎn)品的區(qū)別:嚴(yán)格實(shí)現(xiàn)組織模型與過程模型的分離(其他?),通過授權(quán)機(jī)制實(shí)現(xiàn)過程模型定義的角色到組織模型中代理的對應(yīng)。
信息模型:定義并維護(hù)一個(gè)工作流實(shí)例運(yùn)行所需全部數(shù)據(jù),并管理其表示方式和使用范圍。
過程模型:。。。
WIDE支持層次化建模,
基于狀態(tài)與活動(dòng)圖的工作流管理系統(tǒng)Mentor(Middleware for Enterprise-wide Management)
采用狀態(tài)和活動(dòng)圖建立模型,使用可視化軟件工具Statemate作為建模工具。也可采用其他建模工具(flowmark),Mentor會(huì)將其轉(zhuǎn)換為狀態(tài)和活動(dòng)圖。
活動(dòng)圖反映系統(tǒng)功能的分解,每個(gè)活動(dòng)代表一個(gè)功能,者與工作流模型中的活動(dòng)類似,活動(dòng)間的有向弧代表數(shù)據(jù)的流動(dòng)。狀態(tài)圖反映活動(dòng)之間控制信息的流動(dòng)。狀態(tài)的轉(zhuǎn)換由ECA(Event Condition Action)規(guī)則驅(qū)動(dòng)。狀態(tài)圖還支持嵌套的狀態(tài),正交組件(orthogonal components)。
研究方向:
工作流模型的正交分解:為了實(shí)現(xiàn)分布運(yùn)行。包括活動(dòng)圖和狀態(tài)圖的分解。其中,后者較難。Mentor提出了一種方法分解后者,
工作流建模方法:基于活動(dòng)網(wǎng)絡(luò)的建模方法,以活動(dòng)及其關(guān)系為基礎(chǔ)。
基于形式化表示的建模,如petri,工作流網(wǎng),
基于對話形的建模,Winograd ,Flores
基于狀態(tài)和狀態(tài)圖,從使用和正確性驗(yàn)證上來看,介于pertri與圖形化模型之間的,
基于事務(wù)模型,事務(wù)是數(shù)據(jù)庫的概念。工作流中的事務(wù)比數(shù)據(jù)庫中的要復(fù)雜。
圖形化,
工作流描述語言:
wpdl,psl(chapter 7), wfdl,tsl,wfsl,C&Co(from c)
幾種產(chǎn)品:
IBM MQSeries Workflow,是基于消息的(基于ibm的消息隊(duì)列產(chǎn)品MQSeries),企業(yè)可以采用工作流工具建模其業(yè)務(wù)過程,然后使用BPR工具分析并優(yōu)化其業(yè)務(wù)流程,最后可以將優(yōu)化的過程交給工作流執(zhí)行服務(wù)為執(zhí)行
在創(chuàng)建階段提供的建模工具允許管理員用圖形化的方式描述一個(gè)過程和其中的活動(dòng),并且通過一個(gè)圖形用戶界面可以定義工作流模型中的所有其他信息。還提供函數(shù)定義MQSeries Workflow服務(wù)器的特性和它們的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
用戶可以在建模界面自定義圖標(biāo)。
建模工具還提供一個(gè)重要功能,允許定義活動(dòng)之間的控制流,且允許定義數(shù)據(jù)映射。這個(gè)映射功能可以定義在過程實(shí)例的執(zhí)行過程中,活動(dòng)之間數(shù)據(jù)的傳遞和相關(guān)的傳遞規(guī)則中。
工作流模型
工作流建模就是對經(jīng)營過程進(jìn)行計(jì)算機(jī)化的定義。工作流模型除了支持完整的工作流概念定義,即提供定義工作流所需的所有組件或元素,理想的工作流還應(yīng)該具有強(qiáng)大的描述能力,即能夠描述清楚幾乎所有的業(yè)務(wù)流程類型?,F(xiàn)在還未做到。
工作流不但要表達(dá)經(jīng)營過程中的活動(dòng)及相互關(guān)系,還要對活動(dòng)間傳遞的信息、活動(dòng)的執(zhí)行實(shí)體、活動(dòng)所需資源等定義。因此加入了描述數(shù)據(jù)(信息)、組織、資源等部分。很多工作流產(chǎn)品允許在一定范圍內(nèi)自定義數(shù)據(jù)、人員等。為了更好描述這些信息,將這些描述信息擴(kuò)展為獨(dú)立的模型。如WIDE中的組織模型、信息模型、過程模型共同構(gòu)成工作流模型?;萜諏?shí)驗(yàn)室提出一種層次化的樹狀的資源模型。
為了交互,提出了規(guī)范的描述語言,即工作流定義語言。如WFMC的WPDL,IBM FDL,METEOR2 WIL(Workflow Intermedia Language)
模型的評價(jià)標(biāo)準(zhǔn)【文獻(xiàn)31】:
1表達(dá)能力豐富:提供豐富的建模概念,使得由大量約束集合而成的元素能夠在模型中被直接表達(dá)。
2容易理解:對于專家和普通用戶都能理解
3最小化:模型中的概念的集合是最小化的
4形式化:模型定義能夠作為現(xiàn)實(shí)對象的形式化描述。
1從過程描述入手,基于有向模型:流程圖、狀態(tài)圖、活動(dòng)網(wǎng)絡(luò)圖、EPCM模型。不能處理復(fù)雜的過程邏輯。
2IDEF系列方法:功能建模IDEF0(系統(tǒng)功能結(jié)構(gòu),描述的是功能的輸入、輸出、資源使用情況),信息建模IDEF1/IDEF1x(信息實(shí)體及相互間關(guān)系),動(dòng)態(tài)行為建模IDEF2,過程建模IDEF3(描述過程,過程流網(wǎng),對象狀態(tài)轉(zhuǎn)移網(wǎng)。前者包括不同人員對事件與活動(dòng)、參與事件的對象,以及操縱這些事件的行為之間的約束關(guān)系等),面向?qū)ο蠼DEF4。用于過程建模的:IDEF0,1x,3。
STEP Part 49
基于對話的工作流模型(產(chǎn)品:ActionFlow)
基于活動(dòng)網(wǎng)絡(luò)的過程建模-FlowMark工作流模型
一個(gè)經(jīng)營過程由一個(gè)無自環(huán)的有向圖構(gòu)成。
節(jié)點(diǎn):可執(zhí)行的步驟或任務(wù)。
節(jié)點(diǎn)間的連接弧:過程中的控制流與數(shù)據(jù)流
模型組成元素:process,activity,block,control connector,data connector,conditions
1process:有一系列具體步驟組成,為完成某項(xiàng)定義目標(biāo)而定義。一個(gè)過程就是用一個(gè)有向圖來表示的一個(gè)工作流。
2activity:過程中的每個(gè)步驟就是一個(gè)活動(dòng),在圖中就是用一個(gè)節(jié)點(diǎn)元素表示。分為:program activity:為活動(dòng)綁定了一段程序代碼,活動(dòng)開始就是程序的執(zhí)行;process activity在活動(dòng)基礎(chǔ)上嵌一個(gè)過程,活動(dòng)開始時(shí),就開始了相應(yīng)的過程,process activity主要是用于子過程的嵌套描述與模型的層次化分解?;顒?dòng)的內(nèi)部結(jié)構(gòu):輸入數(shù)據(jù)箱,輸出數(shù)據(jù)箱,開始與結(jié)束條件,狀態(tài),綁定的相應(yīng)程序或過程。
3block:類似于“過程”,區(qū)別是,一個(gè)過程有一個(gè)唯一的標(biāo)識,可以在不同的工作流過程中使用。而模塊沒有這一項(xiàng),只能被一個(gè)工作流過程使用,也具體輸入數(shù)據(jù)箱,輸出數(shù)據(jù)箱。模塊就像begin和end之間的內(nèi)部代碼,而過程則是外部的連接庫代碼(?)。
4control connector:定義活動(dòng)間的執(zhí)行順序,在有向圖中以連接弧表示。當(dāng)連接弧的起始節(jié)點(diǎn)執(zhí)行完畢,工作流機(jī)根據(jù)控制連接弧的定義進(jìn)行過程導(dǎo)航,使連接弧的終止節(jié)點(diǎn)能夠被執(zhí)行。控制連接弧與它們所連接的活動(dòng)節(jié)點(diǎn)構(gòu)成整個(gè)工作流過程的控制邏輯。
5data connector:定義兩個(gè)活動(dòng)間的信息流,在有向圖中也是以連接弧表示。前一個(gè)活動(dòng)的輸出數(shù)據(jù)箱指向后一個(gè)活動(dòng)的輸入數(shù)據(jù)箱,即前一個(gè)活動(dòng)的輸出信息被后一個(gè)活動(dòng)使用。(數(shù)據(jù)箱:工作流相關(guān)數(shù)據(jù),該活動(dòng)執(zhí)行有關(guān)的具體應(yīng)用數(shù)據(jù))
6condition:用于定義過程執(zhí)行中的約束。轉(zhuǎn)移條件:定義control connector上的條件,根據(jù)條件的判斷結(jié)果是真或假,決定是否執(zhí)行下一個(gè)活動(dòng)。開始條件:定義活動(dòng)在什么情況下才能開始執(zhí)行。(區(qū)別兩個(gè)概念:活動(dòng)被使能,活動(dòng)被執(zhí)行。被使能:滿足轉(zhuǎn)移條件,發(fā)生轉(zhuǎn)移時(shí),活動(dòng)有可能被執(zhí)行,稱為被使能。活動(dòng)是否開始執(zhí)行,決定于開始條件。)結(jié)束條件:定義活動(dòng)什么情況才能結(jié)束。當(dāng)活動(dòng)執(zhí)行完,結(jié)束條件就被檢查,如果滿足該條件則結(jié)束活動(dòng),否則活動(dòng)被重新執(zhí)行,直到滿足結(jié)束條件。通過該條件可以定義多次執(zhí)行。(p141)
活動(dòng)狀態(tài)是一個(gè)重要屬性:ready,running,terminated,suspend等。過程的推進(jìn)就是在這些狀態(tài)間的轉(zhuǎn)換。
基于活動(dòng)網(wǎng)絡(luò)的過程建模優(yōu)點(diǎn)不少,缺點(diǎn)是不夠靈活,對緊急事件的應(yīng)變能力不夠。
Event-driven Process Chain
基于語言行為理論的工作流模型
基于Petri網(wǎng)的工作流模型(工作流網(wǎng))-WF-net
事務(wù)模型
事務(wù)的四個(gè)特性:atomicity,consistency,isolation,durability
wpdl的關(guān)鍵字,由空格符分割,區(qū)分大小寫
約定:操作符以O(shè)p結(jié)尾
常量以C結(jié)尾
括號以大寫字母結(jié)尾,如<OpenArrayB>表示數(shù)組定義中的一個(gè)括號(????????)
類型字符用大寫字母書寫,以T結(jié)尾,如<INTEGER-T>表示整數(shù)類型。
其他結(jié)束符以大寫字母書寫。
<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> ::= 空格|回車(CR)|/(?)|換行(LF)
<identifier>::=字母或下劃線開頭,在一對單引號之間。
<cardinal>::=非負(fù)整型數(shù),
<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是工作流參與者類型的一個(gè)實(shí)例。
復(fù)雜數(shù)據(jù):主要用于對數(shù)組、結(jié)構(gòu)、枚舉、表的定義,這些數(shù)據(jù)通常用于表達(dá)工作流相關(guān)數(shù)據(jù)與有關(guān)的擴(kuò)展屬性。
<complex data type>::=<plain data type>|
<RECORD><Member_list><END>//結(jié)構(gòu)類型
|<ARRAY>
<OpenArrayB><cardinal><UPTO><cardinal><CloseArrayB><OF><complex data type>//數(shù)組類型
|<ENUM><element list><END>//枚舉
|<LIST><OF><element type>//表類型
表達(dá)式:(主要用于各種條件的定義,由操作符和操作數(shù)組成的序列,是左結(jié)合的。)
<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>
屬性有預(yù)定義的標(biāo)準(zhǔn)屬性,也可以由軟件供應(yīng)商擴(kuò)展。
參數(shù)(在過程,子過程,應(yīng)用間傳遞數(shù)據(jù)):
<formal parameters>::=[IN_PARAMETERS <parameter list>]
[OUT_PARAMETERS <parameter list>]
<parameter list>::=<parameter>[<parameter list>]
<parameter>::=<data id>//工作流相關(guān)數(shù)據(jù)
形參與實(shí)參的映射:
<parameter map list>::=<OpenB><parameter map><CloseB>
<parameter map>::=<ActualParameterlist>
<ActualParameterlist>把實(shí)參按照順序依次映射給形參。如果出現(xiàn)實(shí)參個(gè)數(shù)不夠,或多了,要提供處理機(jī)制,如設(shè)為零值,或忽略多余的。參數(shù)可以是表達(dá)式。
工作流元模型
在一個(gè)工作流模型中可以定義多個(gè)過程,它們共享工具與參與者,但建議每個(gè)過程一個(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>:模型說明信息,如,WPDL版本,供應(yīng)商信息,創(chuàng)建時(shí)間,
包括一個(gè)<redefinable header>,該部分不但出現(xiàn)在模型的頭定義中,還可以在模型所包含的每個(gè)過程的頭定義中出現(xiàn),其定義未:
<redefinable header>::=[AUTHOR <author>]
[VERSION < >]
[CHARACTERSET <>]
[CODEPAGE <>]
[RESPONSIBLE <>]
[STATUS <publication status>]
<publication status>::=UNDER_REVISION|RELEASED|UNDER_TEST
XPDL
一致類聲明:
用來說明模型是否與WFMC定義的標(biāo)準(zhǔn)相一致,有三種級別,F(xiàn)ULL-BLOCK(全限制,限制很多),LOOP-BLOCK(無自環(huán),即限制循環(huán),循環(huán)用多次執(zhí)行實(shí)現(xiàn)),NON-BLOCK(無限制)
擴(kuò)展庫,其中的函數(shù)與過程直接與工作流機(jī)綁定并在必要時(shí)候進(jìn)行調(diào)用或激活,無需通過第二類接口。
<extended library declaration>::=LIBRARY
<libarary element list>
END_LIBRARY
<library element list>::=<library function>[<library element list>]|<library procedure>[<library element list>]
WPDL允許引用其他的工作流模型或在另外已提供好接口的工作流管理系統(tǒng)中所建立的模型,這些都是通過外部模型聲明來定義的。
<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>
過程定義,包含模型所有活動(dòng)和轉(zhuǎn)移信息。
<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)是怎樣被執(zhí)行的。
<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]
轉(zhuǎn)移限制定義了與活動(dòng)相連的轉(zhuǎn)移結(jié)構(gòu),如分支,匯合
<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>
工作流應(yīng)用定義:應(yīng)用及工具的列表(包括激活時(shí)需要的參數(shù)),在工作流執(zhí)行中被激活或調(diào)用,
工作流相關(guān)數(shù)據(jù):定義了所有在工作流過程或工作流模型中用到的變量,實(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>]
工作流參與者,是組織模型中的元素,他們或者執(zhí)行工作流過程的某部分,或者對其負(fù)責(zé)。參與者的定義要引入外部的組織模型,且定義可以是多種不同的形式,即“類型”。
一個(gè)例子:WfMC TC-1016-X
一個(gè)具體的工作流軟件CIMFlow
模型:
1Activity Network Diagram,可讀性好,
2為了提高過程的描述能力,擴(kuò)展了WFMC的基本語義。特別是融入了“狀態(tài)”的概念(????)
3多視圖,提供除了過程模型外的組織模型,資源模型,工作流相關(guān)數(shù)據(jù)。
組織模型:人員的組織結(jié)構(gòu),提供柔性的組織定義。
資源模型:資源的組織結(jié)構(gòu),提供“物”的支持。
相關(guān)數(shù)據(jù):工作流執(zhí)行中用到的數(shù)據(jù),主要用于各種條件的判斷,以實(shí)現(xiàn)工作流機(jī)對不同活動(dòng)的選擇性路由。
活動(dòng)網(wǎng)絡(luò)圖:節(jié)點(diǎn),連接弧,狀態(tài),條件
節(jié)點(diǎn):
1任務(wù)節(jié)點(diǎn):人工型活動(dòng):需要人參與來完成的,在自動(dòng)化不高的情況下,這種活動(dòng)很多。
自動(dòng)應(yīng)用:不用人參與,直接由工作流管理系統(tǒng)激活相關(guān)應(yīng)用。體現(xiàn)了工作流系統(tǒng)與企業(yè)應(yīng)用間的集成關(guān)系。
過程:人工型、自動(dòng)應(yīng)用都是原子級,過程是個(gè)子工作流。
任務(wù)節(jié)點(diǎn)的可重用設(shè)計(jì),統(tǒng)一任務(wù)節(jié)點(diǎn)的內(nèi)部結(jié)構(gòu),建立輸出到輸入的映射機(jī)制,是提高建模速度,規(guī)范建?;顒?dòng)的重要工作。
任務(wù)節(jié)點(diǎn)的內(nèi)部結(jié)構(gòu)統(tǒng)一為IPO式,節(jié)點(diǎn)間的連接是通過輸入、輸出實(shí)現(xiàn)的。因此,封裝模塊的內(nèi)部細(xì)節(jié),建立O到I的映射,就能夠?qū)崿F(xiàn)重用。從宏觀上看,可重用的工作流就是一個(gè)IPO結(jié)構(gòu),經(jīng)過分解細(xì)化,內(nèi)部的每個(gè)精細(xì)結(jié)構(gòu)也是IPO式的(?????????)。
在重用時(shí),用戶只需定義前驅(qū)的輸出及后繼所需的輸入間的對于關(guān)系即可。
2邏輯節(jié)點(diǎn):不代表真正要執(zhí)行的活動(dòng),表示的是節(jié)點(diǎn)間的邏輯關(guān)系。
支持節(jié)點(diǎn)間的復(fù)雜邏輯關(guān)系:與,或等。(順序,與分支(并行),與連接,或分支,或連接,循環(huán))
空節(jié)點(diǎn)可以表達(dá)復(fù)雜的邏輯。
3標(biāo)志節(jié)點(diǎn):開始節(jié)點(diǎn),結(jié)束節(jié)點(diǎn):為了簡化模型,方便理解。
連接弧:控制連接弧,數(shù)據(jù)連接弧。
在控制連接弧上加上條件可以實(shí)現(xiàn)或分支,循環(huán)邏輯。
數(shù)據(jù)連接?。汗?jié)點(diǎn)在執(zhí)行完畢后,不僅要向與其控制連接弧相連的后繼節(jié)點(diǎn)傳遞數(shù)據(jù),還可能要向其他某些節(jié)點(diǎn)傳遞數(shù)據(jù),而這些節(jié)點(diǎn)又不與之構(gòu)成合理的控制邏輯,無法用控制連接弧表示。因此,引入數(shù)據(jù)連接弧。數(shù)據(jù)連接弧,還可以傳遞物理對象。
上圖中,每一個(gè)葉子節(jié)點(diǎn)在建模工具中,都作為一個(gè)功能部件出現(xiàn)在工具欄中。
狀態(tài):活動(dòng)圖在有些情況下表達(dá)含糊,如當(dāng)控制連接弧轉(zhuǎn)移后,其后繼節(jié)點(diǎn)只是被使能,不一定開始執(zhí)行,這種情況活動(dòng)圖表達(dá)不夠。所以,引入狀態(tài)來表達(dá)。
如上,有七個(gè)狀態(tài),這些狀態(tài)被隱含在活動(dòng)的條件中,無法直接讀出。
條件:定義在工作流數(shù)據(jù)集(相關(guān)數(shù)據(jù),相關(guān)數(shù)據(jù))上的二值函數(shù)。
轉(zhuǎn)移條件:定義在控制連接弧上,前文以敘。
開始條件,
結(jié)束條件:
條件和狀態(tài)都是隱式表達(dá),卻使模型具有類似PETRI的狀態(tài)表達(dá)能力。
組織模型:WFMC沒有提供一個(gè)強(qiáng)大的組織模型,只是對workflow partictipant在role上加以區(qū)分,并由此建立一個(gè)具有層次化的role model。
CIMFlow提供五種實(shí)體:人員,角色,職務(wù),部門,工作組。
角色:按技能
職務(wù):按行政責(zé)任
部門:企業(yè)靜態(tài)結(jié)構(gòu)
工作組:動(dòng)態(tài)組建,跨部門的,
除人員外,其他實(shí)體都是自上而下逐層分解的樹狀結(jié)構(gòu)。如,
組織模型的數(shù)據(jù)的建立與維護(hù)通過專門的組織管理器來實(shí)現(xiàn),基本需求:允許企業(yè)建立自己的組織模型數(shù)據(jù)庫,進(jìn)行人員屬性的定義與組織的劃分。特別要保證數(shù)據(jù)的一致性,因?yàn)椋M織模型種常常出現(xiàn)一對多的實(shí)體關(guān)系。
資源的范圍很廣,在工作流中,應(yīng)注重在生產(chǎn)中起重要作用的那部分,如原材料。
資源種類繁多,但組織形式不復(fù)雜。CIMFlow中,用資源類型和資源個(gè)體來定義。
資源個(gè)體是葉子,是原子的,
類似資源組合在一起,構(gòu)成某種資源類型。
工作流相關(guān)數(shù)據(jù):
是工作流管理系統(tǒng)在進(jìn)行工作流實(shí)例的狀態(tài)轉(zhuǎn)換時(shí)所需要訪問的數(shù)據(jù),這些數(shù)據(jù)可以被工作流機(jī)、工作流參與人員,應(yīng)用程序訪問,修改。
CIMFlow中的相關(guān)數(shù)據(jù)是信息模型的簡化,即只有數(shù)據(jù)定義所需的實(shí)體類型,沒有實(shí)體間關(guān)系的討論。
CIMFlow中,相關(guān)數(shù)據(jù):簡單數(shù)據(jù),對象。
對象,封裝了屬性和方法的復(fù)雜信息實(shí)體。實(shí)際,被作為工作流相關(guān)數(shù)據(jù)的是對象的屬性或方法函數(shù)的返回值。通常將具有特殊含義的信息實(shí)體做為對象,如word文檔,提貨單。對象內(nèi)部隱藏了與具體文件系統(tǒng)、數(shù)據(jù)庫系統(tǒng)交換的細(xì)節(jié)。
對象的最初定義與維護(hù)由對象管理器完成。工作流建模工具只能引用,不能生成對象。
相關(guān)數(shù)據(jù)的定義有作用域限制。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=638687