亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于UML描述的軟件體系結(jié)構(gòu)研究

        2012-12-28 12:32:28李庭磊
        中國新技術(shù)新產(chǎn)品 2012年4期
        關(guān)鍵詞:語義定義模型

        李庭磊

        (廣東電網(wǎng)公司惠州供電局,廣東 惠州 516000)

        1 概況

        軟件體系結(jié)構(gòu)以部件和連接作為基本的建模實體,對部件和連接提供了多重接口,可以描述部件間豐富的交互語義,較好地支持軟件系統(tǒng)一級的重用及軟件的某些特性分析。當前軟件體系結(jié)構(gòu)的描述方法主要用ADL等,這些方法不僅難以被開發(fā)人員理解,并且目前沒有應(yīng)用于工業(yè)界。如果將軟件體系結(jié)構(gòu)與面向?qū)ο蟮拈_發(fā)方法統(tǒng)一起來,則一方面可以在軟件開發(fā)的設(shè)計階段分析軟件的某些特性,重用軟件的整個組織結(jié)構(gòu),另一方面又可以利用面向?qū)ο蠓椒ǖ闹С止ぞ摺=y(tǒng)一建模語言(UML)是當前主流的面向?qū)ο筌浖_發(fā)方法,它引入了形式化定義(對象約束語言O(shè)CL)有利于描述軟件體系結(jié)構(gòu),同時又具有很好的擴充機制、眾多的工具支持、與具體程序設(shè)計語言和開發(fā)過程無關(guān)等特點。本文選擇UML作為描述軟件體系結(jié)構(gòu)的基礎(chǔ),利用UML的半形式化特性(OCL)和嵌入的擴充機制描述了軟件體系結(jié)構(gòu)核心模型。

        2 UML元建模及其可擴展機制

        2.1 UML元建模簡介

        通常公認的元建模的概念框架基于一個四層的體系結(jié)構(gòu):元元模型、元模型、模型、用戶對象。元元建模層構(gòu)成了元建模體系結(jié)構(gòu)的基礎(chǔ)結(jié)構(gòu),主要責任是定義描述元模型的語言。在元元模型層上的元元對象的例子有:元類、元屬性和元操作。一個元模型是一個元元模型的實例。元模型層的主要責任是定義描述模型的語言,比定義它的元元模型更加精細。在元模型層上的元對象的例子如:類、屬性、操作和構(gòu)件。一個模型是一個元模型的實例,主要責任是定義描述信息論域的語言。用戶對象是一個模型的實例,主要責任是描述一個特定的信息論域。

        2.2 UML的擴展機制

        UML提供的擴展機制允許建模者在不改變基本建模語言的前提下根據(jù)實際需求做相應(yīng)的擴展。UML提供構(gòu)造型、標記值和約束三種擴展機制來增加模型中的新構(gòu)造塊、創(chuàng)建新特性和描述新語義:

        (1)構(gòu)造型:構(gòu)造型可以為UML增加新事物,它是在一個已定義完好的模型元素基礎(chǔ)上構(gòu)造出一種新的模型元素。

        (2)標記值:標記值擴展UML構(gòu)造塊的特性或標記其他模型元素,為UML事物增加新特性。標記值可以用來存儲元素的任意信息,也可以用來存儲有關(guān)構(gòu)造型模型元素的信息。

        (3)約束:用于加入新的規(guī)則或修改已經(jīng)存在的規(guī)則,即利用一個表達式把約束信息應(yīng)用于元素上。約束是用文字表達式來表示元素、依賴關(guān)系、注釋上的語義限制。

        3 軟件體系結(jié)構(gòu)的描述方法

        在目前通用的軟件開發(fā)方法中,其描述通常是用非形式化的圖和文本,難以被開發(fā)人員理解,更不能用來分析其一致性和完整性等特性。針對這些問題,一些工業(yè)界和學(xué)術(shù)界的研究者提出了體系結(jié)構(gòu)的形式化描述:體系結(jié)構(gòu)描述語言(ADL),用來表示和分析體系結(jié)構(gòu)的設(shè)計,同時提供了顯示、分析、模擬軟件體系結(jié)構(gòu)的相應(yīng)工具,主要的體系結(jié)構(gòu)描述語言有Aesop,Meta-H,C2等,盡管它們都描述軟件體系結(jié)構(gòu),但這些ADL強調(diào)了體系結(jié)構(gòu)不同的側(cè)面,對體系結(jié)構(gòu)的研究起到了重要作用,但也有負面的影響,每一種ADL都以獨立的形式存在,描述語法不同且互不兼容,同時又有許多共同的特征,這使設(shè)計人員很難選擇一種合適的ADL,若設(shè)計特定領(lǐng)域的軟件體系結(jié)構(gòu)又需要從頭開始描述,因此,下面我們將體系結(jié)構(gòu)的共同特征提取出來作為核心模型,該模型可以作為各種ADL映射到UML的共同基礎(chǔ),若要映射某一具體的ADL,只需增加其相關(guān)的約束即可。

        4 軟件體系結(jié)構(gòu)的核心模型

        綜合軟件體系結(jié)構(gòu)概念及風格分析,體系結(jié)構(gòu)的核心模型由5種元素組成:構(gòu)件、連接、配置、端口和角色。其中部件、連接和配置是最基本的元素。

        (1)構(gòu)件是具有某種功能可重用的軟件模板單元,表示了系統(tǒng)中主要的計算元素和數(shù)據(jù)存儲。構(gòu)件有兩種:復(fù)合構(gòu)件和原子構(gòu)件。

        (2)連接表示了構(gòu)件之間的交互,簡單的連接如:pipes,procedure call,event broadcast等,更為復(fù)雜的交互如:數(shù)據(jù)庫和應(yīng)用之間的SQL連接。

        (3)配置表示了構(gòu)件和連接的拓撲邏輯和約束。

        (4)構(gòu)件的接口由一組端口組成,每個端口表示了構(gòu)件和外部環(huán)境的交互點。通過不同的端口類型,一個構(gòu)件可以提供多重接口。連接作為建模軟件體系結(jié)構(gòu)的主要實體,同樣也有接口,連接的接口由一組角色組成,連接的每一個角色定義了該連接表示的交互的參與者。

        5 軟件體系結(jié)構(gòu)核心模型的UML描述

        在UML中選擇與軟件體系結(jié)構(gòu)元素語義相近的元類,定義它之上的StereoType作為該元類的實例,并用對象約束語言(OCL)描述軟件體系結(jié)構(gòu)的約束,這樣就可以與UML元模型一致并可重用現(xiàn)有的UML相關(guān)工具。構(gòu)件是一個封裝的實體,它的實現(xiàn)部分不具有對外的接口。接口由一組Port構(gòu)成。在某些軟件體系結(jié)構(gòu)的研究中,連接只是概念上的抽象,它的具體實現(xiàn)嵌入在部件之中,一般沒有相應(yīng)的實體與之對應(yīng),在這種情況下,當一個構(gòu)件與預(yù)定義的連接不匹配時,只能對部件進行重寫,或者對構(gòu)件進行包裝以適應(yīng)新的應(yīng)用背景,這就限制了構(gòu)件的重用。因此,如同構(gòu)件一樣,我們把連接也作為軟件體系結(jié)構(gòu)的重要實體,將表示Port的StereoType定義在UML的Package之上。使用UML表示軟件體系結(jié)構(gòu)的具體實現(xiàn)如下:

        (1)軟件體系結(jié)構(gòu)僅由其構(gòu)件元素構(gòu)成;

        (2)每個構(gòu)件具有Tagged Value,標志它是原子構(gòu)件或是復(fù)合構(gòu)件;

        (3)構(gòu)件只能通過Port與其它連接相關(guān)聯(lián),而不能與其它構(gòu)件相關(guān)聯(lián);

        (4)每個構(gòu)件不能沒有Port;

        (5)構(gòu)件在執(zhí)行時可以有多個實例;

        (6)每一個連接至少與兩個部件相連;

        (7)復(fù)合構(gòu)件的子構(gòu)件只能是由"連接"相連的復(fù)合構(gòu)件或原子構(gòu)件;

        (8)原子構(gòu)件不能再包含其它構(gòu)件(原子構(gòu)件或子構(gòu)件);

        (9)每個Port至多只能與一個連接關(guān)聯(lián);

        (10)軟件體系結(jié)構(gòu)的構(gòu)件和連接不參加其語義范圍以外的任何關(guān)聯(lián)。

        結(jié)論

        通過利用統(tǒng)一建模語言的擴展機制和對象約束語言,找到了一種用以描述軟件體系結(jié)構(gòu)的一致并可重用的UML相關(guān)工具,使得軟件體系結(jié)構(gòu)與當前的面向?qū)ο蠓椒ǖ玫接行У慕Y(jié)合,提高了軟件重用的抽象層次及軟件的開發(fā)效率。本文討論的描述方法對這一方面的研究作了有益的探索,具有一定的理論指導(dǎo)意義。

        [1]李代平.軟件工程[M].北京:清華大學(xué)出版社,2008,1.

        [2]Mary Shaw,David Garlan.SoftWare Architecture.Pearson Education.2006

        [3]UMLDOCUMENTS,Version1.1.URL,http://www.rational.com/uml.1997

        [4]Mary Shaw,Garlan D.SoftWare Architecture:Perspectives on an Emerging Discipline.Englewood Cliffs,NJ:Prentice Hall,1996

        [5]Garlan D.Higher-Order Connector,URL[DB/OL].http://www.sei.cmu.edu,1998.

        [6]Robbins JE,Medvidovic N.Integrating Architecture Description Language with a Standard Design Method,URL[DB/OL].http://www.ics.uci.edu,1997.

        [7]張友生.軟件體系結(jié)構(gòu)[M].清華大學(xué)出版社,2006,11.

        猜你喜歡
        語義定義模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        語言與語義
        3D打印中的模型分割與打包
        “上”與“下”語義的不對稱性及其認知闡釋
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        認知范疇模糊與語義模糊
        修辭學(xué)的重大定義
        山的定義
        久久av无码精品一区二区三区| 久久99精品久久久久久琪琪| 亚洲成av人影院| 熟妇人妻中文字幕无码老熟妇| 欧美亚洲另类国产18p| 中文字日产幕码三区做法| 美国少妇性xxxx另类| 精品无码人妻一区二区三区| 久久精品亚洲精品毛片| av人妻在线一区二区三区| 免费大片黄国产在线观看| 亚洲av无码精品色午夜蛋壳| 亚洲无码性爱视频在线观看| 开心五月激情五月天天五月五月天 | 亚洲精品久久久久久久不卡四虎| 自拍偷自拍亚洲精品播放| 妇女自拍偷自拍亚洲精品| 亚洲视频免费一区二区 | 蜜臀av性久久久久蜜臀aⅴ| 亚洲产在线精品亚洲第一站一| 男女啪啪免费视频网址| 91九色免费视频网站| 欧美野外疯狂做受xxxx高潮 | 最近中文字幕完整版免费| 在线不卡av天堂| 大岛优香中文av在线字幕| 亚洲av无码乱码国产麻豆| 国产国语熟妇视频在线观看| 国产精品久久久亚洲第一牛牛 | 91精品国产综合久久青草| 日本国产精品久久一线| 看黄a大片日本真人视频直播| 亚洲AV秘 无码一区二区三区臀| 最新国内视频免费自拍一区| 欧美精品欧美人与动人物牲交| 亚洲中文字幕无码mv| 亚洲AV无码中文AV日韩A| 一区二区三区日韩亚洲中文视频| 国产成人亚洲精品| 日韩欧美在线播放视频| 青青草在线免费观看在线|