當前位置:學問谷 >

行業範例 >工程 >

面向系統概念設計的轉換方法論文

面向系統概念設計的轉換方法論文

在系統工程的生命週期中存在一個系統概念設計的階段,對需要開發的系統進行初步的結構與功能設計,其目的是開發一種能夠反映用户對系統的需求和規格的功能原型。在概念設計階段所做的修改與後期具體設計和測試階段的修改相比,花費的成本更少,對系統開發產生的影響更大,因此,如何在系統工程概念設計階段建立有效的概念模型並進行分析是一個重要的問題。研究者們提出了許多用於概念建模的圖形化建模語言來建立概念模型並分析系統的結構和行為,如統一建模語言(UML)、系統建模語言(SysML)、對象過程方法論(OPM)等。UML/SysML在分離的視圖中建立系統結構和行為的模型,而OPM建立整體的層次模型來描述系統,將系統視為一個整體,更加符合系統工程的思想。

面向系統概念設計的轉換方法論文

OPM模型的動態邏輯可以通過推演進行檢查,在一定程度上能夠解決描述系統的動態行為和模型有效性驗證的問題,適合進行概念模型的建模與分析。OPM的不足之處是不能完整描述系統定量的特點,也不能支持精確的仿真和分析,現有一些研究提出了不同的方法來解決OPM定量計算能力不足的問題[1-3]。其中將OPM轉換為着色Petri網(CPN)是一種良好的思路,能夠結合OPM對系統的描述能力與CPN的仿真分析能力,但已有的方法需要對OPM進行擴展,加入由CPN語義定義的額外的信息,同時沒有提出將多層次的OPM模型轉換為有子網的CPN模型的具體方法。針對上述方法的不足,本文在已有的研究基礎上提出了一種新的OPM到CPN的轉換方法,使OPM在概念設計中能夠進行定量的分析與仿真。

1OPM與CPN

1.1OPM介紹

對象過程方法論(OPM)是由Dori提出的一種整體建模語言[4],它結合了面向對象和麪向過程的建模範式,基於整體的模型同時描述系統結構和行為方面的特點,能夠用於對系統的理解和開發。OPM主要的建模元素是實體和連接。實體包括狀態和事物(Thing),事物是對象和過程的總稱。對象是在特定時間與地點以物理或信息形式存在的事物;過程是能夠產生、消耗或影響單一或多個對象的事物,用來描述對象的變化;狀態是對象在特定時間點可能處於的情形,是隸屬於對象的實體。連接包含結構性連接和過程性連接:結構性連接表示對象之間或過程之間靜態的持續關係;過程性連接表示系統的動態行為。OPM管理系統複雜性的方式是通過對細節的分解,而不是將不同的方面分解為不同的視圖,因此建立的OPM模型是整體的層次模型而不是分佈在各個視圖的模型。OPM包括兩種表達方式:圖形表達和文本表達,它們在語義上是完全等價的。對象過程實例工具(OPCAT)[5]是支持使用OPM進行系統開發的軟件環境。

1.2CPN介紹

着色Petri網(CP-netsorCPN)是用於離散事件系統設計、規範、仿真和驗證的圖形化語言[6]。它結合了Petri網和編程語言的能力,可建立層次模型。CPN的建模元素是庫所、變遷、令牌和弧。庫所描述系統可能處於的狀態;變遷描述系統的行為,即狀態的變化;弧描述狀態在變遷發生時變化的方向,可由弧上的表達式描述具體的條件;每一個庫所包含一些令牌,令牌帶有給定類型的數據值,這些數據值的類型即顏色集。顏色集的定義可以使令牌之間相互區分,這也是CPN與Petri網最顯著的區別。CPNTools是支持編輯,仿真和分析CPN的成熟的工具,其嵌入語言是標準ML語言。CPNTools有不同的仿真模式,可運用監視器觀察、干預、控制或修改仿真[7]。在分析方面,CPNTools支持狀態空間分析和表現分析。

2OPM到CPN的轉換方法

