999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

領域模型中關聯(lián)語義的描述邏輯表示與應用

2015-12-26 12:15:26張力生年歡宋輝雷大江
軟件 2015年6期

張力生+年歡+宋輝+雷大江

摘要:從領域模型生成代碼是MDA中模型驅(qū)動開發(fā)過程的重要環(huán)節(jié)。工程中領域模型一般用UML類圖表示,然后生成數(shù)據(jù)訪問層代碼。UML組合關聯(lián)的語義定義不明確,導致從領域模型生成的數(shù)據(jù)訪問層代碼不能精確地實現(xiàn)組合關聯(lián)語義問題的出現(xiàn)。本文研究了描述邏輯CATS、ALCHOIQbr和知識庫查詢,在這三種形式化工具的基礎上提出描述邏輯CATSbqr,使用CATSbqr分析了組合關聯(lián)的語義變化;然后表示了領域模型中增加復雜對象的操作語義,并給出了在數(shù)據(jù)訪問層實現(xiàn)增加操作的算法;最后將這種表示方法應用到銷售單這個典型場景。本文的研究工作為建模工具實現(xiàn)UML組合關聯(lián)自動轉(zhuǎn)換成數(shù)據(jù)訪問層代碼提供了理論基礎。

關鍵詞:領域模型;組合關聯(lián);描述邏輯

中圖分類號:TP301

文獻標識碼:A

DOI:10.3969/j.issn.1003-6970.2015.06.013

本文著錄格式:張力生,年歡,宋輝,等,領域模型中關聯(lián)語義的描述邏輯表示與應用[J].軟件,2015,36(6):66-74

RepresentationandApplicationofDescriptionLogicintheSemanticAssociationinDomainModel

ZHANGLi-shengl,NIANHuanl,SONGHuj2,LEIDa-jiangl[Abstract]:Generatingcodefromthedomainmodelisanimportantpartofmodel-drivendevelopmentprocessinMDA.DomainmodelexpressedbyUMLclassdiagramcangeneratedataaccesslayercode.TheindistinctsemanticsofUMLcompositionassociationcausethegenerateddataaccesslayercodeincompletelyimplementthesemanticofcomposition.ThispaperresearcheddescriptionlogicCATS,ALCHOIQbrandqueryknowledgebaseandproposedCATSbqrlanguagebasedonthesethreetools,andanalyzedthechangesofsemanticsofcompositionassociationbyCATSbqr.Thenwerepresentedthesemanticsofaddingcomplexob.jectsoperationinthedomainmodelandproposedthealgorithmtoimplementtheaddingoperation.Atlast,weappliedthemethodtorepresentingthesalesorderinap-plicationscenarios.Thisworkprovidesapreciseformalpresentationwayfortheprocessofgeneratingdataaccesslayercodefromdomainmodelinmodelingtools.

[Keywords]:Domainmodel;Compositionassociation;Descriptionlogic

0引言

在應用領域中,復雜對象的內(nèi)部存在整體/部分關系[1],它表示對象的部分與這些部分所組成的整體之間的關系,可以用自然語言描述。例如,“頭部是身體的一部分”這句話說明了頭部和身體之間具有整體/部分關系。復雜對象在軟件系統(tǒng)三層架構的業(yè)務邏輯層中被抽象為業(yè)務實體(businessobjects),表示對真實世界的軟件抽象;在數(shù)據(jù)訪問層中被抽象為值對象(valueobjects),通過O/R映射(Ob.jectRelationalMapping)為數(shù)據(jù)庫中的記錄以實現(xiàn)對象持久化。MDA(Model-DrivenArchitecture)是OMG(ObjectManagementGroup)提出的軟件開發(fā)框架[2]。在MDA開發(fā)生命周期[3]中,建模人員對值對象建模得到領域模型,然后借助建模T具從領域模型生成可執(zhí)行的數(shù)據(jù)訪問層代碼。這個過程中的值對象主要是結(jié)構化數(shù)據(jù),結(jié)構化數(shù)據(jù)具有直觀明了的特點[4],對其進行領域建模可以得到關系數(shù)據(jù)模型。領域模型一般用UML類圖表示,描述值對象的靜態(tài)結(jié)構(包括值對象本身和對象間的聯(lián)系)、動態(tài)操作(即增、刪、改、查,簡寫為CRUD)和完整性約束三個方面的內(nèi)容。在領域模型中,對象彼此之間是直接引用,因此不存在引用完整性約束的問題。

