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

UML類圖靜態模型的形式化

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

摘 要: B方法主要是用抽象機來描述軟件系統的規范說明,且有大量工具支持。UML作為新一代面向對象建模語言得到了廣泛的支持,已經成為事實上的工業標準。UML 圖形是模型元素集合的可視化表示,類圖表達了面向對象系統分析中的最基本元素——類和類之間聯系,而類之間的依賴關系是類之間聯系中的最重要、最普遍的一種聯系。本文旨之討論如何讓用B方法來描述UML類圖,從而能提高軟件開發的效率、降低成本,也能改善軟件工程的質量。

關鍵詞: UML類圖 B方法 靜態模型 形式化

統一建模語言UML作為新一代面向對象建模語言得到了廣泛的支持,已經成為事實上的工業標準。UML不僅支持面向對象分析與設計,而且支持從需求分析開始的軟件開發的全過程,已大范圍地用于現代企業集成信息系統的設計和開發當中。UML圖形是模型元素集合的可視化表示。UML定義了9種圖形,其中類圖表達了面向對象系統分析中的最基本元素——類和類之間聯系,而類之間的依賴關系是類之間聯系中的最重要、最普遍的一種聯系。

1.UML類圖簡介

UML類圖表達的是對象模型的靜態結構。其中一部分圖形元素是基本的,如類、關聯等,對于任何面向對象模型都是必不可少的。

類圖表達一組類和它們的聯系,在類圖中,一方面描述各個類本身的組成,即類的屬性、操作和對對象的約束,另一方面描述系統中類之間的靜態的聯系,其主要靜態聯系類型有關聯、聚集、泛化、依賴等。

面向對象系統設計一般運用都是規模較大的空間,類的數目眾多、類之間的關系錯綜復雜,設計者很難直接從類圖中理清類與類之間的依賴關系。然而,面向對象系統基于UML語言在分析和設計過程中,已經生成了許多類圖,如果能合理、有效地利用這些已經生成的成果,不僅能提高軟件開發的效率、降低成本,而且能改善軟件工程的質量。

2.B語言

B語言屬于基于模型的規格說明符號語言的范疇,是一種基于對象的形式化語言。它以規格說明語言Z語言的研究為背景,在引入一些面向對象機制等特點的同時,保留了Z語言的優點[5]。B語言使用相對簡單,且人們熟悉的符號表示法(廣義代換)來表達狀態的轉換,從軟件的規格說明到編碼的形成是一致的形式描述,使程序和程序的規則說明處于統一的數學框架之下,以一種基于集合論的符號表示法來書寫,減少了出現語義錯誤的可能性。這種數學框架是通過謂詞變換和擴展的Dijkstra最弱前置條件提供的[1]。B語言的抽象機非常類似于Effiel中的類的概念,或者Ada語言的包。

3.UML類圖靜態模型的形式化

UML類圖模型由對象類的命名方框構成,方框中列出了類的所有屬性及其操作,實體之間的關系用連線表示。一般說來,UML類圖中的類將表示為B機器,它封裝了可能的和存在的該類類型的屬性集合,以及對這些屬性的操作集合。類之間的關聯關系使用B機器的包含INCLUDES機制表示,繼承關系可以使用EXTENDS結構化機制來表示。

下面我們給出把UML類圖模型映射到B機器系統的基本方法和過程:

(1)標識類圖中的實體類型族,也就是實體類型集合,這些實體類型是一個給定類型T的子類型,而T本身沒有父類型。

(2)標識每個族內類型的操作和屬性所需要的訪問路徑,這些訪問是針對其它族中的類型。

(3)產生一個有向無環圖,圖中的節點就是類型族,圖中的邊是節點之間的包含關系USES或SEES。

(4)按照下面給出的步驟,為每個類型族定義機器,并使用上一步標識的關系包含其它的機器[6]。

根據上述方法,一個類圖的轉換可以寫成如下形式:(假設類名為實體類Entity,ENTITY為一實體集合,T1——Tn都是T類型的子類型)

MACHINE Entity

SETS

ENTITY

VARIABLES

Entities,

Att1,att2,...,attn

INVARIANT

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

