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

UML類(lèi)圖靜態(tài)模型的形式化

2009-04-29 00:00:00
考試周刊 2009年24期

摘 要: B方法主要是用抽象機(jī)來(lái)描述軟件系統(tǒng)的規(guī)范說(shuō)明,且有大量工具支持。UML作為新一代面向?qū)ο蠼UZ(yǔ)言得到了廣泛的支持,已經(jīng)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。UML 圖形是模型元素集合的可視化表示,類(lèi)圖表達(dá)了面向?qū)ο笙到y(tǒng)分析中的最基本元素——類(lèi)和類(lèi)之間聯(lián)系,而類(lèi)之間的依賴關(guān)系是類(lèi)之間聯(lián)系中的最重要、最普遍的一種聯(lián)系。本文旨之討論如何讓用B方法來(lái)描述UML類(lèi)圖,從而能提高軟件開(kāi)發(fā)的效率、降低成本,也能改善軟件工程的質(zhì)量。

關(guān)鍵詞: UML類(lèi)圖 B方法 靜態(tài)模型 形式化

統(tǒng)一建模語(yǔ)言UML作為新一代面向?qū)ο蠼UZ(yǔ)言得到了廣泛的支持,已經(jīng)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。UML不僅支持面向?qū)ο蠓治雠c設(shè)計(jì),而且支持從需求分析開(kāi)始的軟件開(kāi)發(fā)的全過(guò)程,已大范圍地用于現(xiàn)代企業(yè)集成信息系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)當(dāng)中。UML圖形是模型元素集合的可視化表示。UML定義了9種圖形,其中類(lèi)圖表達(dá)了面向?qū)ο笙到y(tǒng)分析中的最基本元素——類(lèi)和類(lèi)之間聯(lián)系,而類(lèi)之間的依賴關(guān)系是類(lèi)之間聯(lián)系中的最重要、最普遍的一種聯(lián)系。

1.UML類(lèi)圖簡(jiǎn)介

UML類(lèi)圖表達(dá)的是對(duì)象模型的靜態(tài)結(jié)構(gòu)。其中一部分圖形元素是基本的,如類(lèi)、關(guān)聯(lián)等,對(duì)于任何面向?qū)ο竽P投际潜夭豢缮俚摹?/p>

類(lèi)圖表達(dá)一組類(lèi)和它們的聯(lián)系,在類(lèi)圖中,一方面描述各個(gè)類(lèi)本身的組成,即類(lèi)的屬性、操作和對(duì)對(duì)象的約束,另一方面描述系統(tǒng)中類(lèi)之間的靜態(tài)的聯(lián)系,其主要靜態(tài)聯(lián)系類(lèi)型有關(guān)聯(lián)、聚集、泛化、依賴等。

面向?qū)ο笙到y(tǒng)設(shè)計(jì)一般運(yùn)用都是規(guī)模較大的空間,類(lèi)的數(shù)目眾多、類(lèi)之間的關(guān)系錯(cuò)綜復(fù)雜,設(shè)計(jì)者很難直接從類(lèi)圖中理清類(lèi)與類(lèi)之間的依賴關(guān)系。然而,面向?qū)ο笙到y(tǒng)基于UML語(yǔ)言在分析和設(shè)計(jì)過(guò)程中,已經(jīng)生成了許多類(lèi)圖,如果能合理、有效地利用這些已經(jīng)生成的成果,不僅能提高軟件開(kāi)發(fā)的效率、降低成本,而且能改善軟件工程的質(zhì)量。

2.B語(yǔ)言

B語(yǔ)言屬于基于模型的規(guī)格說(shuō)明符號(hào)語(yǔ)言的范疇,是一種基于對(duì)象的形式化語(yǔ)言。它以規(guī)格說(shuō)明語(yǔ)言Z語(yǔ)言的研究為背景,在引入一些面向?qū)ο髾C(jī)制等特點(diǎn)的同時(shí),保留了Z語(yǔ)言的優(yōu)點(diǎn)[5]。B語(yǔ)言使用相對(duì)簡(jiǎn)單,且人們熟悉的符號(hào)表示法(廣義代換)來(lái)表達(dá)狀態(tài)的轉(zhuǎn)換,從軟件的規(guī)格說(shuō)明到編碼的形成是一致的形式描述,使程序和程序的規(guī)則說(shuō)明處于統(tǒng)一的數(shù)學(xué)框架之下,以一種基于集合論的符號(hào)表示法來(lái)書(shū)寫(xiě),減少了出現(xiàn)語(yǔ)義錯(cuò)誤的可能性。這種數(shù)學(xué)框架是通過(guò)謂詞變換和擴(kuò)展的Dijkstra最弱前置條件提供的[1]。B語(yǔ)言的抽象機(jī)非常類(lèi)似于Effiel中的類(lèi)的概念,或者Ada語(yǔ)言的包。