使用UML描述模型具有與領域無關的通用模型描述能力,能夠?qū)崿F(xiàn)不同領域子系統(tǒng)模型間的無縫集成‘5]。復雜對象在領域模型中的靜態(tài)結(jié)構可以用UML組合關聯(lián)表示,但是UML標準文本對組合關聯(lián)的語義定義不明確,導致領域模型生成的數(shù)據(jù)訪問層代碼不能精確地實現(xiàn)組合關聯(lián)的語義。基于以上問題,本文提出一種方法使用描述邏輯準確地描述復雜對象在領域模型中的靜態(tài)結(jié)構和動態(tài)操作,使生成的數(shù)據(jù)訪問層代碼實現(xiàn)組合關聯(lián)的語義。

1組合關聯(lián)的語義

1.1UML組合關聯(lián)的語義

UML標準文檔[6]中描述整體/部分關系的關聯(lián)有兩種形式:聚合關聯(lián)(aggregationassociation)和組合關聯(lián)(compositionassociation),它們都是二元關聯(lián)(binaryassociation)。組合是聚合的強關聯(lián)形式,比聚合多了2個約束,第一個約束是部件(part)實例只能同時包含在至多1個組合(composite)實例中,這就要求組合關聯(lián)端(compositeassociationend)重數(shù)的上邊界不能大于[6];第二個約束是部件具有與組合相同的生命周期[7]。UML標準文檔定義了對組合對象的操作,組合實例完全負責部件實例的存在和存儲,刪除組合則它的所有部件都會一起被刪除。組合可以被鏈接進一個具有傳遞刪除特性(transitivedeletioncharacteristics)的有向無環(huán)圖(adirectedacyclicgraph)中,如此一來,刪除圖中一個部件的元素會導致這個元素下的所有子圖元素被刪除。這種現(xiàn)象叫做傳播(propagation),是指當一個操作應用于某個起始對象時,該操作會自動應用到網(wǎng)絡中的對象[8]。

組合關聯(lián)可以用一條帶實心菱形的實線表示,實心菱形的一端連接表示組合的類,另一端連接表示部件的類。

1.2問題的提出

UML標準文檔定義了組合關聯(lián),但沒有明確地說明組合類和組合關聯(lián)代表的具體對象,例如組合類是否代表應用領域中的復雜業(yè)務對象,如果不能,它們有什么聯(lián)系與區(qū)別。另外,標準文檔中也明確地指出了組合關聯(lián)語義的變化點:組合中創(chuàng)建部件的順序和方式尚未定義。這些問題導致了建模T具從領域模型生成數(shù)據(jù)訪問層的代碼沒有準確地實現(xiàn)組合語義。本文使用描述邏輯定義復雜對象的類圖到描述邏輯知識庫的轉(zhuǎn)換規(guī)則,推導UML組合關聯(lián)的語義,從領域模型中復雜對象的靜態(tài)結(jié)構和動態(tài)操作兩方面描述組合關聯(lián)的語義。

2組合語義的描述邏輯表示

描述邏輯是一種研究知識表示和推理領域的形式化方法,能為建模應用領域提供精確的形式化理論支持。本章在描述邏輯CATSbqr、ALCHOIQbr和知識庫查詢的基礎上提m了描述邏輯CATSbqr語言,使用CATSbqr定義了組合關聯(lián)的語義,表示了領域模型中復雜對象的靜態(tài)結(jié)構,為描述領域模型動態(tài)操作的目標對象提供了基礎。

2.1描述羅輯CATSbqr

由于描述邏輯語言CArS[9]不能描述對象的動態(tài)操作語義,本節(jié)在描述邏輯CATS、ALCHOIQbr[10]和知識庫查詢[11]的基礎上提出描述邏輯CATSbqr,使用公理的布爾組合、單獨的關聯(lián)構造算子和查詢表達式擴展了CATS,用于描述領域模型中復雜對象的復雜靜態(tài)結(jié)構和動態(tài)操作。