OPM和CPN均為圖形化的建模語言,並有一定的聯繫。CPN主要描述了系統狀態的變化,而OPM也能描述系統的狀態,沒有定義狀態的對象可以視為該對象處於存在狀態,OPM中的過程能改變對象及其狀態。OPM與CPN不同,沒有精確的數學定義,難以用嚴格的數學方法定義轉換方法,所以將OPM和CPN的建模元素進行映射,建立一系列的規則實現轉換,這樣由建模元素構建的OPM模型可以轉換為CPN模型。考慮到OPM模型層次性特點,在轉換過程中將轉化規則分為兩個部分:第一部分是實體與連接的轉化規則,將單幅對象過程圖中描述的實體及其關係轉換為CPN;第二部分是層次的轉換規則,將OPM對象過程圖的層次關係轉換為CPN及其子網之間的關係。通過兩個部分規則的轉換可以實現層次性OPM模型轉化為CPN模型。該轉換方法通過程序將OPCAT的xml文件按轉換規則自動變為CPNTools的xml文件,實現了OPM模型到CPN模型的自動轉換。

2.1實體與連接的轉換規則

OPM中的實體包括對象、過程和狀態。OPM中的過程均轉換為CPN中的變遷,因為它們均描述了系統的變化。所有的狀態均轉換為庫所,以“O-S”的形式命名,其中“O”表示狀態所屬的對象的名稱,“S”表示狀態的名稱。對象的轉換分為3種情況處理:1)連接到過程且不包含狀態的對象,轉換為庫所;2)連接到過程且包含一個或多個狀態的對象,不轉換為庫所,對象的連接以連接的轉換規則進行處理;3)沒有過程性連接的對象,無需映射到CPN。因為CPN主要針對系統的行為進行仿真與分析,所以OPM中的結構性連接無需映射到CPN。過程性連接可以劃分為4種類型並分別進行轉換:消耗類連接,手段類連接,結果類連接和過程類連接。消耗類連接包括消耗連接和消耗事件連接,消耗類連接是從一個對象或狀態連接到一個過程,映射為庫所到變遷的弧。一種特殊的情況是連接的起點為對象幷包含n個狀態(n>1)。首先將對象的n個狀態轉換為庫所,過程轉換為變遷。然後建立n條弧,並在所有弧之間添加亦或的邏輯關係。採用亦或關係而不是或關係,是因為亦或關係固定了變遷消耗的令牌的數量。