...

END[3]

該機器是一組Entity實例的模型,而不是一個單獨的實體。集合ENTITY代表Entity實例的所有可能同類體的集合,entities代表當前已有的Entity實例的對象同類體集合。Entity實例的標準創建操作為:

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]

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

MACHINE Entity

SEES Entity2,Entity3,...

...

END

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

我們還可以使用一個參數對一個將允許的給定實體的最大實例數給出限制:

MACHINE Entity (maxEntity)

CONSTRAINTS

maxEntity≥1

...

PROPERTIES

Card (ENTITY)=maxEntity

INVARIANT

Entities?哿ENTITY ...

END

如果Entity2繼承Entity1,那么需要把約束entities2 ( entities1放在標識超類的機器不變式中。

MACHINE Entity1

SETS

ENTITY1

VARIABLES

entities1,entities2

INVARIANT

entities1?哿ENTITY1(

entities2 ?哿entities1

...

END[2]

4.結語

本文討論如何讓用B方法來描述UML類圖,從而為提高軟件開發的效率、降低成本打下了基礎,并能大大地改善軟件工程的質量。

參考文獻:

[1]裘宗燕譯.B方法.電子工業出版社,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]鄒盛榮,鄭國梁.B語言和方法與Z、VDM的比較.計算機科學,2002(10):136-138.

[6]鄒盛榮,鄭國梁.形式化方法B和UML的結合研究.中國科技論文在線,2003中國計算機大會.

主站蜘蛛池模板: 欧美国产日韩在线观看| 国产chinese男男gay视频网| 国产嫖妓91东北老熟女久久一| 精品第一国产综合精品Aⅴ| 精品久久777| 91麻豆国产精品91久久久| 91九色最新地址| 国产综合精品日本亚洲777| 99热这里只有精品5| 素人激情视频福利| 成人噜噜噜视频在线观看| 青青国产成人免费精品视频| 国产亚洲精品无码专| 欧美国产菊爆免费观看| 国产日韩欧美中文| 亚洲国产精品日韩欧美一区| 国产一级视频在线观看网站| 婷五月综合| 亚洲综合激情另类专区| 中文国产成人精品久久| 久久精品亚洲中文字幕乱码| 99久久婷婷国产综合精| 国产久草视频| 国产18在线播放| 欧美不卡视频一区发布| 欧美精品亚洲精品日韩专| 无码专区在线观看| 99这里只有精品在线| 国产真实乱子伦视频播放| 日韩黄色精品| 国产微拍精品| 制服丝袜亚洲| 亚洲国语自产一区第二页| 久久99国产综合精品1| 99久久国产综合精品2020| 视频二区中文无码| 欧美日韩第三页| 一级黄色欧美| 亚洲成av人无码综合在线观看| 日韩国产黄色网站| 九九热视频精品在线| 国产va视频| 欧美在线黄| 久久久久国产精品嫩草影院| 欧美日在线观看| 无码有码中文字幕| 欧美福利在线| 国产精品第一区| 欧美性猛交xxxx乱大交极品| 亚洲一道AV无码午夜福利| 欧美自慰一级看片免费| 国产91高清视频| 亚洲成a人片| 久久综合干| 一级一级特黄女人精品毛片| 亚洲无码高清视频在线观看| 特级aaaaaaaaa毛片免费视频 | 一级毛片高清| 亚洲欧美在线精品一区二区| 99热最新网址| 伊人精品视频免费在线| 成人a免费α片在线视频网站| 欧美怡红院视频一区二区三区| 国产精品久久自在自线观看| 国产青榴视频| 色婷婷成人网| 国产精品.com| 日韩午夜福利在线观看| 国产一级无码不卡视频| 狼友av永久网站免费观看| 亚洲视频四区| 国产日韩精品欧美一区喷| 亚洲人成影视在线观看| 亚洲an第二区国产精品| 欧美一级黄片一区2区| 色久综合在线| 婷婷综合色| 国产精品尤物铁牛tv| 国产亚洲美日韩AV中文字幕无码成人 | 欧美一区二区三区香蕉视| 国产欧美高清| 无码福利日韩神码福利片|