描述邏輯CATSbqr語言的基本元素是概念(concepts)、聯(lián)系(roles)和個體(individuals)。CATSbqr語言的知識庫包括TBox和ABox兩部分,分別描述應用領域的內(nèi)涵知識和外延知識[13]。本文的研究重點在于復雜對象的術語表示,因此主要討論TBox。

CATSbqr語言的語法和語義分為兩部分:靜態(tài)結(jié)構和動態(tài)操作,靜態(tài)結(jié)構是形式化表示應用領域的結(jié)果,動態(tài)操作表示靜態(tài)結(jié)構中的對象集合在操作中發(fā)生的變化。CATSbqr靜態(tài)結(jié)構的語義由解釋定義。一個解釋I=(AI,.1)由解釋域AI和解釋函數(shù).1構成,解釋域AI是應用領域中對象的集合,解釋函數(shù).1把每個概念名映射為AI的子集,把每個聯(lián)系名映射為AIXAI的子集。CATSbqr描述靜態(tài)結(jié)構的部分構造算子的語法和語義見表1。

CATSbqr動態(tài)操作是通過背景動作[10]使解釋產(chǎn)生變化,這個過程叫做解釋更新[10][14]。動態(tài)操作主要有增、刪、改、查四個動作,使用CATSbqr動作語言和知識庫查詢描述,其語法和語義如表2所示。

2.2組合關聯(lián)語義的準確定義

本節(jié)將通過描述邏輯知識庫斷言的數(shù)學語義表達式推導組合類和組合關聯(lián)的準確語義,說明UML組合類和組合關聯(lián)在建模應用領域的復雜對象時發(fā)生的語義變化。

2.2.1復雜對象業(yè)務語義的描述邏輯表示

整體/部分關系表現(xiàn)為:從完整對象的外部看,這個完整的對象是獨立的、不可再分的,具有原子屬性;從完整對象的內(nèi)部看,整體由部分組成,部分不能脫離整體單獨存在。兩種角度的抽象層次不同,外部的抽象層次比內(nèi)部高。

我們把具有整體/部分關系的對象抽象為復雜對象A,假設復雜對象A具有1個部件C和多個部件D,A和C之間的關系為r,A和D之間的關系為s。使用描述邏輯語言CATSbqr可以將復雜對象A表示為TBox知識庫K1:

說明:Ai、Cl、Dt、T是知識庫中的概念,分別映射到應用領域中一類對象的集合;r.、sl是知識庫中的聯(lián)系,分別映射到應用領域中兩類對象集合的關系。同一個斷言表達式中的概念具有相同的頂域。

斷言2.1:表示應用領域中復雜對象A與部件C和部件D之間的關系,其中概念Ai、Cl、Di的語義分別是:

聯(lián)系rl、sl的語義分別是:

rlI_{(o,o)l(o,o)∈復雜對象A與部件C的關系r},

sll={(O,o)l(o,o)∈復雜對象A與部件D的關系s}。

斷言2.2:表示應用領域中復雜對象A與部件C的1對1關系,其中頂域T的語義是

TI={oIo∈滿足復雜對象A與部件C的關系r的C類型對象)。

斷言2.3:表示應用領域中復雜對象A與部件D的1對多關系,其中頂域T的語義是

TI_{oIoE滿足復雜對象A與部件D的關系s的D類型對象}。

2.2.2UML組合關聯(lián)的描述邏輯表示

根據(jù)類圖的描述邏輯編碼規(guī)則[15]可以把復雜對象的UML類圖自動轉(zhuǎn)換成CATSbqrTBox知識庫。轉(zhuǎn)換的實質(zhì)可以從MDA元建模的層次[16]解釋:在元模型層M2層,UML的元模型根據(jù)轉(zhuǎn)換規(guī)則轉(zhuǎn)換成CATSbqr語言中的元素,例如,UML的類轉(zhuǎn)換成CATSbqr的概念,UML的關聯(lián)轉(zhuǎn)換成CATSbqr的聯(lián)系;在系統(tǒng)模型層Ml層,UML元模型的實例根據(jù)轉(zhuǎn)換規(guī)則轉(zhuǎn)換成CATSbqrTBox知識庫中的斷言。

