日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

軟件體系結(jié)構(gòu)研究與發(fā)展

 昵稱10504424 2013-02-19

聲明:此文來自于軟件體系結(jié)構(gòu)課程PPT

1

  軟件體系結(jié)構(gòu)已經(jīng)成為國內(nèi)外軟件研究的熱點(diǎn),人們已經(jīng)把解決復(fù)雜軟件設(shè)計(jì)的難題,以及提高軟件設(shè)計(jì)的效率和質(zhì)量寄托在軟件體系結(jié)構(gòu)研究的突破上。然而,軟件體系結(jié)構(gòu)的技術(shù)研究從理論到實(shí)踐還處在發(fā)展時(shí)期。主要研究包括:

1)軟件體系結(jié)構(gòu)形式化

2)軟件體系結(jié)構(gòu)的描述語言、工具和環(huán)境

3)軟件體系結(jié)構(gòu)經(jīng)典風(fēng)格、應(yīng)用框架和設(shè)計(jì)模式的總結(jié)

 

1)軟件體系結(jié)構(gòu)形式化

形式化方法的兩方面研究:

用形式化體系解釋體系結(jié)構(gòu)

抽象定義體系結(jié)構(gòu)的精確語義,證明某種體系結(jié)構(gòu)運(yùn)用的必然性和充分性,進(jìn)而擴(kuò)展證明它的使用性,并且,作為驗(yàn)證結(jié)構(gòu)合理性的基礎(chǔ),用于系統(tǒng)設(shè)計(jì)中的結(jié)構(gòu)選取。 

軟件體系結(jié)構(gòu)的主要形式化體系:

等等

 

②體系結(jié)構(gòu)描述語言ADL(Architecture DescriptionLanguage)

用形式化的符號(hào)表示體系,進(jìn)行建模和結(jié)構(gòu)分析。形式描述結(jié)構(gòu),便于掌握系統(tǒng)全局和特征,便于分析系統(tǒng)的構(gòu)成角色和特性,便于復(fù)用和繼承已有結(jié)構(gòu),目標(biāo)是體系結(jié)構(gòu)自動(dòng)化。

研究進(jìn)展:

ACME:  描述系統(tǒng)結(jié)構(gòu)的交互機(jī)制

Aesop:對體系結(jié)構(gòu)特定風(fēng)格的規(guī)范性描述

C2:    描述分布式可延展動(dòng)態(tài)系統(tǒng)的結(jié)構(gòu)

MetaH:用于描述導(dǎo)引和控制體系結(jié)構(gòu)

Rapide:對體系結(jié)構(gòu)描述中的動(dòng)態(tài)行為建模并模擬運(yùn)行

SADL:  用形式化對體系結(jié)構(gòu)層次及不同層次的細(xì)節(jié)描述

Unicom:用公共接口協(xié)議連結(jié)構(gòu)件,粘合生成系統(tǒng)的方式

Wright:用于并發(fā)性系統(tǒng)建模,對死鎖等動(dòng)態(tài)行為分析

 

2)軟件體系結(jié)構(gòu)的工具和環(huán)境

描述語言和工具環(huán)境的關(guān)系:

描述語言的可用性,直接反映在工具所提供的環(huán)境中

 

軟件體系結(jié)構(gòu)工具環(huán)境應(yīng)該具備的基本功能:

 

2 軟件體系結(jié)構(gòu)語言ADL

ADL研究現(xiàn)狀:

ADL具備的共同點(diǎn):

 

各種ADL目前存在的問題:

 

IEEEP1471規(guī)定了應(yīng)用體系結(jié)構(gòu)的描述標(biāo)準(zhǔn):(2000.9)

體系結(jié)構(gòu)的存檔要求

能區(qū)別個(gè)體及其關(guān)系

體系結(jié)構(gòu)視點(diǎn)

體系結(jié)構(gòu)視點(diǎn)的選擇

體系結(jié)構(gòu)視點(diǎn)之間的一致性

體系結(jié)構(gòu)原理

 

ADL應(yīng)該具備的基本特點(diǎn):

能使用較小的獨(dú)立體系結(jié)構(gòu)元素來建造軟件系統(tǒng);

關(guān)注的是構(gòu)件和連接件描述,而無需關(guān)注實(shí)現(xiàn);

