• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      UML類圖元模型基于描述邏輯的表示及驗證

      2015-11-14 03:20:32李晶晶郭雨婷王米利
      關鍵詞:類圖枚舉子類

      李晶晶,江 濤,郭雨婷,李 迪,王米利

      (云南民族大學數(shù)學與計算機科學學院昆明650500)

      本文在現(xiàn)有的描述邏輯[1-4]知識表示方法和 UML類圖模型形式化表示方法[5-8]的基礎上,結(jié)合國內(nèi)外UML類圖元模型的相關成果[9-13],提出一種UML類圖元模型基于描述邏輯的表示及驗證的方法.該方法在UML類圖元模型構(gòu)建的約束規(guī)則集的基礎上,可以有效地實現(xiàn)UML類圖元模型與其構(gòu)建模型間的一致性驗證問題.但是必須說明的是,正如文獻[9-11]中所研究的,本文只是截取了UML類圖元模型的一個子集進行表示和驗證.

      1 描述邏輯SHOIN(D)

      1)在描述邏輯SHOIN(D)語言中,概念和屬性的語法規(guī)則如下[3-4]:

      2)語義規(guī)則如下[3-4]:

      其中,A表示原子概念,C表示復合概念,R和S表示抽象角色,T表示具體角色,D表示抽象數(shù)據(jù)類型,d表示具體數(shù)據(jù)類型;┬表示頂層概念,是其他所有概念的父概念;⊥表示底層概念,是矛盾的概念,是所有其他概念的子概念;?表示否定,∩表示合取(conjunction),∪表示析取(disjunction),?表示存在量詞(existential quantification),?表示值限定(value restriction)[3].

      2 約束規(guī)則集的構(gòu)建

      2.1 UML類圖元模型的提取

      由于UML類圖元模型的龐大性和復雜性,正如文獻[9-11]中所研究的,本文只截取UML類圖元模型的一個子集進行約束規(guī)則集的構(gòu)建.即對于UML類圖元模型,我們忽略一些構(gòu)造子.但是,這些處理不會對UML類圖元模型的語義一致性產(chǎn)生影響.如圖1是本文截取的UML類圖元模型的一個子集,該UML類圖元模型包含 Classifier、Class、property、Operation、Parameter以及類圖元模型里面的各種關系.

      2.2 約束規(guī)則集的構(gòu)建

      在文獻[2,5-8]中都已經(jīng)給出UML類圖中基本構(gòu)造子在描述邏輯SHOIN(D)中的表示.在此,本文直接給出UML類圖元模型中的泛化關系和組合關系基于描述邏輯SHOIN(D)的表示.

      2.2.1 泛化關系的約束規(guī)則

      本文只給出 Classifier與 Class、Interface、Signal、Datatype以及Association之間的泛化關系,Relationship與Association和DirectedRelationship之間的泛化關系,以及DirectedRelationship與Generalization、InterfaceRealization、Dependency之間的泛化關系可以類似給出.

      1)父類泛化為多個子類.即,父類Classifier可以泛化為子類 Class、Interface、Signal、Datatype 以及Association:

      Class?Classifier,DataType?Classifier,

      Interface?Classifier,Association?Classifier,

      Signal?Classifier.

      2)子類之間的不相交泛化.即,子類Class、Interface、Signal、Datatype 以及 Association 之間互不相交:

      Class?? DataType∩? Interface∩?

      Association∩? Signal.

      DataType?? Class∩? Interface∩?Association∩? Signal.

      Interface?? Class∩? DataType∩?

      Association∩? Signal.

      Association?? Class∩? DataType∩?

      Interface∩? Signal.

      Signal?? Class∩? DataType∩?

      Interface∩? Association.

      3)子類之間的完全覆蓋泛化.即,子類Class、Interface、Signal、Datatype 以及 Association 將父類Classifier完全覆蓋:

      Classifier≡Class∪DataType∪Interface∪

      Association∪Signal.

      2.2.2 組合關系的約束規(guī)則

      由圖1的類圖元模型,我們觀察到Class、Interface、Signal、Datatype 以及 Association 都有 Property,且它們與Property之間都是組合關系.在此我們規(guī)定,對于一個具體的Property(P),當Property(P)與Class形成組合關系時,Property(P)與Interface、Signal、Datatype以及 Association不形成組合關系.同理,其他也適用.

      Property、Operation與Class之間組合關系.即,一個Class可以沒有Property和Operation,也可以有多個Property和Operation.同樣也適合于Interface、Signal、Datatype以及 Association 中:

      Class? (?ownedAttribute.Property)∩ (≥0ownedAttribute.Property),

      Property?(?class.Class)∩(≥0class.Class)∩(≤1class.Class)Class?(?ownedO peration.Operation)∩(≥0ownedOperation.Operation),

      Operation? (?class.Class)∩ (=1class.Class).

      2.2.3 類的屬性的約束規(guī)則

      1)屬性的重數(shù)約束規(guī)則,如下[7]:

      C?(≥min a)∩(≤max a).

      其中,類C用原子概念C表示,類的屬性a用原子關系a表示.注意:屬性上,若多重性沒有給出,缺省值是 0…*[10].

      2)屬性的枚舉值約束規(guī)則.枚舉值表示枚舉元類屬性的列舉值.我們用3條規(guī)則來表達枚舉元類包含的信息,分別是:枚舉值的可區(qū)分性、枚舉值的類型和枚舉元類的完全性.由于用推理機Racer對UML類圖元模型進行一致性檢測過程中,枚舉值的類型和枚舉元類的完全性的影響很小,因此本文只對枚舉值的可區(qū)分性進行描述.

      枚舉值的可區(qū)分性規(guī)則用SHOIN(D)表示如下:

      其中,原子概念A1和A2分別對應于枚舉值a和b.

      由圖1的類圖元模型,枚舉元類ParameterDirectionKind定義了 4個枚舉值 in,out,inout和 return.對ParameterDirectionKind的可區(qū)分性用SHOIN(D)描述如下.

      in?? out,in?? inout,in?? return,…,

      return?? inout.

      in?? out∪? inout∪? return.

      out?? in∪? inout∪? return.

      inout?? in∪? out∪? return.

      return?? in∪? out∪? inout.

      2.2.4 關聯(lián)關系的約束規(guī)則

      1)關聯(lián)關系的類型約束規(guī)則.對由C1到C2之間含有類型A的二元關聯(lián),約束規(guī)則如下(如圖2所示):A?C1∩C2.即,對于從A導出的二元關系A,若第1個參數(shù)是以C1為類型的元素,則第2個參數(shù)必須以C2為類型.

      2)關聯(lián)關系的多重性約束規(guī)則.對由C1到C1且?guī)в卸嘀匦訫的二元關聯(lián)A,根據(jù)M的不同情況,給出以下形式的規(guī)則(如圖2所示):

      C1?(≥min A.C2)∩(≤max A.C2);C2?(≥min A-.C1)∩(≤max A-.C1).

      注意:關聯(lián)端點上沒有給出多重性,意味著多重性是 1[10].

      3)帶角色關聯(lián)的多重性約束規(guī)則.對由C1到C2的二元關聯(lián)A,令R1是A在C1端的端點名,R2是A在C2端的端點名,M1是R1上的重數(shù),M2是R2上的重數(shù)(其中 M1、M2均有 min、max),則有如下規(guī)則(如圖3所示):

      A?R1∩R2∩?R1.C1∩?R2.C2,

      C1?(≥min R2.C2)∩(≤max R2.C2),

      C2?(≥min R1.C1)∩(≤max R1.C1).

      其中,在關聯(lián)關系A中,定義域概念C1實例的重數(shù)大于最小值min,小于最大值max;值域概念C2實例的重數(shù)大于最小值min,小于最大值max.

      由圖1的類圖元模型,Association與Property之間的關聯(lián)關系是一種帶角色和多重性的關聯(lián)關系,具體表示如下:

      Association?≥2memberEnd.Property,

      Property?(≥0association.Association)∪(≤1association.Association).

      即關聯(lián)關系可以有關聯(lián)角色和多重性,且當關聯(lián)角色確定以后,關聯(lián)關系兩端的類唯一確定.

      其他關聯(lián)關系之間的規(guī)則同上.

      3 一致性驗證

      3.1 相關定義

      在文獻[13]的基礎上給出以下定義:

      定義1:類圖元模型的邏輯一致性.如果一個類圖元模型的約束規(guī)則集Lx是邏輯一致的,形式化地說,類圖元模型的約束規(guī)則集Lx中的每個關系式在推理機Racer中都不存在矛盾,則我們稱類圖元模型是邏輯一致的;反之,如果一個類圖元模型的約束規(guī)則集Lx是邏輯不一致的,形式化地說,類圖元模型的約束規(guī)則集Lx中的關系式之間在推理機Racer中存在矛盾,則我們稱類圖元模型是邏輯不一致的.

      由于手工推理的復雜性,在此,我們借助推理機Racer來對UML類圖元模型進行一致性的驗證.將UML類圖元模型的約束規(guī)則集放入Racer里面,經(jīng)驗證UML類圖元模型是邏輯一致的.

      定義2:類圖模型—元模型間的邏輯一致性.如果一個類圖模型滿足類圖元模型,形式化地說,類圖模型對應的結(jié)構(gòu)語義集L1在推理機Racer中滿足類圖元模型的約束規(guī)則集Lx,則我們稱類圖模型對應于類圖元模型是邏輯一致的;反之,如果一個類圖模型不滿足類圖元模型,形式化地說,類圖模型對應的結(jié)構(gòu)語義集L1在推理機Racer中存在不滿足類圖元模型的約束規(guī)則集Lx,則我們稱類圖模型對應于類圖元模型是邏輯不一致的.

      其中,L1表示類圖模型基于描述邏輯SHOIN(D)的結(jié)構(gòu)語義集,Lx表示類圖元模型基于描述邏輯SHOIN(D)的約束規(guī)則集.

      3.2 模型研究

      在此,我們借助推理機Racer對UML類圖模型進行一致性的驗證.將UML類圖元模型的約束規(guī)則集和UML類圖模型的結(jié)構(gòu)語義集放入Racer里面.經(jīng)驗證,UML類圖模型里面存在以下矛盾:

      1)Student與Doctor和Graduate之間的泛化關系違背了子類的完全覆蓋泛化規(guī)則.

      眾所周知,University里面的Student一定包含UniversityStudent.即,一定存在

      Class(Universitystudent)?Class(Student).

      而圖4中的UML類圖模型里面的Student只包含Doctor和Graduate.即,只存在

      Class(Doctor)?Class(Student),

      Class(Graduate)?Class(Student).

      2)Mary與Doctor和Graduate之間的泛化關系違背了子類的不相交泛化規(guī)則.

      作為一名具體的學生類Mary,她即是Doctor又是Graduate.即,下列結(jié)構(gòu)語義同時存在

      Class(Mary)?Class(Doctor),

      Class(Mary)?Class(Graduate).

      這在類圖里面是不允許的,且與現(xiàn)實情況不相符.

      3)Student與Course以及Course與Instructor之間的關聯(lián)關系均違背了關聯(lián)關系的類型約束規(guī)則.

      Student與Course之間是Attends的關系,Course與Instructor之間是 Teacher的關系.而圖4中的UML類圖模型得到的結(jié)構(gòu)語義規(guī)則與之正好相反.

      Association(Teacher)?Class(Student)∩Class(Course),

      Association(Attends)?Class(Course)∩Class(Instructor).

      由上述驗證結(jié)果可知,該UML類圖模型對應于UML類圖元模型是邏輯不一致的.

      4 結(jié)語

      本文針對UML類圖元模型的非形式化表示方法,在深入分析UML類圖模型形式化表示及提取UML類圖元模型的一個子集的基礎上,構(gòu)建了UML類圖元模型基于描述邏輯SHOIN(D)的約束規(guī)則集,并借助推理工具Racer驗證了UML類圖元模型與其構(gòu)建模型之間的一致性.下一步的工作包括不斷完善UML類圖元模型的約束規(guī)則集、開發(fā)一種軟件來實現(xiàn)UML類圖元模型的自動推理引擎以及對UML類圖模型的自動形式化描述與一致性驗證功能.

      [1]Object Management Group.OMG final adopted specification[EB/OL].[2006-8-23]http://www.omg.org/bpmn/Documents/OMG_Final_Adopted_BPMN_1-0_Spec_06-02-01.Pdf.

      [2]吳建,鄭潮,汪杰.UML基礎與Rose建模案例[M].北京:人民郵電出版社,2004.

      [3]BAADER F,NUTT W.Basic description logic[M].Cambridge,UK:Cambridge University Press,2003.

      [4]ROSSI F,BEEK P,WALSH T.Handbook of Constraint Programming[M].Amsterdam:Elsevier,2006.

      [5]郝斐,董慶超,曾廣軍.一種基于描述邏輯的UML模型驗證方法[J].計算機與數(shù)字工程,2011(11):58-62.

      [6]齊玉東,楊斌,李瑛,等.基于描述邏輯的Onto UML模型的形式化表示[J].計算機工程與科學,2012(7):89-92.

      [7]董慶超,王智學,張愛輝,等.基于UML類圖模型的一致性檢查方法[J].計算機技術與發(fā)展,2008(10):85-88.

      [8]陳振慶.基于SHOIN(D)的UML類圖形式化方法[J].計算機工程與科學,2009(19):43-45.

      [9]單黎君,朱鴻.UML的形式化描述語義[J].計算機工程與科學,2010(3):96-103.

      [10]單黎君.圖形的一致性檢查[D].長沙:國防科學技術大學,2008.

      [11]BERARDI D,CALVANESE D,GIACOMO G.Reasoning on UML class diagrams[J].Artificial Intelligence,2005,168(3):70-118.

      [12]沈國華,張偉,黃志球,等.基于描述邏輯的特征語義建模及驗證[J].計算機研究與發(fā)展,2013(7):1501-1512.

      [13]JIANG Tao,WANG Xin.Research on meta-models consistency verification based on formalization of domainspecific metamodeling language[J].上海交通大學學報:英文版,2012,17(2):171-177.

      猜你喜歡
      類圖枚舉子類
      基于理解性教學的信息技術教學案例研究
      速讀·上旬(2022年2期)2022-04-10 16:42:14
      一種高效的概率圖上Top-K極大團枚舉算法
      卷入Hohlov算子的某解析雙單葉函數(shù)子類的系數(shù)估計
      基于語義和結(jié)構(gòu)的UML類圖的檢索
      關于對稱共軛點的倒星象函數(shù)某些子類的系數(shù)估計
      基于太陽影子定位枚舉法模型的研究
      UML構(gòu)造型類圖到XMI的映射方法研究
      UML類圖的一種表示方法
      關于0類圖的一個注記
      USB開發(fā)中易混淆的概念剖析
      佛学| 陵川县| 钟山县| 津市市| 凤台县| 宜丰县| 澎湖县| 南漳县| 西宁市| 稷山县| 酒泉市| 重庆市| 酉阳| 天全县| 米林县| 临武县| 勐海县| 庆阳市| 嘉鱼县| 拉孜县| 左权县| 黄陵县| 隆化县| 蒙自县| 建阳市| 河间市| 营山县| 沧州市| 义乌市| 灌云县| 喜德县| 宁南县| 九寨沟县| 丰顺县| 南城县| 安义县| 吉木萨尔县| 图木舒克市| 岚皋县| 宣汉县| 临海市|