使用UML組合關聯(lián)對2.2.1節(jié)中抽象出來的復雜對象A進行領域建模,其類圖如圖2.1所示。建模思路是:對于復雜對象A,在圖2.1中用類A2表示,為了滿足關系型數(shù)據(jù)庫的第三范式關系模式,把具有1對多對應關系的部件D從整體A中分離,用類D2表示,復雜對象A和部件D的l對多整體/部分關系用組合關聯(lián)s2表示,重數(shù)[1..1]在A2端,重數(shù)[1..*]在D2端。使用描述邏輯語言CATSbqr可以將復雜對象A的類圖(圖2.1)表示為TBox知識庫K2:

斷言2.4:表示類圖中復雜對象A的類圖包括滿足關聯(lián)s2的組合類A2和滿足關聯(lián)s2的部件類D2。由于部件D從復雜對象A中分離,剩余部分為部件C,因此組合類A2的數(shù)據(jù)實際只有部件C的數(shù)據(jù)。概念T、A2、D2的語義分別是:

TI_{oIoE復雜對象A},

A21={OIO∈部件C},

D21={OIO∈部件D}。

聯(lián)系S2和s2的語義分別是:

(s2)1={(o,o)l(o,o)∈部件D與部件C的關系},

S21={(o,o)l(o,o)∈部件C與部件D的關系}。

斷言2.5:表示類圖中1個A2對象對應多個D:對象,其中概念T的語義是

T1={oIoε滿足部件D與部件C關系的C類型對象}。

斷言2.6:表示類圖中1個D2對象對應1個A2對象,其中概念T的語義是

TI={oIoε滿足部件C與部件D關系的D類型對象}。

2.2.3UML組合類與組合關聯(lián)的語義變化分析

假設圖2.1可以準確地表示整體/部分關系,那么知識庫Ki中的斷言應該與K2中的斷言對應等價。

性質(zhì)1(概念相等和聯(lián)系相等)在描述邏輯知識庫的斷言中,C和D表示兩個概念,r和s表示兩個聯(lián)系,如果C和D的語義相同,r和s的語義相同,即滿足表達式2.7和2.8,

那么概念C和D等價,聯(lián)系r和s等價,即

C-D,r-s。

性質(zhì)1利用描述邏輯的語義說明了知識庫中概念相等和聯(lián)系相等的語義。如果概念C和D的語義相同,即概念C和D通過解釋-1映射到應用領域中的同一種對象,那么概念C等價于概念D,其實質(zhì)是使用不同的概念名表示相同的對象。類似地,如果聯(lián)系r和s的語義相同,即表示應用領域中的同一種對象關系,那么聯(lián)系r等價于聯(lián)系s。

UML組合類與組合關聯(lián)的語義變化分析:根據(jù)斷言2.1和2.4中概念Ai和T的語義可得:

AlI_{oIoε夏雜對象A}=TI

由性質(zhì)1中概念相等表達式2.7可得

A1三T,

同理,

Ci三A2,Di三D2。

根據(jù)斷言2.1和2.4中聯(lián)系rl和Sl-的語義可得:

rlI_{(o,o)l(o,o)∈復雜對象A與部件C的關系r}≠{(o,o)l(o,o)∈部件D與部件C的關系}=(s2)1

由性質(zhì)1中聯(lián)系相等表達式2.9可得

rl+s2,

同理,

S1+S2。

由于斷言2.1和2.4中對應的概念相等,但對應的聯(lián)系不相等,因此從斷言上分析知識庫K:與K,中的斷言不等價。使用替換規(guī)則將斷言2.1中的概念Ai、Cl和Di分別替換為T、A2和D:,得到斷言2.9

下面從斷言2.9和2.4的數(shù)學語義分析組合關聯(lián)的語義,其數(shù)學語義分別如表達式2.10、2.11:

表達式2.10中概念Ai、C1、Di的頂域都為夏雜對象A,因此式中AI的語義是

AI={oIoε復雜對象A}。

表達式2.11中概念T、C2、D2的頂域也是復雜對象A,因此式中A1的語義是

AI={oIoE復雜對象A}。

數(shù)對(o,02)的語義是

(o,02)I∈{(O,o)l(o,o)∈復雜對象A與部件C的關系r},

聯(lián)系s2-的語義是