3.UML類(lèi)圖靜態(tài)模型的形式化

UML類(lèi)圖模型由對(duì)象類(lèi)的命名方框構(gòu)成,方框中列出了類(lèi)的所有屬性及其操作,實(shí)體之間的關(guān)系用連線表示。一般說(shuō)來(lái),UML類(lèi)圖中的類(lèi)將表示為B機(jī)器,它封裝了可能的和存在的該類(lèi)類(lèi)型的屬性集合,以及對(duì)這些屬性的操作集合。類(lèi)之間的關(guān)聯(lián)關(guān)系使用B機(jī)器的包含INCLUDES機(jī)制表示,繼承關(guān)系可以使用EXTENDS結(jié)構(gòu)化機(jī)制來(lái)表示。

下面我們給出把UML類(lèi)圖模型映射到B機(jī)器系統(tǒng)的基本方法和過(guò)程:

(1)標(biāo)識(shí)類(lèi)圖中的實(shí)體類(lèi)型族,也就是實(shí)體類(lèi)型集合,這些實(shí)體類(lèi)型是一個(gè)給定類(lèi)型T的子類(lèi)型,而T本身沒(méi)有父類(lèi)型。

(2)標(biāo)識(shí)每個(gè)族內(nèi)類(lèi)型的操作和屬性所需要的訪問(wèn)路徑,這些訪問(wèn)是針對(duì)其它族中的類(lèi)型。

(3)產(chǎn)生一個(gè)有向無(wú)環(huán)圖,圖中的節(jié)點(diǎn)就是類(lèi)型族,圖中的邊是節(jié)點(diǎn)之間的包含關(guān)系USES或SEES。

(4)按照下面給出的步驟,為每個(gè)類(lèi)型族定義機(jī)器,并使用上一步標(biāo)識(shí)的關(guān)系包含其它的機(jī)器[6]。

根據(jù)上述方法,一個(gè)類(lèi)圖的轉(zhuǎn)換可以寫(xiě)成如下形式:(假設(shè)類(lèi)名為實(shí)體類(lèi)Entity,ENTITY為一實(shí)體集合,T1——Tn都是T類(lèi)型的子類(lèi)型)

MACHINE Entity

SETS

ENTITY

VARIABLES

Entities,

Att1,att2,...,attn

INVARIANT

entitues?哿ENTITY att1∈entites→T1 att2∈entites→T2... attn∈entites→Tn

...

END[3]

該機(jī)器是一組Entity實(shí)例的模型,而不是一個(gè)單獨(dú)的實(shí)體。集合ENTITY代表Entity實(shí)例的所有可能同類(lèi)體的集合,entities代表當(dāng)前已有的Entity實(shí)例的對(duì)象同類(lèi)體集合。Entity實(shí)例的標(biāo)準(zhǔn)創(chuàng)建操作為:

i ←create_entity(att1_val,...,attn_val)=

PRE att1_val∈T1 ...attn_val∈Tn entities ENTITY

THEN

ANY j

WHERE

j∈ENTITY- entities

THEN

I:=j‖

entities:= entities∪{j}‖

att1(j):=att1_val‖

...

attn (j):=attn_val

END

END[4]

如果類(lèi)模型的實(shí)體之間存在某些關(guān)系,那么T1,T2,...,Tn中的某些將涉及其它的實(shí)體,比如Entity2,Entity3,...,這時(shí),我們要查看SEE或者使用USE相關(guān)的機(jī)器:

MACHINE Entity

SEES Entity2,Entity3,...

...

END

如果在Entity的不變式中只需使用同類(lèi)體集合ENTITY2,ENTITY3,...,那么我們可以使用SEES。如果需要更具體的并且要使用已有的實(shí)體集entity2等作為不變式中的范圍類(lèi)型,那么要使用USES。

我們還可以使用一個(gè)參數(shù)對(duì)一個(gè)將允許的給定實(shí)體的最大實(shí)例數(shù)給出限制:

MACHINE Entity (maxEntity)

CONSTRAINTS

maxEntity≥1

...

PROPERTIES

Card (ENTITY)=maxEntity

INVARIANT

Entities?哿ENTITY ...

END

如果Entity2繼承Entity1,那么需要把約束entities2 ( entities1放在標(biāo)識(shí)超類(lèi)的機(jī)器不變式中。

MACHINE Entity1

SETS

ENTITY1

VARIABLES

entities1,entities2

INVARIANT

entities1?哿ENTITY1(

entities2 ?哿entities1

...

END[2]

4.結(jié)語(yǔ)

本文討論如何讓用B方法來(lái)描述UML類(lèi)圖,從而為提高軟件開(kāi)發(fā)的效率、降低成本打下了基礎(chǔ),并能大大地改善軟件工程的質(zhì)量。

參考文獻(xiàn):

[1]裘宗燕譯.B方法.電子工業(yè)出版社,2004,06.

[2]Kevin Lano.The B Language and Method:A Guide to Practice Formal Development.Springer Verlag,1996.

[3]B-Core Ltd.B-toolkit User’s Manual.Oxford(UK),1996.

[4]Emil Sekerinski and Rafik Zurob.Translation Statecharts to B.Spinger-Verlag,McMaster University,2003.

[5]鄒盛榮,鄭國(guó)梁.B語(yǔ)言和方法與Z、VDM的比較.計(jì)算機(jī)科學(xué),2002(10):136-138.

[6]鄒盛榮,鄭國(guó)梁.形式化方法B和UML的結(jié)合研究.中國(guó)科技論文在線,2003中國(guó)計(jì)算機(jī)大會(huì).

主站蜘蛛池模板: 91精品视频网站| 最近最新中文字幕免费的一页| 日韩天堂视频| 呦女精品网站| 51国产偷自视频区视频手机观看| 日韩黄色精品| 伊人精品视频免费在线| 亚洲欧美日韩色图| 精品国产网站| 色久综合在线| 97免费在线观看视频| 亚洲一级毛片免费看| 亚洲高清国产拍精品26u| 久热中文字幕在线观看| 无码 在线 在线| 精品第一国产综合精品Aⅴ| 久久国语对白| 毛片免费在线视频| 99热6这里只有精品| 青青久视频| 国产杨幂丝袜av在线播放| 国产剧情一区二区| 亚洲永久视频| 四虎永久免费地址| 伊人无码视屏| 色婷婷电影网| 99视频在线免费看| 在线播放91| 四虎免费视频网站| 亚洲AⅤ无码国产精品| 国产精品福利导航| 欧美啪啪一区| 在线免费无码视频| 少妇精品网站| 高清国产va日韩亚洲免费午夜电影| 亚洲综合精品香蕉久久网| 久草视频一区| 国产成人综合日韩精品无码首页| 亚洲国语自产一区第二页| 久久香蕉国产线看精品| 波多野结衣一区二区三区四区视频| 99久久精品国产麻豆婷婷| 久久这里只精品热免费99| 亚洲精品无码成人片在线观看| 永久成人无码激情视频免费| 亚洲电影天堂在线国语对白| 2020国产免费久久精品99| 在线观看的黄网| 久久综合色播五月男人的天堂| 国内精品久久久久久久久久影视| 欧美精品aⅴ在线视频| 日韩a级毛片| 国产人妖视频一区在线观看| 精品一区二区三区自慰喷水| a国产精品| 国产99热| 黄色网站不卡无码| 呦女亚洲一区精品| 国产香蕉在线| 亚洲精品少妇熟女| 污污网站在线观看| a亚洲天堂| 成色7777精品在线| 色噜噜狠狠色综合网图区| 国产理论最新国产精品视频| 男人天堂伊人网| 亚洲中文字幕日产无码2021| 日本精品中文字幕在线不卡| 国产特级毛片aaaaaa| 国产精品欧美亚洲韩国日本不卡| 国产麻豆福利av在线播放| 日韩国产一区二区三区无码| 茄子视频毛片免费观看| 在线不卡免费视频| 色网站在线视频| 日韩一区二区三免费高清| 国产亚洲欧美日韩在线一区二区三区 | 欧美国产成人在线| 99久久这里只精品麻豆| 成年人国产网站| 久久国产黑丝袜视频| 国产精品综合色区在线观看|