構(gòu)件和連接件以及體系結(jié)構(gòu)都是開發(fā)設(shè)計(jì)的重用部件;

描述的每個(gè)元素都有自己局部的結(jié)構(gòu),支持動(dòng)態(tài)變化組合;

可描述不同體系結(jié)構(gòu)的關(guān)聯(lián);

可對描述的體系結(jié)構(gòu)進(jìn)行性能及功能的分析。

 

2.1 ADL核心模型

所有ADL都圍繞著被稱為軟件體系結(jié)構(gòu)核心模型而設(shè)計(jì)的。軟件體系結(jié)構(gòu)核心模型由五個(gè)基本元素:構(gòu)件、連接件、配置、端口和角色。

構(gòu)件:是軟件結(jié)構(gòu)的構(gòu)造塊,是計(jì)算與狀態(tài)存在的場所

構(gòu)件的大小:可小到只有一個(gè)過程或大到整個(gè)應(yīng)用系統(tǒng)

構(gòu)件的存儲(chǔ):有自己的或與其它成分共享的存儲(chǔ)和執(zhí)行空間

構(gòu)件的屬性:如類型、語義、狀態(tài),等

構(gòu)件接口(端口):構(gòu)件與外部交互的端口點(diǎn)。

構(gòu)件類型:構(gòu)件是按照指定的類型實(shí)例化的,類型可參數(shù)化。ADL應(yīng)具有構(gòu)件類型保證機(jī)制。

構(gòu)件演化:構(gòu)件通過子類型形成特性細(xì)化的特殊構(gòu)件。目前只有少數(shù)幾種ADL部分地支持構(gòu)件演化。

連接件:軟件結(jié)構(gòu)的構(gòu)造塊。建立構(gòu)件交互的規(guī)則。

與構(gòu)件的區(qū)別:不直接對應(yīng)編譯單元。

連接件包括

消息路由兼容設(shè)備、共享變量、入口表、緩沖區(qū)、指令連接器、動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)、內(nèi)嵌在代碼中的遠(yuǎn)程過程調(diào)用序列、初始化參數(shù)、客戶服務(wù)協(xié)議、管道、數(shù)據(jù)存儲(chǔ)、應(yīng)用程序之間的查詢語言,等。

連接件接口(角色):由一組角色組成,參與者對應(yīng)交互的角色。例如:二元消息傳遞連接件有兩個(gè)角色,發(fā)送者和接收者。而廣播連接件有多個(gè)角色,一個(gè)發(fā)送者角色,多個(gè)接收者角色。

連接件協(xié)議:提供規(guī)定類型的通信交互的規(guī)范。協(xié)議可以是獨(dú)立的或是內(nèi)嵌在交互機(jī)制中實(shí)現(xiàn)的。

ADL應(yīng)提供協(xié)議的交換語法,能夠規(guī)劃交互協(xié)議,建立內(nèi)部連接件的依賴關(guān)系以及用途邊界。通過強(qiáng)制風(fēng)格和角色限制來保證連接約束。

體系結(jié)構(gòu)配置---是用來描述體系結(jié)構(gòu)的構(gòu)件與連接件的連接圖。配置信息可以用來確定構(gòu)件的連接、接口的匹配,通信的正確性以及實(shí)現(xiàn)的組合行為語義。

文本和圖形說明---ADL應(yīng)該以簡單的、可理解的語法來配置結(jié)構(gòu)化信息。除了文本形式外,還提供圖形說明形式,并且它們之間可以互換。多視圖、多場景的體系結(jié)構(gòu)方法成為研究方向。

復(fù)合及合成---復(fù)合是包括將一個(gè)整體作為另一個(gè)的部分構(gòu)成更大的配置。這樣可以適應(yīng)異構(gòu)和不斷變化的結(jié)構(gòu)

 

目前在軟件體系結(jié)構(gòu)研究領(lǐng)域出現(xiàn)多種體系結(jié)構(gòu)描述語言,既有針對特定領(lǐng)域的ADL,也有以通用性為目標(biāo)的ADL。不同的ADL描述體系結(jié)構(gòu)的側(cè)重點(diǎn)不盡相同。

UniConCaregie Mellon 大學(xué)的 Mary Shaw 等人研究的成果。它主要的目標(biāo)是支持對體系結(jié)構(gòu)的描述,針對構(gòu)件連接器模型,區(qū)分不同需要的構(gòu)件,支持構(gòu)件打包、定位、交互模式描述和編碼。