(s2-)1{(o,o)l(o,o)∈部件D與部件C的關系},

而(o,02)∈(S2-)1,對比表達式2.10和2.11可以發(fā)現(xiàn)S2的語義發(fā)生了變化,部件D與部件C的關系變?yōu)?/p>

變化的原因是類A2隱含了復雜對象A與部件C之間的1對1關系,部件D通過復雜對象A可以確定唯一的部件C實例。同理,聯(lián)系s2的語義從S21={(0,o)l(o,o)∈部件D與部件C的關系}變化為S21={(0,o)l(o,o)∈復雜對象A與部件D的關系s}。

由上分析可得

根據(jù)性質(zhì)1中聯(lián)系相等表達式2.8可得

rl-s2,Sl-S2。

在組合類A2、S-2和S2的語義發(fā)生變化后,使用代入規(guī)則可以將表達式2.4完全轉(zhuǎn)換成2.1,斷言2.1、2.4中的概念和聯(lián)系分別對應相等,斷言的語義也相等,因此斷言2.4與2.1等價。同理,斷言2.5與2.2等價,斷言2.6與2.3等價。

分析以上推導過程可以得到組合類和組合關聯(lián)的語義變化,由于分離了部件D,添加了組合關聯(lián),復雜對象A對應的A2類的靜態(tài)結(jié)構發(fā)生了三個變化:第一個變化是A2類中的數(shù)據(jù)不再是復雜對象A的完整數(shù)據(jù),而是除去部件D以后的剩余部分,即A2類只包括部件C的數(shù)據(jù),但領域建模時仍然以類A2的名字代表完整的復雜對象A,這種處理方式符合白然語言的習慣;第二個變化是類A:雖然只有部件C的數(shù)據(jù),但其類名A:代表了復雜對象A,這種方式隱含了復雜對象A與部件C之間的1對1關系;第三個變化是雖然類A2只有部件C的數(shù)據(jù),但是由于類名A2代表了復雜對象A,組合關聯(lián)s2仍然表示復雜對象A與部件D的整體/部分關系。

3復雜對象動態(tài)操作語義的描述邏輯表示和實現(xiàn)算法

復雜對象作為值對象在領域模型中的結(jié)構具有特殊性,因此在數(shù)據(jù)訪問層中增、刪、改、查復雜對象時需要對這些動態(tài)操作進行準確的語義描述。本節(jié)根據(jù)2.3.3節(jié)的UML組合關聯(lián)語義推導和語義變化分析,定義了領域模型中動態(tài)操作復雜對象的操作語義白動轉(zhuǎn)換成語義表達式的轉(zhuǎn)換規(guī)則,描述了操作復雜對象各部件的方式和順序,并給m這些操作語義在數(shù)據(jù)訪問層代碼中的實現(xiàn)算法。建模T具按照操作語義表達式生成的數(shù)據(jù)訪問層代碼可以實現(xiàn)具有準確語義的UML組合關聯(lián)。

3.1復雜對象動態(tài)操作語義的描述邏輯表示

領域模型中的動態(tài)操作可以用映射Sa表示,用于反映數(shù)據(jù)訪問層增、刪、改、查操作對數(shù)據(jù)庫狀態(tài)產(chǎn)生的變化。數(shù)據(jù)庫狀態(tài)也是對客觀世界的映射結(jié)果,類似于描述邏輯知識庫,也可以用解釋I,:=(△II)定義。解釋函數(shù)-I'的解釋域與描述邏輯CATSbqr的解釋域-1相同,數(shù)據(jù)庫中存放的記錄通過解釋函數(shù)-I‘映射到客觀世界中的對象,解釋I,中的概念是解釋I中對應概念的子集,因此數(shù)據(jù)庫狀態(tài)中的記錄也滿足描述邏輯CATSbqr的TBox和Abox知識庫。映射S。作用于數(shù)據(jù)庫狀態(tài)對應的解釋I上。

領域模型中動態(tài)操作復雜對象的語義可以根據(jù)定義1轉(zhuǎn)換成CATSbqr的操作語義表達式。

