欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

建模語言圖形表示法的生成方法和裝置的制作方法

文檔序號(hào):6464391閱讀:221來源:國知局
專利名稱:建模語言圖形表示法的生成方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種建模語言表示法的生成方法和裝置,尤其是一種建模語 言圖形表示法的生成方法和裝置。
背景技術(shù)
沖莫型驅(qū)動(dòng)的體系結(jié)構(gòu)(Model Driven Architecture,簡(jiǎn)稱MDA)是國際對(duì) 象管理組織提出的一套以模型為核心的軟件開發(fā)技術(shù)和方法。當(dāng)前,MDA在 產(chǎn)業(yè)界已經(jīng)得到極大的關(guān)注,并有一些產(chǎn)品出現(xiàn)。在MDA中,模型取代代碼 成為軟件開發(fā)的核心制品,軟件開發(fā)的整個(gè)過程都是以模型為指導(dǎo)進(jìn)行的。 在應(yīng)用MDA進(jìn)行軟件開發(fā)的過程中,建模是一項(xiàng)非常重要的活動(dòng)。建模是一 項(xiàng)對(duì)現(xiàn)實(shí)世界進(jìn)行抽象、建立相應(yīng)模型的活動(dòng)。要進(jìn)行軟件開發(fā),首先要在 不同的抽象層次上建立各種模型,然后通過相應(yīng)的技術(shù)對(duì)模型進(jìn)行各種變換 和調(diào)整,直到最終產(chǎn)生源代碼。鑒于上述情況,需要不斷地生成一系列的針 對(duì)特定領(lǐng)域的建模語言,并產(chǎn)生相應(yīng)的建模工具。 一些通用的建模語言,例 如統(tǒng)一建模語言(Unified Modeling Language,簡(jiǎn)稱UML)在一定程度上可以 滿足建模需求,然而,在一些領(lǐng)域中還存在大量無法滿足的建模需求,特別 是,領(lǐng)域不斷地發(fā)展變化,所需要的建模語言隨之也不斷地變化。然而,生 成建模語言和產(chǎn)生建模工具是非常復(fù)雜的工作,需要消耗大量的人力和時(shí)間。 為了提升生成建模語言和產(chǎn)生建模工具的效率,人們提出了元建模技術(shù)。元建模是一項(xiàng)生成建模語言并產(chǎn)生建模工具的活動(dòng),即為建模語言建模的活動(dòng)。 圖11為現(xiàn)有技術(shù)中元建模流程圖,如圖11所示,具體可以包括如下步驟 步驟111、利用工具中提供的元建模語言信息生成目標(biāo)建模語言的抽象
語法信息;
步驟112、生成目標(biāo)建模語言的具體語法信息; 步驟113、描述目標(biāo)語言的語義信息; 步驟114、生成相關(guān)的工具配置信息,設(shè)置一些選項(xiàng)信息; 步驟115、根據(jù)上述信息,利用代碼生成技術(shù)或其他方式,生成目標(biāo)建 模工具。
其中,步驟111 113用于生成目標(biāo)語言本身,步驟114 115用于生成 相應(yīng)的建模工具。
在元建模的過程中,生成目標(biāo)建模語言的抽象語法和具體語法是非常重 要的步驟。目標(biāo)建模語言的抽象語法規(guī)定了這種語言的抽象結(jié)構(gòu),通常使用 元類和它們之間的關(guān)系表示抽象語法。目標(biāo)建模語言的具體語法規(guī)定了這種 語言的具體表現(xiàn)形式,也稱為表示法。具體語法可以是文字式的,也可以是 圖形化的。圖形化的具體語法稱為圖形表示法。
近年來,圖形建模語言成為發(fā)展的主流,如何在元建模過程中更好地生 成圖形表示法成為了一個(gè)重要的問題。生成建模語言的圖形表示法不是一個(gè) 簡(jiǎn)單的繪圖過程。 一方面,建才莫語言的圖形表示法是一種圖形化的語法,包 括一定的規(guī)則和語義;另一方面,表示法和抽象語法之間存在緊密的聯(lián)系, 需要建立表示法和抽象語法之間的映射。在生成抽象語法時(shí),目前已有一些 可以參考的標(biāo)準(zhǔn)和規(guī)范,然而,如何生成表示法,目前沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn) 或方法。較為常見的生成圖形表示法的一種方法是使用位圖。在這種方法中,元 建模人員使用位圖生成表示法,即為每個(gè)建模元素指定一個(gè)位圖文件,用位 圖文件中的圖片作為建模元素的圖形符號(hào)信息,使用線條表示建模元素之間
的關(guān)系信息。例如,The Generic Modeling Environment (簡(jiǎn)稱GME)是一凍欠 較為成熟的元建模工具,可以通過導(dǎo)入位圖來生成表示法,除此之外,還可 以生成某些圖形符號(hào)之間的嵌套關(guān)系。然而,發(fā)明人在本發(fā)明過程中發(fā)現(xiàn), 使用位圖的表示法生成圖形表示法存在一些不足。位圖雖然可以由元建才莫人 員創(chuàng)建和修改,但是位圖畢竟是一種靜態(tài)資源,使得建模工具無法通過這種 靜態(tài)資源反應(yīng)更多的模型信息。例如,在GME中,建模元素的圖形符號(hào)除了 能夠通過位圖的種類反映建模元素的類型和通過在位圖下方增加一行文字反 映建模元素的名字之外,無法提供更多的建模信息。
生成圖形表示法的另外一種方法是利用筒單的繪圖工具生成表示法,指 的是,元建模工具中集成一個(gè)簡(jiǎn)單的繪圖工具,元建模人員可以使用這個(gè)工 具來手工繪制建模元素的圖形符號(hào)。由于所有的圖形符號(hào)都是在建模工具中 繪制出來的,所以在繪制過程中可以將建模元素的某些信息綁定到圖形符號(hào) 上。此時(shí),建模工具記錄的不是繪圖的結(jié)果,而是繪圖過程,也稱這種圖為 矢量圖。在建模工具中,這些繪制過程會(huì)被重視,而那些綁定的信息會(huì)根據(jù) 具體的實(shí)例被動(dòng)態(tài)地顯示出來。例如,MetaEdit+是一款元建模工具,它使用 了一個(gè)簡(jiǎn)單的繪圖工具來生成表示法。在構(gòu)建表示法后,MetaEdit+導(dǎo)入目標(biāo)
建模語言的信息,把二者結(jié)合起來,使用表示法進(jìn)行圖形化建模。然而,發(fā) 明人在本發(fā)明過程中發(fā)現(xiàn),這種方案存在一些缺點(diǎn),由于繪圖的過程依賴個(gè) 人的喜好和繪畫水平,想繪制出人們慣用的圖形符號(hào)需要較高的技巧,而且, 這種方法不利于產(chǎn)生相應(yīng)的建模工具。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是為每個(gè)建模元素分別生成自己的圖形符 號(hào);生成不同建模元素的圖形符號(hào)之間的各種位置關(guān)系;將圖形符號(hào)以及圖形 符號(hào)之間的位置關(guān)系映射到建模語言的抽象語法上。
一種建模語言圖形表示法的生成方法包括
統(tǒng)計(jì)圖形化建才莫語言中的圖形符號(hào)中的形狀出現(xiàn)的頻率和數(shù)量信息,得 到基本圖元信息;
將所述基本圖元信息通過布局策略處理得到建模元素的圖形符號(hào)信息;
將所述圖形符號(hào)信息和圖形符號(hào)之間的基本位置關(guān)系信息,通過抽象語 法橋的語法映射處理,得到建模語言的抽象語法信息。
所述基本圖元信息具體可以包括幾何圖形信息,或文本對(duì)象信息,或 圖片對(duì)象信息。
所述布局策略處理具體包括
容器模式布局策略處理,將一個(gè)塊狀基本圖元作為容器,即父圖元,子 圖元在容器中按一定順序排列;
或者關(guān)聯(lián)模式布局策略處理,將線狀父圖元與其他形狀子圖元組合在一
起;
或者矢量圖才莫式布局策略處理,將子圖元^t耍照各自的邏輯位置和尺寸分 布在父圖元內(nèi)部,父圖元按照自己的實(shí)際位置和尺寸以及子圖元的邏輯位置
和尺寸計(jì)算子圖元的實(shí)際位置和尺寸,計(jì)算公式為
少=W + p/z x cy …(2) A = pA x c/ …(4)其中,x,y是子圖元的實(shí)際坐標(biāo),w,h是子圖元的實(shí)際寬度和高度;px, py 父圖元的實(shí)際坐標(biāo),pw,ph是父圖元的實(shí)際寬度和高度;cx,cy是子圖元的邏 輯坐標(biāo),cw, ch是子圖元的邏輯寬度和高度。
所述按一定順序排列具體包括按從上而下排列,或者從左到右依次排 列,或者依方向順序依次排列。
所述將線狀父圖元與其他形狀子圖元組合在一起具體包括將子圖元作 為線端點(diǎn)的修飾與線狀父圖元組合在一起,或者將其他形狀子圖元排列在線 狀父圖元的周圍。
所述布局策略處理依據(jù)各種參數(shù)計(jì)算子圖元的位置和大小。
所述圖形符號(hào)之間的基本位置關(guān)系信息具體包括
嵌套位置關(guān)系,用于表示塊狀圖形符號(hào)嵌套在另 一個(gè)塊狀圖形符號(hào)內(nèi)部, 內(nèi)層圖形符號(hào)隨著外層圖形符號(hào)的移動(dòng)而移動(dòng),但不會(huì)隨著外層圖形符號(hào)的 變形而變形;
或者連接位置關(guān)系,用于表示線狀圖形符號(hào)的附著端附著在一個(gè)塊狀圖 形符號(hào)的邊界上,其一端隨著塊狀圖形符號(hào)的移動(dòng)和變形而移動(dòng),另一端不 變化;
或者端口附著位置關(guān)系,用于表示一個(gè)塊狀圖形符號(hào)附著在另 一個(gè)塊狀 圖形符號(hào)的邊界上,而且附著的塊狀圖形符號(hào)在被附著的塊狀圖形符號(hào)的邊 界上移動(dòng),隨著被附著的塊狀圖形符號(hào)的移動(dòng)和變形而移動(dòng),附著的塊狀圖 形符號(hào)的大小不隨著被附著塊狀圖形符號(hào)的大小變化而變化;
或者結(jié)點(diǎn)附著位置關(guān)系,用于表示塊狀圖形符號(hào)附著在水平或者垂直的 線狀圖形符號(hào)上,塊狀圖形符號(hào)只能在線狀圖形符號(hào)上移動(dòng),線狀圖形符號(hào) 的延展不會(huì)影響塊狀圖形符號(hào)的大小,但會(huì)導(dǎo)致塊狀圖形符號(hào)的移動(dòng);或者線端點(diǎn)附著位置關(guān)系,用于表示線狀圖形符號(hào)的一端附著在另一個(gè) 線狀圖形符號(hào)上,附著的線狀圖形符號(hào)的附著端在被附著的線狀圖形符號(hào)上 移動(dòng)。
所述抽象語法橋的語法映射處理具體包括
元素映射處理,將源端的一個(gè)圖形符號(hào)映射到目的端的目標(biāo)語言的某個(gè)
建模元素;
或者屬性映射處理,將源端的一個(gè)圖形符號(hào)映射到目的端的建模元素的 某個(gè)屬性值;
或者關(guān)系映射處理,將源端的圖形符號(hào)之間的基本位置關(guān)系映射到目的 端的建模元素之間的關(guān)系。
所述屬性映射處理隸屬于所述元素映射處理,限定在屬性映射處理中出
現(xiàn)的建模元素和圖形符號(hào)。
一種建模語言圖形表示法的生成裝置,包括
基本圖元處理模塊,用于統(tǒng)計(jì)圖形化建模語言中的圖形符號(hào)中的形狀出 現(xiàn)的頻率和數(shù)量信息,得到基本圖元信息;
布局策略處理模塊,用于對(duì)所述基本圖元信息通過布局策略處理得到圖 形符號(hào)信息;
語法映射處理模塊,用于根據(jù)所述圖形符號(hào)信息和圖形符號(hào)之間的基本 位置關(guān)系信息,通過抽象語法橋的語法映射處理,得到抽象語法信息。
采用本發(fā)明描述的建模元素的圖形符號(hào)更具有針對(duì)性,因?yàn)楸景l(fā)明使用 的基本圖元和布局策略都是根據(jù)真實(shí)的建模語言圖形表示法生成的,因此本 發(fā)明能夠用于生成絕大部分的圖形符號(hào),同時(shí)使得基本圖元和布局策略比較 精簡(jiǎn),方便工具的實(shí)現(xiàn);進(jìn)一步地,本發(fā)明中的基本位置關(guān)系包括了建模語言中最常見的五種位置關(guān)系,能夠滿足復(fù)雜建模語言的需要,而其他技術(shù)目
前無法支持全部的五種位置關(guān)系;再一步地,本發(fā)明的語法映射處理可以明 確地表示出表示法和抽象語法之間的三種映射關(guān)系,其他技術(shù)目前也無法描 述全部的映射關(guān)系;最后,本發(fā)明將建模語言的表示法描述成模型,可以更 好地生成建模工具的代碼。
下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。