UniCon語言構(gòu)件描述示例

ComponentReal_Time_System

  interface istypeGeneral

  implementation is

      uses client interface RTclient

        PRIORITY(10)

       

      end client

      uses server interface RTserver

        PRIORITY(10)

       

      end server

     establish RTM-realtime-sched with

        client?applicetion1 as load

        server?applicetion2 as load

        server?services as load

        ALGORITHM(rate_monotonic)

       

      end RTM-realtime-sched

     establish RTM-remote-proc-call with

        client?timeget as caller

        server?timeget as definer

        IDLTYPE(Mach)

      end RTM-remote-proc-call

       

  end implementation

endReal_Time_System

實(shí)時(shí)系統(tǒng)構(gòu)件說明:

1.實(shí)時(shí)系統(tǒng)接口是通用類型

2.實(shí)時(shí)系統(tǒng)的實(shí)現(xiàn),

  Client接口:優(yōu)先級(jí)等

  Server接口:優(yōu)先級(jí)等

  建立實(shí)時(shí)管理的實(shí)時(shí)調(diào)用程序

   ClientServer加載應(yīng)用load

   和服務(wù)算法

  建立實(shí)時(shí)管理的遠(yuǎn)程調(diào)用程序

   ClientServer交互方式

 

 

C2支持事件風(fēng)格的用戶界面體系結(jié)構(gòu)描述語言。配合有設(shè)計(jì)環(huán)境Argo系統(tǒng)。使用可替換、可重用的GUI構(gòu)件開發(fā)體系結(jié)構(gòu)。重點(diǎn)是構(gòu)件的動(dòng)態(tài)改變,以滿足某些GUI特性。

   C2的連接件負(fù)責(zé)構(gòu)件之間的消息傳遞, C2的構(gòu)件只能通過連接件完成消息傳遞。消息要么是請求其它構(gòu)件執(zhí)行某項(xiàng)操作,要么是通知其它構(gòu)件改變狀態(tài),請求消息只能向上層傳遞,通知消息只能向下層在內(nèi)部構(gòu)件間傳遞。

   C2的構(gòu)件維持狀態(tài)、執(zhí)行操作并通過topbottom端口與其它構(gòu)件交換信息。每個(gè)構(gòu)件最多只能和一個(gè)連接件相連,而連接件可以和任意數(shù)目的構(gòu)件相連。

Component_message_interface::=

       top_domain_interface

       bottom_domain_interface

top_domain_interface::=

       top_domain is

          out interface_requests

          in interface_notifications

bottom_domain_interface::=

       bottom_domain is

          out interface_ notifications

          in interface_requests

interface_requests::=

       {request;} | null

interface_notifications ::=

       {notification;} | null

request::=

       message_name(request_parameters)

request_parameters::=

      [to component_name][parameter_list]

notification::=

      message_name[parameter_list]      

 

Wright是一種特定的形式化體系結(jié)構(gòu)描述語言。它的連接器針對離散的、異步的行為關(guān)系模型構(gòu)件,并可限定配置。

ComponentSplitFilter

       port    Input [read data until end -of -data is reached ]

       port    Left [output data repeatly]

       Port    Right [output data repeatly]

       computation  [repeatly read from input,then output,

                            alternating betweenLeft and  Righ Ports]

 

ConfigurationCapitalize

      Component SplitFilter

       ……

      Component UpperCase

       ……

      Connector Pipe

      …….

   Instances      

      Split=SplitFilter;

      upper=UpperCase;

      Merge=MergrFilter;

      p1,p2,p3=Pipe

   Attachments

       Split.Left as p1.Source

       Upper.Input as p1.Sink;

       Split.Right as p2. Source;

       Merge.Left as p2. Sink;

       Upper.Output as p3. Source

       Merge.Right as p3. Sink;

EndCapitalize

配置中說明三部分內(nèi)容:

1.定義各構(gòu)件和連接件;

2.聲明給定類型的不同實(shí)例;

3.附件說明了連接件及構(gòu)件的組合約束。

 

 