定義1(動態(tài)操作復雜對象的語義到操作語義表達式的轉(zhuǎn)化規(guī)則)給定一個組合關聯(lián)的類圖W,若組合類C和部件類D之間的組合關聯(lián)為r,組合端的重數(shù)只能為[1..1],部分端的重數(shù)為[ni..n2]。類圖W對應的知識庫為cp(W),對于組合關聯(lián)r,操作組合類C的同時也操作部件類D。ol和02滿足斷言C(01)、D(02)、r(02,ol)、r(oi,02)。組合類C的動態(tài)操作語義表達式的轉(zhuǎn)換規(guī)則如下:

增加完整的復雜對象的表達示為

刪除完整的復雜對象與添加復雜對象相似,刪除各元素的順序與添加相反,表達式為

查詢完整的復雜對象的表達式為

修改完整的復雜對象的表達式為

在組合關聯(lián)中,執(zhí)行一次組合類對象的操作應涉及的部件類對象的數(shù)量與部件端的重數(shù)相符。

3.2復雜對象動態(tài)操作語義的實現(xiàn)算法

增、刪、改、查的語義可以按照定義1的轉(zhuǎn)化規(guī)則轉(zhuǎn)化成操作語義表達式,優(yōu)先級是從左到右,操作語義表達式的算法實現(xiàn)完全按照表達式的語義和優(yōu)先級執(zhí)行。由于篇幅原因,本文只給m增加操作的實現(xiàn)算法,刪除、修改和查詢算法可以按照類似的過程實現(xiàn)。

以2.2.2節(jié)中的TBox知識庫K2為例,增加完整復雜對象A的動態(tài)操作語義表達式為

Ccreate=D0{02}.C0{ol}.r0{(0l,02)}

(3.1)

更新是兩個解釋中的差異。操作語義表達式3.1的語義是在原解釋域I中增加更新createl中的一個銷售單,使得解釋I變更為解釋I。這個過程需要增加銷售活動對象ol、與o.組成銷售單的銷售商品項對象oz、銷售單與銷售商品項的聯(lián)系(ol,02),增加的02對象和(ol,02)關系的數(shù)量與重數(shù)[1..*]一致,增加操作對應的實現(xiàn)如算法createA(Aa)所示。

4組合關聯(lián)描述邏輯表示的應用

4.1銷售單業(yè)務語義的描述邏輯表示

銷售單是表示顧客所訂商品的名稱、規(guī)格、數(shù)量以及其他與顧客訂貨單有關信息的憑證,作為銷售方內(nèi)部處理顧客訂貨單的依據(jù),用丁記錄一次銷售活動的信息以及在本次銷售活動中所銷售的若干個商品的信息。

對銷售單進行語義分析,抽象出圖4.1所示的示意圖,以描述現(xiàn)實世界中的銷售單,其中,銷售單代表整個銷售單,記為S,用于記錄包含銷售活動和銷售商品項兩部分的完整信息,以描述某次銷售活動的完整情況;銷售活動表示某次銷售活動,記為SO,用于記錄購買單位、日期、單據(jù)編號、經(jīng)辦人等信息,以描述某次銷售活動的總體情況;銷售商品項表示某次銷售活動中所銷售的某個商品,記為SI,用于記錄商品的名稱、規(guī)格、數(shù)量等信息,以描述銷售某個商品的信息。

從整個復雜對象外部的更高抽象層次來看,1張銷售單S包含2種屬性:1個銷售活動S0和至少1件銷售商品SI。使用CATSbqr將銷售單業(yè)務對象的TBox知識庫表示為:

其中,S、SO和SI是概念,語義分別是:

Si={oIo∈銷售單),

SOi={oIo∈銷售活動),

SlI={olo∈銷售商品項)。

st和si是聯(lián)系,語義分別是:

stl={(o,o)l(o,o)∈銷售單與銷售活動的關系),

Sjl={(0,o)l(o,o)∈銷售單與銷售商品項的關系)。

表達式4.2中T的語義是

TI={oIoE參與銷售單與銷售活動關系的銷售活動}。

表達式4.3中T的語義是

TI={oIoE參與銷售單與銷售商品項關系的銷售商品項}。

4.2銷售單類圖的描述邏輯表示