亦或的邏輯關係是通過CPN的結構表示的,建立n個新的變遷命名為“Pixorrelation”,其中“Pi”表示第i個狀態轉換的庫所的名稱(i=1…n)。n條弧的起點為“Pi”,終點為建立的新變遷“Pixorrelation”。最後,再建立一個以原對象名稱命名的新庫所,將所有的“Pixorrelation”單向連接到的該庫所,並將該庫所單向連接到過程轉換的變遷,便完成了連接的起點為對象幷包含n個狀態(n>1)的消耗類連接的轉換,轉換的結果見表1。如果n=1,則只需將連接的起點改為該狀態轉換的庫所。手段類連接包括實體連接、手段連接、影響連接、手段事件連接和條件連接。主體連接和影響連接是從對象到過程的連接,其他的連接是從對象或狀態到過程的連接。這些對象和狀態可以觸發過程,而自身不會被過程轉變,所以手段類連接映射為庫所和變遷之間雙向的弧。如果連接的起點是有n個狀態的對象,其轉換規則和消耗類連接相似,不同之處是建立的n條弧是雙向的,轉換的結果見表1。結果連接是從過程到對象或狀態的連接,映射為從變遷到庫所的弧。如果連接的終點是帶有n個狀態的對象(n>1),首先將過程轉換為變遷,n個狀態轉換為庫所。然後建立n條弧,弧的起點為過程轉換的變遷,弧的終點是對象的第i個狀態所轉換的庫所(i=1…n)。這些弧之間添加用亦或的邏輯關係,由弧表達式表示。在使用弧表達式之前,需要事先聲明一個新的整數類型的顏色集,以“Xor-O”命名,其中“O”是連接對象的名稱。顏色集的取值範圍為0到n-1。此外聲明一個該顏色集類型的變量,以“xor-O”命名,其值代表了對象的一個特定狀態。弧表達式為“ifxor-O=jthen1`nelseempty”,其中j=0…n-1,代表對象第j+1個狀態。一旦變遷點火,變量“xor-O”將被賦予一個隨機確定的值,如果它等於代表的某一狀態的值,就會將令牌傳遞到該狀態轉換的庫所中,通過弧表達式的條件,可以控制變遷只產生一個狀態。表1展示了該轉換規則的一個例子。

過程類連接包括觸發連接和異常連接,均為兩個過程之間的連接。在轉換過程中,兩個過程轉換為兩個變遷,在兩個變遷之間添加一個新的庫所,以“T1Trigger-Event”或“T2-Exception”命名,其中“T1”和“T2”分別代表連接中起始過程和終點過程的名稱。一個過程類連接將轉換為起始過程到新增庫所的弧以及新增庫所到終點過程的弧,轉換結果見表1。通過實體和連接的轉換規則,可以將沒有層次的OPM模型初步轉換為CPN模型,並且該OPM模型與轉換後的CPN模型在動態的邏輯上具有相同的含義。

2.2層次的轉換規則

在OPM中,管理系統複雜性並建立層次模型的主要機制是放大/縮小,可以使在一個對象或過程內部一系列低層次細節的對象和過程可見/不可見。每一個放大的對象或過程會形成一個新的對象過程圖(OPD),所有的OPD均由放大的對象或過程相互關聯。在CPN中,建立層次模型的主要的機制是替代變遷。替代變遷是一個替代整個網絡結構的.變遷,和替代變遷關聯的庫所是槽庫所,在被替代的網絡中作為子網與父網通訊接口的庫所稱為端口庫所。端口庫所有輸入、輸出或輸入/輸出3種類型的標籤,分別代表輸入端口,輸出端口或輸入/輸出端口。每一個子網的端口庫所都與替代變遷的槽庫所一一對應,其功能是相同的,作為父網與子網之間的連接。因為OPM中放大/縮小的機制優先在過程中使用,在層次轉換規則中放大的過程會轉換為替代變遷,而放大的對象表示的並不是系統動態行為的細節,所以將不會轉換到CPN。將層次OPM模型轉換為帶有子網的CPN模型的規則如下:1)放大的過程轉換為替代變遷。2)如果主過程,即放大的過程,包含一個或多個子過程,則CPN子網不包括由主過程轉換而來的變遷,而僅僅包含所有子過程轉換的子變遷。3)如果主過程轉換的變遷沒有包含在子網中,則所有連接到主過程的連接改為連接到子過程。連接按類型連接到第一個子過程或最後一個子過程。子過程的順序按照連接的邏輯關係,在沒有邏輯關係的情況下,根據它們所在的位置定義。

OPD的時間線是從上到下執行的,第一個子過程在主過程內部的最上方,最後一個子過程在主過程內部的最下方。按照連接的類型劃分:如果主過程是消耗類連接、手段類連接或過程類連接的終點,則將連接的終點改為第一個子過程;如果主過程是結果類連接或過程類連接的起點,則將連接的起點改為最後一個子過程。4)如果一個對象在父OPD和放大OPD中同時出現,且滿足轉換為庫所的條件,則在父OPD中的對象轉換為槽庫所,在放大OPD中的對象轉換為端口庫所。端口庫所的標籤通過對象和主過程的關係進行定義。如果對象的連接類型僅為消耗類連接,則為輸入端口;如果只有結果類連接,則為輸出端口;如果包含手段類連接,則為輸入/輸出端口。同時出現在父OPD和放大OPD的對象所包含的狀態也根據此條規則進行轉換。5)如果消耗類連接和過程類連接同時出現在父OPD和放大OPD中,且在轉換過程中需要新添加庫所,則在進行層次轉換過程中也需要考慮按照規則4)進行轉換。由於CPN邏輯性要求,除了圖形邏輯關係的描述外,還需要定義顏色集和庫所的類型使CPN可以執行,因此需要一些額外的轉換規則:1)聲明默認的顏色集合和變量。默認的顏色集為“INT”,即整數類型;默認變量是“n”是“INT”類型的變量。所有的庫所是INT類型,所有的弧表達式為“n”表示每一個令牌帶有一個整數作為其數據值。用户也可以根據問題補充自定義的聲明和弧表達式,以及相關參數。2)如果庫所不包含任何由變遷連接到該庫所的弧,則該庫所擁有初始的令牌,默認標記為“1`1”,表示有一個數據值為1的令牌。由一個對象中所有狀態轉換的一系列的庫所中,只有一個表示對象初始狀態的庫所會擁有初始令牌。3)如果一個過程沒有輸入,即不是任何連接的終點,將增加一個額外的庫所,名為“PStart”,其中P表示過程的名稱,庫所會連接到該過程轉換為的變遷,該庫所擁有初始令牌。結合實體和連接的轉換規則與層次的轉換規則及補充規則,可以將複雜的層次的OPM模型轉換為CPN模型,並實現邏輯的執行和驗證。