從軟件體系結(jié)構(gòu)研究和應(yīng)用的現(xiàn)狀來看,當(dāng)前對軟件體系結(jié)構(gòu)的描述,在很大程度上還停留在非形式化的基礎(chǔ)上。軟件體系結(jié)構(gòu)設(shè)計(jì)依賴于設(shè)計(jì)人員的經(jīng)驗(yàn)和技巧。人們對同一種結(jié)構(gòu)的理解和表達(dá)差別很大,所使用的符號(hào)體系也相差很大,并且,對約定、術(shù)語和概念是分散的、缺乏嚴(yán)格性、一致性和系統(tǒng)性,沒有形成對軟件體系結(jié)構(gòu)設(shè)計(jì)的一般性指導(dǎo)。這些都表明建立軟件形式化和規(guī)范化結(jié)構(gòu)描述的必要性。

要點(diǎn):

形式地推論系統(tǒng)特征的方法

遵循給出的數(shù)學(xué)系統(tǒng)得出結(jié)論

數(shù)學(xué)系統(tǒng)的基礎(chǔ)是公式邏輯,提供正確的思維規(guī)律,或推理規(guī)則,即結(jié)論和前提間的推斷關(guān)系。

目的:

形式方法關(guān)注應(yīng)用模型和計(jì)算機(jī)模型之間的邏輯關(guān)系。軟件工程中的形式方法,即是依靠數(shù)學(xué)模型和計(jì)算,來描述和驗(yàn)證目標(biāo)軟件系統(tǒng)的行為和特性。

嚴(yán)格的形式化描述和驗(yàn)證技術(shù),可實(shí)現(xiàn)自然地軟件自動(dòng)生成和自動(dòng)驗(yàn)證的目的。

 

 

Z標(biāo)記形式化描述語言

   Z標(biāo)記語言是由英國牛津大學(xué)的Programming Research Group研究的。是一種以一階謂詞邏輯和集合論為基礎(chǔ)的數(shù)學(xué)表示語言。它使用標(biāo)準(zhǔn)的邏輯操作符和集合操作符,以及標(biāo)準(zhǔn)的語義。由于描述的數(shù)學(xué)對象與程序?qū)ο笥屑捌湎嗨浦?,可以直接對?yīng)軟件工程問題,因此,Z語言被較廣泛地運(yùn)用在軟件程序規(guī)格說明和軟件體系結(jié)構(gòu)的形式化描述上。

Z的規(guī)范由文字和數(shù)學(xué)描述兩部分組成

數(shù)學(xué)描述使用類型集合的方式,每個(gè)類型是謂詞真值的集合

Z提供了一些基本的類型,如自然數(shù)N、整數(shù)Z等等

Z也可以自行定義類型,用[]引出,并用英文大寫字母

 例如:[CLIENTROOM]兩個(gè)類型

Z的圖解架構(gòu)(schema)是一種類型結(jié)構(gòu)的抽象,采用盒式圖解結(jié)構(gòu)。架構(gòu)形式化地描述過程或結(jié)構(gòu)。盒中線以上是狀態(tài)描述變量,以下是變量關(guān)系式

一組構(gòu)造類型的運(yùn)算符:包括PX、X Y、seq X、XY、X+YXY、X>YX>+Y、等等

      Z語言描述文件存儲(chǔ)塊結(jié)構(gòu)以及處理文件存儲(chǔ)塊的行為特性。文件由固定長度的存儲(chǔ)塊BLOCKS構(gòu)成,每個(gè)BLOCKS有起始地址、長度等信息,并由序號(hào)標(biāo)識(shí)。系統(tǒng)的任務(wù)是根據(jù)需求,從BLOCKS序列中取出存儲(chǔ)塊并分配使用。

      事件系統(tǒng)中對EM事件管理器,只聲明是事件與方法的對應(yīng),沒有規(guī)定同一個(gè)事件是否可與多個(gè)不同方法的關(guān)聯(lián)?或者可以不與任何方法關(guān)聯(lián)?并且,也沒有說明構(gòu)件發(fā)布事件的條件,以及與事件對應(yīng)方法的約束和限制。因此,對應(yīng)隱式激發(fā)機(jī)制需要做必要的說明。

    MVCModel-View-Controller隱式激發(fā)機(jī)制,將視圖和控制作為依賴者向模型注冊,當(dāng)模型對象發(fā)布changed事件時(shí),視圖和控制的update方法則隱式地被激發(fā)。因此,MVC事件系統(tǒng)應(yīng)提供changed事件與update方法的依賴關(guān)聯(lián)定義。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多