實際工程應用中,在領域建模階段一般用UML描述銷售單,設計出如圖4.2所示的類圖。其中,SalesOrder表示銷售活動,Item表示銷售項,組合關聯(lián)salesitem表示整個復雜對象與Item類間的強關聯(lián),其組合端和部分端的重數(shù)分別為[1..1]和[1..*]。為了更符合工程應用中的情況,圖中增加了Customer、Product兩個類。

從整個復雜對象內(nèi)部的抽象層次來看,1個完整的復雜對象由1個銷售活動實例SO和至少1個銷售商品實例組成,銷售單是銷售活動和銷售商品項的頂域。根據(jù)CATSbqr對類圖的編碼規(guī)則,圖4.2轉(zhuǎn)換成的CATSbqrTBox知識庫為

其中,概念SalesOrder、Item和T的語義分別是:

SalesOrder'={olo∈銷售活動),

ItemI={olo∈銷售商品項),

Ti={oIoE銷售單)。

聯(lián)系salesitem-和salesitem變化后的語義分別是:

(salesitem-)I={(o,o)l(o,o)∈銷售單與銷售活動的關系),

salesitemi={(o,o)l(o,o)∈銷售單與銷售商品項的關系)。

表達式4.4中T的語義是

TI={oIoE滿足銷售單與銷售活動關系的銷售活動}。

表達式4.5中T的語義是

TI={oIoE參與銷售單與銷售商品項關系的銷售商品項}。

4.3增加銷售單操作語義的描述邏輯表示和實現(xiàn)

增加操作的實現(xiàn)算法完全按照增加的操作語義表達式的優(yōu)先級和語義實現(xiàn),刪除、修改和查詢算法實現(xiàn)也可以參照類似的方式。由于篇幅原因,本文只給m增加銷售單操作的實現(xiàn)算法。增加整個銷售單S的動態(tài)操作語義表達式根據(jù)定義1可以描述為

其中ol、02滿足更新createl中的斷言SalesOrder(ol)、Item(02)、salesitem(oi,02)。創(chuàng)建完整銷售單對象S的動態(tài)操作語義表達式SalesOrder。reat。的關鍵代碼實現(xiàn)如算法createSalesOrder所示。

5結(jié)束語

本文針對UML存在組合關聯(lián)語義定義模糊,導致從領域模型自動轉(zhuǎn)換為數(shù)據(jù)訪問層代碼的精確度不足的問題,提出了描述邏輯CATSbqr語言,使用CATSbqr準確地描述了UML組合關聯(lián)的語義,并分析了組合類和組合關聯(lián)的語義變化,另外,使用描述邏輯CATSbqr表示了動態(tài)操作復雜對象數(shù)據(jù)的語義,并通過實例說明了該方法的實用性,為實現(xiàn)領域模型到數(shù)據(jù)訪問層的代碼自動化提供了理論基礎。

致謝在此,向本文提I葉{寶貴意見的評審專家表示衷心的感謝。

參考文獻

[1]WinstonME,ChaffinR,HerrmannD.Ataxonomyofpart-wholerelations[J].Cognitivescience,1987,11(4):417-444.

[2]季文天,郭清菊,馬杰.基于模型驅(qū)動的框架技術在數(shù)據(jù)采集平臺中的分析與應用[J].軟件,2014,35(3):121-124.

[3]BrownAW.Modeldrivenarchitecture:Principlesandpractice[J].Software&SystemsModeling,2004,3(4):314-327.

[4]洪立印;徐蔚然.一種結(jié)構化數(shù)據(jù)關系特征抽取和表示模型[J].軟件,2013,34(12):148-151.

[5]葉新,潘清,董正宏.多領域建模仿真方法綜述[J].軟件,2014,35(3):233-236.

[6]OMG.formal/2011-08-06.uml-Superstructurespecification2.4.1[S].2011-08.http://www.omg.org/spec/UML/2.4.1/Superstructure

[7]

MichaelBlaha,JamesRumbaugh.UML面向?qū)ο蠼Ec設計.第2版[M].北京:人民郵電出版社,2006:66-69.

[8]RumbaughJ.Controllingpropagationofoperationsusingattributesonrelations[C]//ACMSIGPLANNotices.ACM,1988,23(11):285-296.

[9]DeGiacomoG,LenzeriniM.What'sinanaggregate:Foundationsfordescriptionlogicswithtuplesandsets.INTERNATIONAL