3反潛作戰系統案例研究

現代戰爭逐漸由傳統的陸路作戰轉向海上、空中作戰,反潛作戰作為一種海上作戰樣式具有十分重要的作用。本文結合反潛作戰系統的案例説明該轉換方法在概念設計過程中的應用。在系統工程概念設計階段,設計是一個從頂層開始的過程,從最初模糊的概念到最終包括細節的模型。反潛作戰系統主要由情報偵察節點、指揮決策節點以及火力打擊節點構成,所包含的作戰活動主要是情報信息的採集、指揮決策和火力打擊。隨着作戰活動的開展,會改變目標潛艇的狀態,由此可以建立出反潛作戰系統的初步的模型。圖1是反潛作戰系統的對象過程圖,展示了作戰節點、作戰活動及其相互關係,包括狀態的變化關係。在初步的模型的基礎上,可以通過展開對象或過程進行進一步的設計。如情報偵察節點與火力打擊節點又可以根據所處的物理位置的不同分為空中、水下和水面3部分。空中節點包括反潛機,水面節點包括水面艦艇,水下節點包括潛艇。圖2展示了情報偵察節點放大對象過程圖,可以進一步根據問題細化包含的武器型號數量等有關參數。每一個作戰活動也可以進行放大,描述作戰活動的細節。圖3展示了火力打擊這一作戰活動放大對象過程圖,其中火力打擊可以進步分為跟蹤搜索目標和打擊目標兩個子作戰活動。依據這個簡單的反潛作戰模型,我們可以根據提出的從OPM到CPN的轉換方法進行模型的轉換,圖4和圖5是經過轉換的後的反潛作戰系統的CPN模型。由於CPNTools不支持中文,故轉換時使用以英文命名的OPM模型。圖4中將反潛作戰系統的作戰活動轉換為變遷,並將放大火力打擊活動轉換為圖5中的CPN子網。

4結束語

本文針對系統過程概念設計階段的需求,提出了一種通過轉換OPM建模元素到CPN,進而將OPM模型轉換為CPN模型的方法。該方法不僅實現了從OPM到CPN基本實體和連接的轉換,而且實現了層次模型特徵的轉換。通過該轉換方法能夠結合OPM的描述能力與CPN仿真分析的能力,支持系統工程概念設計階段從概念到細節模型的開發與驗證。在簡單反潛系統中的應用展示了根據提出的方法將OPM建立的概念模型轉換為初步的CPN仿真模型的結果。在某種程度上,它能使系統工程概念設計階段的開發過程更加連續,並更為簡單地開發、分析和驗證模型。在未來,可以進一步提出轉換OPM中時間概念的規則,建立時間CPN模型,並基於OPM元模型對轉換方法進行形式化的定義。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flhy/gongcheng/qedvw6.html