- 相關(guān)推薦
面向系統(tǒng)概念設(shè)計的轉(zhuǎn)換方法論文
在系統(tǒng)工程的生命周期中存在一個系統(tǒng)概念設(shè)計的階段,對需要開發(fā)的系統(tǒng)進(jìn)行初步的結(jié)構(gòu)與功能設(shè)計,其目的是開發(fā)一種能夠反映用戶對系統(tǒng)的需求和規(guī)格的功能原型。在概念設(shè)計階段所做的修改與后期具體設(shè)計和測試階段的修改相比,花費(fèi)的成本更少,對系統(tǒng)開發(fā)產(chǎn)生的影響更大,因此,如何在系統(tǒng)工程概念設(shè)計階段建立有效的概念模型并進(jìn)行分析是一個重要的問題。研究者們提出了許多用于概念建模的圖形化建模語言來建立概念模型并分析系統(tǒng)的結(jié)構(gòu)和行為,如統(tǒng)一建模語言(UML)、系統(tǒng)建模語言(SysML)、對象過程方法論(OPM)等。UML/SysML在分離的視圖中建立系統(tǒng)結(jié)構(gòu)和行為的模型,而OPM建立整體的層次模型來描述系統(tǒng),將系統(tǒng)視為一個整體,更加符合系統(tǒng)工程的思想。
OPM模型的動態(tài)邏輯可以通過推演進(jìn)行檢查,在一定程度上能夠解決描述系統(tǒng)的動態(tài)行為和模型有效性驗證的問題,適合進(jìn)行概念模型的建模與分析。OPM的不足之處是不能完整描述系統(tǒng)定量的特點(diǎn),也不能支持精確的仿真和分析,現(xiàn)有一些研究提出了不同的方法來解決OPM定量計算能力不足的問題[1-3]。其中將OPM轉(zhuǎn)換為著色Petri網(wǎng)(CPN)是一種良好的思路,能夠結(jié)合OPM對系統(tǒng)的描述能力與CPN的仿真分析能力,但已有的方法需要對OPM進(jìn)行擴(kuò)展,加入由CPN語義定義的額外的信息,同時沒有提出將多層次的OPM模型轉(zhuǎn)換為有子網(wǎng)的CPN模型的具體方法。針對上述方法的不足,本文在已有的研究基礎(chǔ)上提出了一種新的OPM到CPN的轉(zhuǎn)換方法,使OPM在概念設(shè)計中能夠進(jìn)行定量的分析與仿真。
1OPM與CPN
1.1OPM介紹
對象過程方法論(OPM)是由Dori提出的一種整體建模語言[4],它結(jié)合了面向?qū)ο蠛兔嫦蜻^程的建模范式,基于整體的模型同時描述系統(tǒng)結(jié)構(gòu)和行為方面的特點(diǎn),能夠用于對系統(tǒng)的理解和開發(fā)。OPM主要的建模元素是實(shí)體和連接。實(shí)體包括狀態(tài)和事物(Thing),事物是對象和過程的總稱。對象是在特定時間與地點(diǎn)以物理或信息形式存在的事物;過程是能夠產(chǎn)生、消耗或影響單一或多個對象的事物,用來描述對象的變化;狀態(tài)是對象在特定時間點(diǎn)可能處于的情形,是隸屬于對象的實(shí)體。連接包含結(jié)構(gòu)性連接和過程性連接:結(jié)構(gòu)性連接表示對象之間或過程之間靜態(tài)的持續(xù)關(guān)系;過程性連接表示系統(tǒng)的動態(tài)行為。OPM管理系統(tǒng)復(fù)雜性的方式是通過對細(xì)節(jié)的分解,而不是將不同的方面分解為不同的視圖,因此建立的OPM模型是整體的層次模型而不是分布在各個視圖的模型。OPM包括兩種表達(dá)方式:圖形表達(dá)和文本表達(dá),它們在語義上是完全等價的。對象過程實(shí)例工具(OPCAT)[5]是支持使用OPM進(jìn)行系統(tǒng)開發(fā)的軟件環(huán)境。
1.2CPN介紹
著色Petri網(wǎng)(CP-netsorCPN)是用于離散事件系統(tǒng)設(shè)計、規(guī)范、仿真和驗證的圖形化語言[6]。它結(jié)合了Petri網(wǎng)和編程語言的能力,可建立層次模型。CPN的建模元素是庫所、變遷、令牌和弧。庫所描述系統(tǒng)可能處于的狀態(tài);變遷描述系統(tǒng)的行為,即狀態(tài)的變化;弧描述狀態(tài)在變遷發(fā)生時變化的方向,可由弧上的表達(dá)式描述具體的條件;每一個庫所包含一些令牌,令牌帶有給定類型的數(shù)據(jù)值,這些數(shù)據(jù)值的類型即顏色集。顏色集的定義可以使令牌之間相互區(qū)分,這也是CPN與Petri網(wǎng)最顯著的區(qū)別。CPNTools是支持編輯,仿真和分析CPN的成熟的工具,其嵌入語言是標(biāo)準(zhǔn)ML語言。CPNTools有不同的仿真模式,可運(yùn)用監(jiān)視器觀察、干預(yù)、控制或修改仿真[7]。在分析方面,CPNTools支持狀態(tài)空間分析和表現(xiàn)分析。
2OPM到CPN的轉(zhuǎn)換方法
OPM和CPN均為圖形化的建模語言,并有一定的聯(lián)系。CPN主要描述了系統(tǒng)狀態(tài)的變化,而OPM也能描述系統(tǒng)的狀態(tài),沒有定義狀態(tài)的對象可以視為該對象處于存在狀態(tài),OPM中的過程能改變對象及其狀態(tài)。OPM與CPN不同,沒有精確的數(shù)學(xué)定義,難以用嚴(yán)格的數(shù)學(xué)方法定義轉(zhuǎn)換方法,所以將OPM和CPN的建模元素進(jìn)行映射,建立一系列的規(guī)則實(shí)現(xiàn)轉(zhuǎn)換,這樣由建模元素構(gòu)建的OPM模型可以轉(zhuǎn)換為CPN模型?紤]到OPM模型層次性特點(diǎn),在轉(zhuǎn)換過程中將轉(zhuǎn)化規(guī)則分為兩個部分:第一部分是實(shí)體與連接的轉(zhuǎn)化規(guī)則,將單幅對象過程圖中描述的實(shí)體及其關(guān)系轉(zhuǎn)換為CPN;第二部分是層次的轉(zhuǎn)換規(guī)則,將OPM對象過程圖的層次關(guān)系轉(zhuǎn)換為CPN及其子網(wǎng)之間的關(guān)系。通過兩個部分規(guī)則的轉(zhuǎn)換可以實(shí)現(xiàn)層次性O(shè)PM模型轉(zhuǎn)化為CPN模型。該轉(zhuǎn)換方法通過程序?qū)PCAT的xml文件按轉(zhuǎn)換規(guī)則自動變?yōu)镃PNTools的xml文件,實(shí)現(xiàn)了OPM模型到CPN模型的自動轉(zhuǎn)換。
2.1實(shí)體與連接的轉(zhuǎn)換規(guī)則
OPM中的實(shí)體包括對象、過程和狀態(tài)。OPM中的過程均轉(zhuǎn)換為CPN中的變遷,因為它們均描述了系統(tǒng)的變化。所有的狀態(tài)均轉(zhuǎn)換為庫所,以“O-S”的形式命名,其中“O”表示狀態(tài)所屬的對象的名稱,“S”表示狀態(tài)的名稱。對象的轉(zhuǎn)換分為3種情況處理:1)連接到過程且不包含狀態(tài)的對象,轉(zhuǎn)換為庫所;2)連接到過程且包含一個或多個狀態(tài)的對象,不轉(zhuǎn)換為庫所,對象的連接以連接的轉(zhuǎn)換規(guī)則進(jìn)行處理;3)沒有過程性連接的對象,無需映射到CPN。因為CPN主要針對系統(tǒng)的行為進(jìn)行仿真與分析,所以O(shè)PM中的結(jié)構(gòu)性連接無需映射到CPN。過程性連接可以劃分為4種類型并分別進(jìn)行轉(zhuǎn)換:消耗類連接,手段類連接,結(jié)果類連接和過程類連接。消耗類連接包括消耗連接和消耗事件連接,消耗類連接是從一個對象或狀態(tài)連接到一個過程,映射為庫所到變遷的弧。一種特殊的情況是連接的起點(diǎn)為對象并包含n個狀態(tài)(n>1)。首先將對象的n個狀態(tài)轉(zhuǎn)換為庫所,過程轉(zhuǎn)換為變遷。然后建立n條弧,并在所有弧之間添加亦或的邏輯關(guān)系。采用亦或關(guān)系而不是或關(guān)系,是因為亦或關(guān)系固定了變遷消耗的令牌的數(shù)量。
亦或的邏輯關(guān)系是通過CPN的結(jié)構(gòu)表示的,建立n個新的變遷命名為“Pixorrelation”,其中“Pi”表示第i個狀態(tài)轉(zhuǎn)換的庫所的名稱(i=1…n)。n條弧的起點(diǎn)為“Pi”,終點(diǎn)為建立的新變遷“Pixorrelation”。最后,再建立一個以原對象名稱命名的新庫所,將所有的“Pixorrelation”單向連接到的該庫所,并將該庫所單向連接到過程轉(zhuǎn)換的變遷,便完成了連接的起點(diǎn)為對象并包含n個狀態(tài)(n>1)的消耗類連接的轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果見表1。如果n=1,則只需將連接的起點(diǎn)改為該狀態(tài)轉(zhuǎn)換的庫所。手段類連接包括實(shí)體連接、手段連接、影響連接、手段事件連接和條件連接。主體連接和影響連接是從對象到過程的連接,其他的連接是從對象或狀態(tài)到過程的連接。這些對象和狀態(tài)可以觸發(fā)過程,而自身不會被過程轉(zhuǎn)變,所以手段類連接映射為庫所和變遷之間雙向的弧。如果連接的起點(diǎn)是有n個狀態(tài)的對象,其轉(zhuǎn)換規(guī)則和消耗類連接相似,不同之處是建立的n條弧是雙向的,轉(zhuǎn)換的結(jié)果見表1。結(jié)果連接是從過程到對象或狀態(tài)的連接,映射為從變遷到庫所的弧。如果連接的終點(diǎn)是帶有n個狀態(tài)的對象(n>1),首先將過程轉(zhuǎn)換為變遷,n個狀態(tài)轉(zhuǎn)換為庫所。然后建立n條弧,弧的起點(diǎn)為過程轉(zhuǎn)換的變遷,弧的終點(diǎn)是對象的第i個狀態(tài)所轉(zhuǎn)換的庫所(i=1…n)。這些弧之間添加用亦或的邏輯關(guān)系,由弧表達(dá)式表示。在使用弧表達(dá)式之前,需要事先聲明一個新的整數(shù)類型的顏色集,以“Xor-O”命名,其中“O”是連接對象的名稱。顏色集的取值范圍為0到n-1。此外聲明一個該顏色集類型的變量,以“xor-O”命名,其值代表了對象的一個特定狀態(tài);”磉_(dá)式為“ifxor-O=jthen1`nelseempty”,其中j=0…n-1,代表對象第j+1個狀態(tài)。一旦變遷點(diǎn)火,變量“xor-O”將被賦予一個隨機(jī)確定的值,如果它等于代表的某一狀態(tài)的值,就會將令牌傳遞到該狀態(tài)轉(zhuǎn)換的庫所中,通過弧表達(dá)式的條件,可以控制變遷只產(chǎn)生一個狀態(tài)。表1展示了該轉(zhuǎn)換規(guī)則的一個例子。
過程類連接包括觸發(fā)連接和異常連接,均為兩個過程之間的連接。在轉(zhuǎn)換過程中,兩個過程轉(zhuǎn)換為兩個變遷,在兩個變遷之間添加一個新的庫所,以“T1Trigger-Event”或“T2-Exception”命名,其中“T1”和“T2”分別代表連接中起始過程和終點(diǎn)過程的名稱。一個過程類連接將轉(zhuǎn)換為起始過程到新增庫所的弧以及新增庫所到終點(diǎn)過程的弧,轉(zhuǎn)換結(jié)果見表1。通過實(shí)體和連接的轉(zhuǎn)換規(guī)則,可以將沒有層次的OPM模型初步轉(zhuǎn)換為CPN模型,并且該OPM模型與轉(zhuǎn)換后的CPN模型在動態(tài)的邏輯上具有相同的含義。
2.2層次的轉(zhuǎn)換規(guī)則
在OPM中,管理系統(tǒng)復(fù)雜性并建立層次模型的主要機(jī)制是放大/縮小,可以使在一個對象或過程內(nèi)部一系列低層次細(xì)節(jié)的對象和過程可見/不可見。每一個放大的對象或過程會形成一個新的對象過程圖(OPD),所有的OPD均由放大的對象或過程相互關(guān)聯(lián)。在CPN中,建立層次模型的主要的機(jī)制是替代變遷。替代變遷是一個替代整個網(wǎng)絡(luò)結(jié)構(gòu)的變遷,和替代變遷關(guān)聯(lián)的庫所是槽庫所,在被替代的網(wǎng)絡(luò)中作為子網(wǎng)與父網(wǎng)通訊接口的庫所稱為端口庫所。端口庫所有輸入、輸出或輸入/輸出3種類型的標(biāo)簽,分別代表輸入端口,輸出端口或輸入/輸出端口。每一個子網(wǎng)的端口庫所都與替代變遷的槽庫所一一對應(yīng),其功能是相同的,作為父網(wǎng)與子網(wǎng)之間的連接。因為OPM中放大/縮小的機(jī)制優(yōu)先在過程中使用,在層次轉(zhuǎn)換規(guī)則中放大的過程會轉(zhuǎn)換為替代變遷,而放大的對象表示的并不是系統(tǒng)動態(tài)行為的細(xì)節(jié),所以將不會轉(zhuǎn)換到CPN。將層次OPM模型轉(zhuǎn)換為帶有子網(wǎng)的CPN模型的規(guī)則如下:1)放大的過程轉(zhuǎn)換為替代變遷。2)如果主過程,即放大的過程,包含一個或多個子過程,則CPN子網(wǎng)不包括由主過程轉(zhuǎn)換而來的變遷,而僅僅包含所有子過程轉(zhuǎn)換的子變遷。3)如果主過程轉(zhuǎn)換的變遷沒有包含在子網(wǎng)中,則所有連接到主過程的連接改為連接到子過程。連接按類型連接到第一個子過程或最后一個子過程。子過程的順序按照連接的邏輯關(guān)系,在沒有邏輯關(guān)系的情況下,根據(jù)它們所在的位置定義。
OPD的時間線是從上到下執(zhí)行的,第一個子過程在主過程內(nèi)部的最上方,最后一個子過程在主過程內(nèi)部的最下方。按照連接的類型劃分:如果主過程是消耗類連接、手段類連接或過程類連接的終點(diǎn),則將連接的終點(diǎn)改為第一個子過程;如果主過程是結(jié)果類連接或過程類連接的起點(diǎn),則將連接的起點(diǎn)改為最后一個子過程。4)如果一個對象在父OPD和放大OPD中同時出現(xiàn),且滿足轉(zhuǎn)換為庫所的條件,則在父OPD中的對象轉(zhuǎn)換為槽庫所,在放大OPD中的對象轉(zhuǎn)換為端口庫所。端口庫所的標(biāo)簽通過對象和主過程的關(guān)系進(jìn)行定義。如果對象的連接類型僅為消耗類連接,則為輸入端口;如果只有結(jié)果類連接,則為輸出端口;如果包含手段類連接,則為輸入/輸出端口。同時出現(xiàn)在父OPD和放大OPD的對象所包含的狀態(tài)也根據(jù)此條規(guī)則進(jìn)行轉(zhuǎn)換。5)如果消耗類連接和過程類連接同時出現(xiàn)在父OPD和放大OPD中,且在轉(zhuǎn)換過程中需要新添加庫所,則在進(jìn)行層次轉(zhuǎn)換過程中也需要考慮按照規(guī)則4)進(jìn)行轉(zhuǎn)換。由于CPN邏輯性要求,除了圖形邏輯關(guān)系的描述外,還需要定義顏色集和庫所的類型使CPN可以執(zhí)行,因此需要一些額外的轉(zhuǎn)換規(guī)則:1)聲明默認(rèn)的顏色集合和變量。默認(rèn)的顏色集為“INT”,即整數(shù)類型;默認(rèn)變量是“n”是“INT”類型的變量。所有的庫所是INT類型,所有的弧表達(dá)式為“n”表示每一個令牌帶有一個整數(shù)作為其數(shù)據(jù)值。用戶也可以根據(jù)問題補(bǔ)充自定義的聲明和弧表達(dá)式,以及相關(guān)參數(shù)。2)如果庫所不包含任何由變遷連接到該庫所的弧,則該庫所擁有初始的令牌,默認(rèn)標(biāo)記為“1`1”,表示有一個數(shù)據(jù)值為1的令牌。由一個對象中所有狀態(tài)轉(zhuǎn)換的一系列的庫所中,只有一個表示對象初始狀態(tài)的庫所會擁有初始令牌。3)如果一個過程沒有輸入,即不是任何連接的終點(diǎn),將增加一個額外的庫所,名為“PStart”,其中P表示過程的名稱,庫所會連接到該過程轉(zhuǎn)換為的變遷,該庫所擁有初始令牌。結(jié)合實(shí)體和連接的轉(zhuǎn)換規(guī)則與層次的轉(zhuǎn)換規(guī)則及補(bǔ)充規(guī)則,可以將復(fù)雜的層次的OPM模型轉(zhuǎn)換為CPN模型,并實(shí)現(xiàn)邏輯的執(zhí)行和驗證。
3反潛作戰(zhàn)系統(tǒng)案例研究
現(xiàn)代戰(zhàn)爭逐漸由傳統(tǒng)的陸路作戰(zhàn)轉(zhuǎn)向海上、空中作戰(zhàn),反潛作戰(zhàn)作為一種海上作戰(zhàn)樣式具有十分重要的作用。本文結(jié)合反潛作戰(zhàn)系統(tǒng)的案例說明該轉(zhuǎn)換方法在概念設(shè)計過程中的應(yīng)用。在系統(tǒng)工程概念設(shè)計階段,設(shè)計是一個從頂層開始的過程,從最初模糊的概念到最終包括細(xì)節(jié)的模型。反潛作戰(zhàn)系統(tǒng)主要由情報偵察節(jié)點(diǎn)、指揮決策節(jié)點(diǎn)以及火力打擊節(jié)點(diǎn)構(gòu)成,所包含的作戰(zhàn)活動主要是情報信息的采集、指揮決策和火力打擊。隨著作戰(zhàn)活動的開展,會改變目標(biāo)潛艇的狀態(tài),由此可以建立出反潛作戰(zhàn)系統(tǒng)的初步的模型。圖1是反潛作戰(zhàn)系統(tǒng)的對象過程圖,展示了作戰(zhàn)節(jié)點(diǎn)、作戰(zhàn)活動及其相互關(guān)系,包括狀態(tài)的變化關(guān)系。在初步的模型的基礎(chǔ)上,可以通過展開對象或過程進(jìn)行進(jìn)一步的設(shè)計。如情報偵察節(jié)點(diǎn)與火力打擊節(jié)點(diǎn)又可以根據(jù)所處的物理位置的不同分為空中、水下和水面3部分?罩泄(jié)點(diǎn)包括反潛機(jī),水面節(jié)點(diǎn)包括水面艦艇,水下節(jié)點(diǎn)包括潛艇。圖2展示了情報偵察節(jié)點(diǎn)放大對象過程圖,可以進(jìn)一步根據(jù)問題細(xì)化包含的武器型號數(shù)量等有關(guān)參數(shù)。每一個作戰(zhàn)活動也可以進(jìn)行放大,描述作戰(zhàn)活動的細(xì)節(jié)。圖3展示了火力打擊這一作戰(zhàn)活動放大對象過程圖,其中火力打擊可以進(jìn)步分為跟蹤搜索目標(biāo)和打擊目標(biāo)兩個子作戰(zhàn)活動。依據(jù)這個簡單的反潛作戰(zhàn)模型,我們可以根據(jù)提出的從OPM到CPN的轉(zhuǎn)換方法進(jìn)行模型的轉(zhuǎn)換,圖4和圖5是經(jīng)過轉(zhuǎn)換的后的反潛作戰(zhàn)系統(tǒng)的CPN模型。由于CPNTools不支持中文,故轉(zhuǎn)換時使用以英文命名的OPM模型。圖4中將反潛作戰(zhàn)系統(tǒng)的作戰(zhàn)活動轉(zhuǎn)換為變遷,并將放大火力打擊活動轉(zhuǎn)換為圖5中的CPN子網(wǎng)。
4結(jié)束語
本文針對系統(tǒng)過程概念設(shè)計階段的需求,提出了一種通過轉(zhuǎn)換OPM建模元素到CPN,進(jìn)而將OPM模型轉(zhuǎn)換為CPN模型的方法。該方法不僅實(shí)現(xiàn)了從OPM到CPN基本實(shí)體和連接的轉(zhuǎn)換,而且實(shí)現(xiàn)了層次模型特征的轉(zhuǎn)換。通過該轉(zhuǎn)換方法能夠結(jié)合OPM的描述能力與CPN仿真分析的能力,支持系統(tǒng)工程概念設(shè)計階段從概念到細(xì)節(jié)模型的開發(fā)與驗證。在簡單反潛系統(tǒng)中的應(yīng)用展示了根據(jù)提出的方法將OPM建立的概念模型轉(zhuǎn)換為初步的CPN仿真模型的結(jié)果。在某種程度上,它能使系統(tǒng)工程概念設(shè)計階段的開發(fā)過程更加連續(xù),并更為簡單地開發(fā)、分析和驗證模型。在未來,可以進(jìn)一步提出轉(zhuǎn)換OPM中時間概念的規(guī)則,建立時間CPN模型,并基于OPM元模型對轉(zhuǎn)換方法進(jìn)行形式化的定義。
【面向系統(tǒng)概念設(shè)計的轉(zhuǎn)換方法論文】相關(guān)文章:
管理系統(tǒng)設(shè)計論文03-28
工業(yè)廠房除塵系統(tǒng)設(shè)計論文07-03
電話營銷系統(tǒng)設(shè)計要點(diǎn)分析的論文07-04
考試分析管理系統(tǒng)設(shè)計與實(shí)現(xiàn)的論文07-03