圖1為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例的流程圖2A、圖2B和圖2C為本發(fā)明建才莫語言圖形表示法的生成方法實(shí)施例中
容器模式布局策略處理示意圖3A和圖3B為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中關(guān)聯(lián)模 式布局策略處理示意圖4為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中矢量圖模式布局 策略處理示意圖5為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中基本圖元和布局 策略的元才莫型結(jié)構(gòu)圖6A、圖6B、圖6C、圖6D和圖6E為本發(fā)明建模語言圖形表示法的生 成方法實(shí)施例中基本位置關(guān)系示意圖7為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中圖形符號(hào)之間的 基本位置關(guān)系的元模型結(jié)構(gòu)圖8為本發(fā)明建才莫語言圖形表示法的生成方法實(shí)施例中抽象語法橋的元 模型結(jié)構(gòu)圖;圖9為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中生成建模語言圖
形表示法的元模型各個(gè)部分之間的關(guān)系示意圖10為本發(fā)明建模語言圖形表示法的生成方法裝置實(shí)施例結(jié)構(gòu)圖; 圖11為現(xiàn)有技術(shù)中元建模流程圖。
具體實(shí)施例方式
建模語言圖形表示法的生成方法實(shí)施例
圖1為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例的流程圖,如圖1 所示,具體可以包括如下步驟
步驟11 、統(tǒng)計(jì)圖形化建模語言中的圖形符號(hào)中的形狀出現(xiàn)的頻率和數(shù)量 信息,得到基本圖元信息;
步驟12、對(duì)所述基本圖元信息通過布局策略處理得到建模元素的圖形符 號(hào)信息;
步驟13、將所述圖形符號(hào)信息和圖形符號(hào)之間的基本位置關(guān)系信息,通 過抽象語法橋的語法映射處理,得到建模語言的抽象語法信息。
采用圖l所示的技術(shù)方案,首先根據(jù)圖形化建模語言中的圖形符號(hào)中的 形狀出現(xiàn)的頻率和數(shù)量信息得到基本圖元信息,然后對(duì)所述基本圖元信息進(jìn) 行布局策略處理得到圖形符號(hào)信息,將所述圖形符號(hào)信息和圖形符號(hào)之間的 基本位置關(guān)系信息通過語法映射處理映射到抽象語法信息。
在步驟ll中,基本圖元是一些常見的簡(jiǎn)單圖形的抽象,是構(gòu)造圖形符號(hào) 的最基本的元素。選取基本圖元需要一定的策略,如果選取的圖元數(shù)量過多, 會(huì)造成整個(gè)元模型的規(guī)模過于龐大,增加工具實(shí)現(xiàn)和用戶使用的難度;如果 選取的圖元數(shù)量過少,則導(dǎo)致用戶無法生成足夠的圖形符號(hào)。所以統(tǒng)計(jì)圖形化建模語言中的圖形符號(hào)中的形狀出現(xiàn)的頻率和數(shù)量信息,得到基本圖元信 息。該基本圖元信息具體可以包括幾何圖形信息,或文本對(duì)象信息,或圖 片對(duì)象信息。
采用步驟11所述的技術(shù)方案生成的基本圖元信息是根據(jù)真實(shí)的建模語 言圖形表示法生成的,因此,能夠用于生成絕大部分的圖形符號(hào),而且基本 圖元比較精筒,方便建模工具實(shí)現(xiàn)。
在步驟12中,為了構(gòu)造更加復(fù)雜的建模語言的圖形符號(hào),需要將基本圖 元組合起來,即布局策略處理。布局策略處理反映了基本圖元之間的一種組 合處理,多個(gè)基本圖元按照一定的方式組合起來形成復(fù)雜的圖形符號(hào),參與
組合的基本圖元可以分為兩種父圖元和子圖元。 一個(gè)父圖元可以和多個(gè)子 圖元組合在一起,父圖元依據(jù)不同的布局策略確定子圖元的位置和尺寸。布 局策略處理具體可以包括
容器模式布局策略處理,圖2A、圖2B和圖2C為本發(fā)明建模語言圖形表 示法的生成方法實(shí)施例中容器模式布局策略處理示意圖,如圖2A、圖2B和 圖2C所示,將一個(gè)塊狀圖元作為容器,即父圖元,子圖元在容器中按一定順 序排列。所述按一定順序排列具體可以包括如圖2A所示,子圖元在容器中 按照從上到下的順序排列,或者如圖2B所示,子圖元在容器中按照從左到右 的順序排列,或者如圖2C所示,子圖元在容器中按照方向順序依次排列。
或關(guān)聯(lián)模式布局策略處理,圖3A和圖3B為本發(fā)明建模語言圖形表示法 的生成方法實(shí)施例中關(guān)聯(lián)模式處理示意圖,如圖3A和圖3B所示,將線狀圖 元作為父圖元,和其他形狀子圖元組合在一起。所述將線狀父圖元與其他形 狀子圖元組合在一起具體可以包括如圖3A所示,將一個(gè)圖元作為線端的修 飾和線狀圖元組合在一起,或者如圖3B所示,將其他形狀圖元排列在線狀圖元的周圍。
或矢量圖模式布局策略處理,圖4為本發(fā)明建模語言圖形表示法的生成
方法實(shí)施例中矢量圖模式處理示意圖,如圖4所示,將子圖元按照各自的邏
輯位置和尺寸分布在父圖元內(nèi)部,父圖元按照自己的實(shí)際位置和尺寸以及子
圖元的邏輯位置和尺寸計(jì)算子圖元的實(shí)際位置和尺寸,計(jì)算公式為
_y =+/ A x qy …(2) w = /rwxcw …(3) =x c/ …(4)
其中,x,y是子圖元的實(shí)際坐標(biāo),w,h是子圖元的實(shí)際寬度和高度;px, py父 圖元的實(shí)際坐標(biāo),pw, ph是父圖元的實(shí)際寬度和高度;cx,cy是子圖元的邏輯 坐標(biāo),cw,ch是子圖元的邏輯寬度和高度。
采用步驟12所述的技術(shù)方案,布局策略處理比較精簡(jiǎn),方便建模工具的 實(shí)現(xiàn)。
圖5為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中基本圖元和布局 策略的元才莫型,如圖5所示,圖中抽象類Figure (基本圖元)51是基本圖元 的抽象父類。Figure 51下有五個(gè)子類Polygon (多邊形)512、 Ellipse (橢 圓形)513、 Arc (弧形)514、 Image0bject511 (圖片對(duì)象)和TextObject (文本對(duì)象)515。 Polygon 512表示多邊形的基本圖元;Ellipse 513表示 橢圓形的基本圖元;Arc 514表示弧線型的基本圖元;Image0bject 511表示 圖片對(duì)象,該元素用于表示一個(gè)外部的圖片資源;TextObject 5"表示文本 對(duì)象,該元素用于表示圖形符號(hào)中的一段文字。Polygon 512又有三個(gè)子類 Triangle (三角形)5121、 Diamond (菱形)5122和Rectangle (矩形)5123。 Triangle 5121表示三角形的基本圖元;Diamond 5122表示菱形的基本圖元;Rectangle 5123表示矩形的基本圖元。其中,Rectangle 5123又有兩個(gè)子類 CorneredRectangle(4斤角矩形)51231和RoundRectangle(圓角矩形)51232。 CorneredRectangle 51231表示一個(gè)4斤角殺巨開j的基本圖元,RoundRectangle 51232表示一個(gè)圓角矩形的基本圖元。Ellipse 513包含一個(gè)子類,即Circle
(正圓形)5131,表示正圓形的基本圖元。Arc 514也只包含一個(gè)子類,即 Line(直線形)5141,表示直線形的基本圖元。圖中的另 一個(gè)抽象類Layout
(布局策略)52是所有布局策略處理的抽象父類,它包含三個(gè)子類抽象類 ContainerLayout (容器模式布局策略)521、抽象類LineLayout (關(guān)聯(lián)模式 布局策略)522和類VectorGraphLayout (矢量圖才莫式布局策略)523。 ContainerLayout 521用于表示容器模式下的幾種布局策略處理;LineLayout 522用于表示關(guān)聯(lián)模式下的幾種布局策略處理;VectorGraphLayout 523用于 表示向量圖才莫式的布局策略處理。ContainerLayout 521有兩個(gè)子類 FlowLayout (流程布局策略)5211和BorderLayout (邊界布局策略)5212。 FlowLayout 5211用于表示子圖元按從上而下或從左到右依次排列; BorderLayout 5212用于表示子圖元依方向順序依次排列。LineLayout522 也有兩個(gè)子類DecorationLayout (修飾布局策略)5221和RoleLayout (排 列布局策略)5222。 DecorationLayout 5221表示將子圖元作為線端點(diǎn)的修 飾與線狀父圖元組合在一起,RoleLayout 5"2表示將其他子圖元排列在線 狀父圖元的周圍。圖6A、圖6B、圖6C、圖6D和圖6E為本發(fā)明建模語言圖 形表示法的生成方法實(shí)施例中基本位置關(guān)系示意圖,如圖6A、圖6B、圖6C、 圖6D和圖6E所示,圖形符號(hào)之間的基本位置關(guān)系信息具體可以包括
嵌套位置關(guān)系,如圖6A所示,用于表示塊狀圖形符號(hào)嵌套在另一個(gè)塊狀 圖形符號(hào)內(nèi)部,內(nèi)層圖形符號(hào)隨著外層圖形符號(hào)的移動(dòng)而移動(dòng),但不會(huì)隨著外層圖形符號(hào)的變形而變形;例如麗L類圖中類的表示法之間的嵌套;
或連接位置關(guān)系,如圖6B所示,用于表示線狀圖形符號(hào)的附著端附著在 一個(gè)塊狀圖形符號(hào)的邊界上,其一端隨著塊狀圖形符號(hào)的移動(dòng)和變形而移動(dòng), 另 一端不變化;例如UML類中關(guān)系的表示法對(duì)類的附著;
或端口附著位置關(guān)系,如圖6C所示,用于表示一個(gè)塊狀圖形符號(hào)附著在 另一個(gè)塊狀圖形符號(hào)的邊界上,而且附著的塊狀圖形符號(hào)只能在被附著的塊 狀圖形符號(hào)的邊界上移動(dòng),隨著被附著的塊狀圖形符號(hào)的移動(dòng)和變形而移動(dòng), 附著的塊狀圖形符號(hào)的大小不隨著被附著塊狀圖形符號(hào)的大小變化而變化; 例如UML中端口 (port)的畫法;
或結(jié)點(diǎn)附著位置關(guān)系,如圖6D所示,用于表示塊狀圖形符號(hào)附著在水平 或者垂直的直線線狀圖形符號(hào)上,塊狀圖形符號(hào)在線狀圖形符號(hào)上移動(dòng),線 狀圖形符號(hào)的延展不會(huì)影響塊狀圖形符號(hào)的大小,但會(huì)導(dǎo)致塊狀圖形符號(hào)的 移動(dòng);例如麗L順序圖中生命線(Lifel ine)和執(zhí)行^見約(Execute Specification)的畫法;
或線端點(diǎn)附著位置關(guān)系,如圖6E所示,用于表示線狀圖形符號(hào)的一端附 著在另一個(gè)線狀圖形符號(hào)上,附著的線狀圖形符號(hào)的附著端在被附著的線狀 圖形符號(hào)上移動(dòng);例如麗L消息和生命線的畫法。
本發(fā)明圖形表示法的生成方法實(shí)施例中的基本位置關(guān)系包括了建模語言 中最常見的五種位置關(guān)系,能夠滿足復(fù)雜建模語言的需要。
圖7為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中圖形符號(hào)之間的 基本位置關(guān)系的元^^莫型結(jié)構(gòu)圖,如圖7所示,圖中抽象類LocationRelation (位置關(guān)系)71是基本位置關(guān)系的抽象父類。LocationRelation 71下有五 個(gè)子類NestedUcation (嵌套位置關(guān)系)711、 NodeAUachedLocation (結(jié)點(diǎn)附著位置關(guān)系)712、 ConnectionLocation (連接位置關(guān)系)713、 EndAttachedLocation (線端點(diǎn)附著位置關(guān)系)714和PortLocation (端口 附著位置關(guān)系)715。 NestedLocation 711表示塊狀圖形符號(hào)之間的嵌套的 位置關(guān)系;ConnectionLocation 713表示線狀圖形符號(hào)附著在塊狀圖形符號(hào) 上的位置關(guān)系;PortLocation 715表示一個(gè)塊狀圖形符號(hào)附著在另一個(gè)塊狀 圖形符號(hào)的邊界上的位置關(guān)系;NodeAttachedLocation 712表示一個(gè)塊狀圖 形符號(hào)附著在一個(gè)線狀圖形符號(hào)上的位置關(guān)系;EndAUachedLocation 714 表示一個(gè)線狀圖形符號(hào)的端點(diǎn)附著在另一個(gè)線狀圖形符號(hào)上的位置關(guān)系。
建模語言的表示法和普通圖形的最大區(qū)別在于它本身具有特定的約束和 語義,因此在生成表示法的時(shí)候必須能夠指明它所對(duì)應(yīng)的抽象語法。在本發(fā) 明圖形表示法的生成方法實(shí)施例中,使用抽象語法橋來描述這種關(guān)系,抽象 語法橋的語法映射處理具體可以包括
元素映射處理,將源端的一個(gè)圖形符號(hào)映射到目的端的目標(biāo)語言的某個(gè) 建模元素;
或者屬性映射處理,將源端的一個(gè)圖形符號(hào)映射到目的端的建模元素的 某個(gè)屬性值;
或者關(guān)系映射處理,將源端的圖形符號(hào)之間的基本位置關(guān)系映射到目的 端的建模元素之間的關(guān)系。
其中,所述屬性映射處理隸屬于所述元素映射處理,限定在屬性映射處 理中出現(xiàn)的建模元素和圖形符號(hào)。
本發(fā)明圖形表示法的生成方法實(shí)施例中的語法映射處理可以明確地表示 出表示法和抽象語法之間的三種映射關(guān)系。
圖8為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中抽象語法橋的元模型結(jié)構(gòu)圖,如圖8所示,圖中抽象類Bridge (語法映射橋)81是所有抽象 語法橋的抽象父類。Bridge 81下有三個(gè)子類ElementMapping (元素映射) 811,用于表示元素映射處理;AttributeMapping (屬性映射)812,用于表 示屬性映射處理;RelationshipMapping (關(guān)系映射)813,用于表示關(guān)系映 射處理。
圖9為本發(fā)明建模語言圖形表示法的生成方法實(shí)施例中生成建模語言圖形 表示法的元模型各個(gè)部分之間的關(guān)系示意圖,如圖9所示,表示布局策略的抽 象類Layout 52和表示基本圖元的抽象類Figure 51之間存在一個(gè)組合關(guān)系, 這表示父圖元使用的布局策略。Figure 51到自身存在一個(gè)組合關(guān)系,這表示 圖元之間的組合關(guān)系。LayoutContraint 92和Layout 52之間存在一個(gè)關(guān)聯(lián), 抽象類LayoutContraint (參數(shù)限制)92表示Layout 52使用的各種參數(shù),包 括子圖元的"對(duì)齊方式"(靠左,靠右,靠上,靠下,居中),"填充方 式"(不填充,橫向填充,縱向填充,全部填充),"排列方向"(橫向, 縱向),"放置位置"(東,南,西,北,中),"首選尺寸,,,"附著端點(diǎn)" (源端,目標(biāo)端),"接近端點(diǎn)"(源端,中點(diǎn),目標(biāo)端,自定義點(diǎn)),"邏 輯位置","邏輯尺寸",Layout 52以此來計(jì)算子圖元的位置和大小。抽象 類LocationRelation (基本位置關(guān)系)71表示圖形符號(hào)模型之間的基本位置 關(guān)系,因此LocationRelation 71和Figure 51之間存在兩個(gè)關(guān)聯(lián),分別表示 基本位置關(guān)系的源和目標(biāo)。Figure 51和LocationRelation 71都是抽象類 ConcreteSyntax (具體語法)93的子類,ConcreteSyntax 93表示具體語法中 的元素,抽象類AbstractSyntax (抽象語法)91表示抽象語法的元素。表示 抽象語法橋的Bridge 81定義了具體語法和抽象語法之間的映射,因此Bridge 81分別與ConcreteSyntax 93和AbstractSyntax 91之間存在一個(gè)關(guān)聯(lián)。本發(fā)明建模語言圖形表示法的生成方法實(shí)施例將建模語言的表示法描述 成模型,可以更好地生成建模工具的代碼。 建模語言圖形表示法的生成裝置實(shí)施例
圖1 0為本發(fā)明建模語言圖形表示法的生成裝置實(shí)施例結(jié)構(gòu)圖,如圖1 0所
示,具體可以包括基本圖元處理模塊101、布局策略處理模塊102和語法映射 處理模塊103。其中,所述基本圖元處理模塊IOI,用于統(tǒng)計(jì)圖形化建模語言 中的圖形符號(hào)中的形狀出現(xiàn)的頻率和數(shù)量信息,得到基本圖元信息;所述布 局策略處理模塊102,與所述基本圖元處理模塊101連接,用于對(duì)所述基本圖 元信息通過布局策略處理得到圖形符號(hào)信息;所述語法映射處理模塊103,與 所述布局策略處理模塊102連接,用于根據(jù)所述圖形符號(hào)信息和圖形符號(hào)之間 的基本位置關(guān)系信息,通過抽象語法橋的語法映射處理,得到抽象語法信息。
最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制, 盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng) 理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技 術(shù)方案的精神和范圍。
權(quán)利要求
1、一種建模語言圖形表示法的生成方法,其特征在于,包括統(tǒng)計(jì)圖形化建模語言中的圖形符號(hào)中的形狀出現(xiàn)的頻率和數(shù)量信息,得到基本圖元信息;將所述基本圖元信息通過布局策略處理得到建模元素的圖形符號(hào)信息;將所述圖形符號(hào)信息和圖形符號(hào)之間的基本位置關(guān)系信息,通過抽象語法橋的語法映射處理,得到建模語言的抽象語法信息。
2、 根據(jù)權(quán)利要求l所述的建模語言圖形表示法的生成方法,其特征在于, 所述基本圖元信息具體包括幾何圖形信息,或文本對(duì)象信息,或圖片對(duì)象4呂息。
3、 根據(jù)權(quán)利要求l所述的建模語言圖形表示法的生成方法,其特征在于, 所述布局策略處理具體包括容器模式布局策略處理,將一個(gè)塊狀基本圖元作為容器,即父圖元,子 圖元在容器中按一定順序排列;或者關(guān)聯(lián)模式布局策略處理,將線狀父圖元與其他形狀子圖元組合在一起;或者矢量圖模式布局策略處理,將子圖元按照各自的邏輯位置和尺寸分 布在父圖元內(nèi)部,父圖元按照自己的實(shí)際位置和尺寸以及子圖元的邏輯位置和尺寸計(jì)算子圖元的實(shí)際位置和尺寸,計(jì)算公式為<formula>formula see original document page 2</formula>其中,x,y是子圖元的實(shí)際坐標(biāo),w,h是子圖元的實(shí)際寬度和高度;px,py是父圖元的實(shí)際坐標(biāo),pw,ph是父圖元的實(shí)際寬度和高度;cx,cy是子圖元的邏輯 坐標(biāo),cw,ch是子圖元的邏輯寬度和高度。
4、 根據(jù)權(quán)利要求3所述的建模語言圖形表示法的生成方法,其特征在于, 所述按一定順序排列具體包括按從上而下排列,或者從左到右依次排列, 或者依方向順序依次排列。
5、 根據(jù)權(quán)利要求3所述的建模語言圖形表示法的生成方法,其特征在于, 所述將線狀父圖元與其他形狀子圖元組合在一起具體包括將子圖元作為線 端點(diǎn)的修飾與線狀父圖元組合在一起,或者將其他形狀子圖元排列在線狀父 圖元的周圍。
6、 根據(jù)權(quán)利要求3所述的建模語言圖形表示法的生成方法,其特征在于, 所述布局策略處理依據(jù)各種參數(shù)計(jì)算子圖元的位置和大小。
7、 根據(jù)權(quán)利要求l所述的建模語言圖形表示法的生成方法,其特征在于, 所述圖形符號(hào)之間的基本位置關(guān)系信息具體包括嵌套位置關(guān)系,用于表示塊狀圖形符號(hào)嵌套在另一個(gè)塊狀圖形符號(hào)內(nèi)部, 內(nèi)層圖形符號(hào)隨著外層圖形符號(hào)的移動(dòng)而移動(dòng),但不會(huì)隨著外層圖形符號(hào)的 變形而變形;或者連接位置關(guān)系,用于表示線狀圖形符號(hào)的附著端附著在一個(gè)塊狀圖 形符號(hào)的邊界上,其一端隨著塊狀圖形符號(hào)的移動(dòng)和變形而移動(dòng),另一端不 變化;或者端口附著位置關(guān)系,用于表示一個(gè)塊狀圖形符號(hào)附著在另 一個(gè)塊狀 圖形符號(hào)的邊界上,而且附著的塊狀圖形符號(hào)在被附著的塊狀圖形符號(hào)的邊 界上移動(dòng),隨著被附著的塊狀圖形符號(hào)的移動(dòng)和變形而移動(dòng),附著的塊狀圖 形符號(hào)的大小不隨著被附著塊狀圖形符號(hào)的大小變化而變化;或者結(jié)點(diǎn)附著位置關(guān)系,用于表示塊狀圖形符號(hào)附著在水平或者垂直的 線狀圖形符號(hào)上,塊狀圖形符號(hào)只能在線狀圖形符號(hào)上移動(dòng),線狀圖形符號(hào)的延展不會(huì)影響塊狀圖形符號(hào)的大小,但會(huì)導(dǎo)致塊狀圖形符號(hào)的移動(dòng);或者線端點(diǎn)附著位置關(guān)系,用于表示線狀圖形符號(hào)的一端附著在另一個(gè) 線狀圖形符號(hào)上,附著的線狀圖形符號(hào)的附著端在被附著的線狀圖形符號(hào)上 移動(dòng)。
8、 根據(jù)權(quán)利要求l所述的建模語言圖形表示法的生成方法,其特征在于, 所述抽象語法橋的語法映射處理具體包括元素映射處理,將源端的一個(gè)圖形符號(hào)映射到目的端的目標(biāo)語言的某個(gè) 建模元素;或者屬性映射處理,將源端的一個(gè)圖形符號(hào)映射到目的端的建模元素的 某個(gè)屬性值;或者關(guān)系映射處理,將源端的圖形符號(hào)之間的基本位置關(guān)系映射到目的 端的建模元素之間的關(guān)系。
9、 沖艮據(jù)權(quán)利要求8所述的建模語言圖形表示法的生成方法,其特征在于, 所述屬性映射處理隸屬于所述元素映射處理,限定在屬性映射處理中出現(xiàn)的 建模元素和圖形符號(hào)。
10、 一種建模語言圖形表示法的生成裝置,其特征在于,包括基本圖元處理模塊,用于統(tǒng)計(jì)圖形化建模語言中的圖形符號(hào)中的形狀出 現(xiàn)的頻率和數(shù)量信息,得到基本圖元信息;布局策略處理模塊,用于對(duì)所述基本圖元信息通過布局策略處理得到圖 形符號(hào)信息;語法映射處理模塊,用于根據(jù)所述圖形符號(hào)信息和圖形符號(hào)之間的基本 位置關(guān)系信息,通過抽象語法橋的語法映射處理,得到抽象語法信息。
全文摘要
本發(fā)明涉及一種建模語言圖形表示法的生成方法和裝置,統(tǒng)計(jì)圖形化建模語言中的圖形符號(hào)中的形狀出現(xiàn)的頻率和數(shù)量信息,得到基本圖元信息;對(duì)所述基本圖元信息通過布局策略處理得到建模元素的圖形符號(hào)信息;將所述圖形符號(hào)信息和圖形符號(hào)之間的基本位置關(guān)系信息,通過抽象語法橋的語法映射處理,得到建模語言的抽象語法信息,從而可以有效地為每個(gè)建模元素分別生成自己的圖形符號(hào);生成不同建模元素的圖形符號(hào)之間的各種位置關(guān)系;將圖形符號(hào)以及圖形符號(hào)之間的位置關(guān)系映射到建模語言的抽象語法上。
文檔編號(hào)G06F9/44GK101303649SQ20081011531
公開日2008年11月12日 申請(qǐng)日期2008年6月20日 優(yōu)先權(quán)日2008年6月20日
發(fā)明者嘯 何, 輝 劉, 宏 梅, 冰 謝, 麻志毅 申請(qǐng)人:北京大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
康定县| 陈巴尔虎旗| 海南省| 佛学| 余姚市| 临沧市| 石泉县| 叶城县| 中牟县| 阿拉善左旗| 吕梁市| 南开区| 尚志市| 自治县| 绵阳市| 陕西省| 巴林右旗| 舞阳县| 高陵县| 孝感市| 涪陵区| 东平县| 凤台县| 黄山市| 泾阳县| 潢川县| 高要市| 鹤岗市| 赤水市| 日照市| 天全县| 驻马店市| 通河县| 林州市| 罗江县| 焦作市| 民和| 环江| 靖远县| 马关县| 黑龙江省|