[10]CalvaneseD,OrtizM,SimkusM.EvolvingGraphDatabasesunderDescriptionLogicConstraints[C]//DescriptionLogics.2013:120-131.

[11]CalvaneseD,DeGiacomoG,LemboD,etal.Tractablereasonmgandefficientqueryanswermgindescriptionlogics:TheDL-Litefamily[J].JournalofAutomatedreasoning,2007,39(3):385-429.

[12]CalvaneseD,DeGiacomoG,LenzeriniM,etal.View-basedqueryansweringandquerycontainmentoversemistructureddata[C]//DatabaseProgrammingLanguages.SpringerBerlinHeidelberg,2002:40-61.

[13]Thedescriptionlogichandbook:theory,impleruentation,andapplications[M].Cambridgeuniversitypress,2003.

[14]LiuH,LutzC,MilicicM,etal.FoundationsofInstanceLevelUpdatesinExpressiveDescriptionLogics[J].ARTIFICIALINTELLIGENCE,2011,175(18):2170-2197.

[15]BerardiD,CalvaneseD,DeGiacomoG.ReasoningonUMLclassdiagrams[J].ArtificialIntelligence,2005,168(1):70-118.

[16]MellorSJ,ScottK,UhlA,elal.MDAdistilled:principlesofmodel-drivenarchitecturepracticeandpromise[M].Addison-WesleyProfessional,2004.44-389.

主站蜘蛛池模板: 日本www色视频| 国产91小视频在线观看| 视频二区欧美| 久久综合丝袜日本网| 伊人久久婷婷| 国产乱人乱偷精品视频a人人澡| 色网在线视频| 国产真实自在自线免费精品| 一级毛片在线直接观看| 日本精品视频一区二区| 亚洲无码视频一区二区三区| 无码精品国产dvd在线观看9久 | 国产欧美日韩精品综合在线| 国产欧美日韩精品第二区| 四虎永久在线精品影院| 免费无码又爽又黄又刺激网站| 91久久天天躁狠狠躁夜夜| 国产精选自拍| 无码日韩视频| 色哟哟国产精品| 国产亚洲精久久久久久久91| 久久综合伊人 六十路| 97久久精品人人| 中文字幕佐山爱一区二区免费| 亚洲国产黄色| 久久午夜影院| 老司机久久99久久精品播放| 欧美日韩午夜| 中文字幕va| 狠狠亚洲婷婷综合色香| 91色综合综合热五月激情| 98精品全国免费观看视频| 国产午夜福利亚洲第一| 奇米影视狠狠精品7777| 91九色视频网| 一级高清毛片免费a级高清毛片| 五月天丁香婷婷综合久久| 99尹人香蕉国产免费天天拍| 四虎永久在线精品国产免费| 性视频久久| 999福利激情视频| 狠狠ⅴ日韩v欧美v天堂| 欧美精品伊人久久| 欧美色综合久久| 一本一道波多野结衣av黑人在线| 久久国产成人精品国产成人亚洲| 极品国产一区二区三区| 华人在线亚洲欧美精品| 国产极品嫩模在线观看91| 操操操综合网| 亚洲第一黄片大全| 国产精品极品美女自在线| 欧美成人午夜在线全部免费| 免费人成网站在线观看欧美| 亚洲日韩精品欧美中文字幕| 天天综合网亚洲网站| 茄子视频毛片免费观看| 国产 在线视频无码| 欧美另类精品一区二区三区| 亚洲日本中文字幕乱码中文| 热99精品视频| 欧美在线网| 波多野结衣国产精品| 亚洲精品视频免费观看| 黄色一及毛片| 26uuu国产精品视频| 97视频在线精品国自产拍| 国产精品香蕉在线| 亚洲三级色| 天堂岛国av无码免费无禁网站 | 97国产在线视频| 国产又粗又猛又爽| 精品视频一区在线观看| 中日韩一区二区三区中文免费视频| 亚洲天堂免费| 99国产精品免费观看视频| 久久婷婷五月综合色一区二区| 久久综合一个色综合网| 亚洲黄网在线| 国产一区二区三区日韩精品| 四虎国产精品永久在线网址| 国产成人欧美|