專利名稱:分布式系統(tǒng)的基線體系結(jié)構(gòu)監(jiān)控器應(yīng)用的制作方法
相關(guān)申請(qǐng)的交叉引用本申請(qǐng)要求于2005年2月7日提交的、名為“BASELINE ARCHITECTUREMONITOR APPLICATION FOR DISTRIBUTED SYSTEMS(分布式系統(tǒng)的基線體系結(jié)構(gòu)監(jiān)控器應(yīng)用程序)”的美國(guó)專利臨時(shí)申請(qǐng)第60/650,774號(hào)的符合U.S.C.§119(e)款的優(yōu)先權(quán)。前述申請(qǐng)的整體通過引用包含在此。
背景技術(shù):
商業(yè)計(jì)算系統(tǒng),尤其是分布式系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)是日益復(fù)雜的任務(wù)。為了努力管理其所固有的復(fù)雜性,開發(fā)了諸如高級(jí)程序設(shè)計(jì)語(yǔ)言和模式等各種工具。高級(jí)程序設(shè)計(jì)語(yǔ)言一般允許以人可讀的形式創(chuàng)建和顯示計(jì)算指令。模式一般被描述為對(duì)示例性設(shè)計(jì)原理編寫程序的命名的問題解決公式。模式一般是使用高級(jí)程序設(shè)計(jì)語(yǔ)言來實(shí)現(xiàn)的。
分布式商業(yè)系統(tǒng)的實(shí)現(xiàn)者投入大量資源,包括時(shí)間和金錢來進(jìn)行開發(fā)努力。一般而言,其上可以構(gòu)建系統(tǒng)的其它組件的基線體系結(jié)構(gòu)的完成是開發(fā)過程中的里程碑。基線體系結(jié)構(gòu)一般被創(chuàng)建來減小開發(fā)風(fēng)險(xiǎn)和確認(rèn)其中包含的機(jī)制等等。這樣的系統(tǒng)的體系結(jié)構(gòu)負(fù)擔(dān)十分沉重,且一般超過高級(jí)程序設(shè)計(jì)語(yǔ)言和模式能夠描述這些系統(tǒng)的極限。從而,存在對(duì)可以在合適的抽象層次并以容易理解的術(shù)語(yǔ)充分表現(xiàn)系統(tǒng)或體系結(jié)構(gòu)組件的系統(tǒng)的需求。
發(fā)明內(nèi)容
以下呈現(xiàn)簡(jiǎn)要的概述,以提供基本的理解。該概述不是寬泛的概觀。它既不旨在標(biāo)識(shí)本發(fā)明的關(guān)鍵或重要的元素,也不旨在描繪范圍。它唯一的目的是以簡(jiǎn)化的形式呈現(xiàn)某些概念,作為之后呈現(xiàn)的更詳細(xì)描述的序言。另外,此處所用的章節(jié)標(biāo)題僅用于提供方便,而不應(yīng)被理解為以任何方式限制。
提出了一種用于呈現(xiàn)底層體系結(jié)構(gòu)的圖形描述的系統(tǒng)和方法。該系統(tǒng)和方法提供帶有對(duì)底層組件的鏈接的對(duì)系統(tǒng)的各種視圖,包括源代碼。該視圖是在包括基于模式的層次等不同的抽象層次上呈現(xiàn)的。
提出了一種用于使用模式作為組成設(shè)計(jì)元素的系統(tǒng)和方法。該系統(tǒng)和方法提供了通過使用模式作為系統(tǒng)構(gòu)件塊來設(shè)計(jì)和構(gòu)建計(jì)算系統(tǒng)的能力。
所揭示和描述的組件和方法包括之后在權(quán)利要求書中完全描述且特別指出的特征。以下描述和附圖詳細(xì)描述了某些說明性的示例。然而,這些示例僅指示可在其中實(shí)現(xiàn)所揭示和描述的組件和方法的多種方式中的少數(shù)。所揭示和描述的組件和方法旨在包括所有這樣的示例以及其等效實(shí)現(xiàn)方式。通過結(jié)合附圖閱讀以下詳細(xì)描述,其它示例和對(duì)示例的少量修改將是顯而易見的。
圖1是基線體系結(jié)構(gòu)監(jiān)控器應(yīng)用程序系統(tǒng)的系統(tǒng)框圖。
圖2是監(jiān)控器組件的系統(tǒng)框圖。
圖3是體系結(jié)構(gòu)映射系統(tǒng)的系統(tǒng)框圖。
圖4是基于模式的開發(fā)環(huán)境的系統(tǒng)框圖。
圖5是用例驅(qū)動(dòng)(use case-driven)的開發(fā)環(huán)境的系統(tǒng)框圖。
圖6是包含語(yǔ)法能力的開發(fā)環(huán)境的系統(tǒng)框圖。
圖7是元模型開發(fā)系統(tǒng)的系統(tǒng)框圖。
圖8是多層次測(cè)試系統(tǒng)的系統(tǒng)框圖。
圖9是基于度量的測(cè)試系統(tǒng)的系統(tǒng)框圖。
圖10是安全性測(cè)試系統(tǒng)的系統(tǒng)框圖。
圖11是視圖系統(tǒng)的系統(tǒng)框圖。
圖12是變換系統(tǒng)的系統(tǒng)框圖。
圖13是描述可以使用的一種方法的處理的流程圖。
圖14是描述可以使用的一種方法的處理的流程圖。
圖15是描述可以使用的一種方法的處理的流程圖。
圖16是描述可以使用的一種方法的處理的流程圖。
圖17是描述一種方法的處理的流程圖。
圖18是描述一種方法的處理的流程圖。
圖19是描述一種方法的處理的流程圖。
圖20是描述一種方法的處理的流程圖。
圖21是圖形用戶界面的描述。
圖22是圖形用戶界面的描述。
圖23是圖形用戶界面的描述。
圖24是圖形用戶界面的描述。
圖25是圖形用戶界面的描述。
圖26是示例性操作環(huán)境的系統(tǒng)框圖。
圖27是示例性計(jì)算平臺(tái)的系統(tǒng)框圖。
具體實(shí)施例方式
如在本申請(qǐng)中所使用的,術(shù)語(yǔ)“組件”、“系統(tǒng)”、“模塊”等指的是計(jì)算機(jī)相關(guān)的實(shí)體,諸如硬件、軟件(例如,執(zhí)行中的)和/或固件。例如,組件可以是運(yùn)行在處理器上的進(jìn)程、處理器、對(duì)象、可執(zhí)行代碼、程序和/或計(jì)算機(jī)。同樣,運(yùn)行在服務(wù)器上的應(yīng)用程序和服務(wù)器本身都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程內(nèi),且組件可以位于一臺(tái)計(jì)算機(jī)上和/或分布在兩臺(tái)或多臺(tái)計(jì)算機(jī)之間。
參考附圖描述了所揭示的組件和方法,在所有附圖中,相同的參考標(biāo)號(hào)用來指相同的元素。在以下描述中,為了說明起見,描述了眾多具體細(xì)節(jié)來提供對(duì)所揭示的主題的全面理解。然而,顯然這些具體細(xì)節(jié)中的某些在具體實(shí)現(xiàn)中可以被省略或與其它細(xì)節(jié)結(jié)合。在其它實(shí)例中,以框圖形式示出某些結(jié)構(gòu)和設(shè)備以便于描述。另外,盡管所述具體示例可以使用與客戶機(jī)/服務(wù)器體系結(jié)構(gòu)一致的的術(shù)語(yǔ),或者甚至可以是客戶機(jī)/服務(wù)器實(shí)現(xiàn)的示例,但是本領(lǐng)域的技術(shù)人員可以理解,客戶機(jī)和服務(wù)器的角色可以逆轉(zhuǎn),所揭示和所描述的組件和方法不限于客戶機(jī)/服務(wù)器體系結(jié)構(gòu),并可以容易地適用于其它體系結(jié)構(gòu),尤其包括對(duì)等(P2P)體系結(jié)構(gòu),而不背離所揭示和所描述的組件和方法的精神或范圍。而且,應(yīng)該注意到,盡管此處呈現(xiàn)的具體示例包括或引用特定組件,然而此處所揭示和所描述的組件和方法的實(shí)現(xiàn)不必限于這些特定組件,并且也可以在其它環(huán)境中使用。
監(jiān)控器應(yīng)用程序可以包括協(xié)助呈現(xiàn)系統(tǒng)體系結(jié)構(gòu),尤其是基線體系結(jié)構(gòu)的描述的圖形用戶界面(GUI)組件。如在本文檔中所使用的,術(shù)語(yǔ)基線體系結(jié)構(gòu),或簡(jiǎn)稱為體系結(jié)構(gòu),可以互換使用,并且不僅描述了基線體系結(jié)構(gòu),還描述了帶有其它組件的基線體系結(jié)構(gòu)。監(jiān)控器應(yīng)用程序的GUI呈現(xiàn)被用作設(shè)計(jì)的構(gòu)成組件的模式的可視化以構(gòu)建并示出運(yùn)行的系統(tǒng)。監(jiān)控器應(yīng)用程序可以用來將模式呈現(xiàn)為元素,以描述在比系統(tǒng)的二進(jìn)制或源代碼高的抽象層次通過系統(tǒng)的流程。
圖1是基線體系結(jié)構(gòu)監(jiān)控器應(yīng)用程序系統(tǒng)100的系統(tǒng)框圖?;€體系結(jié)構(gòu)監(jiān)控器應(yīng)用程序系統(tǒng)100可以用來發(fā)現(xiàn)底層計(jì)算系統(tǒng)的硬件和軟件組件,以及創(chuàng)建在各種抽象層次上表示系統(tǒng)的所發(fā)現(xiàn)的系統(tǒng)的可視化,這些抽象層次包括可表示硬件組件、軟件組件或硬件軟件兩者的模式層抽象?;€體系結(jié)構(gòu)監(jiān)控器應(yīng)用程序系統(tǒng)100包含監(jiān)控器110。監(jiān)控器110可以訪問計(jì)算系統(tǒng)120的組件。計(jì)算系統(tǒng)120可以包括各種這樣的組件,包括硬件以及軟件組件。這些硬件和軟件組件可以,且在商業(yè)環(huán)境中通常是跨各種互連機(jī)器和網(wǎng)絡(luò)分布。
監(jiān)控器110可以探測(cè)計(jì)算系統(tǒng)120的組件以發(fā)現(xiàn)這些組件的存在及其功能。在硬件組件的情況下,監(jiān)控器110可以通過輪詢諸如總線或連接端口等互連硬件來定位直接連接至其自身的組件。這樣的輪詢過程的細(xì)節(jié)部分地取決于適用于具體互連設(shè)備的細(xì)節(jié)和協(xié)議。例如,使用通用串行總線(USB)連接而連接的設(shè)備可以使用由USB協(xié)議所描述的技術(shù)和系統(tǒng)來發(fā)現(xiàn)。類似地,使用其它類型的連接而連接的設(shè)備可使用各自的連接所使用的協(xié)議所描述的技術(shù)和系統(tǒng)來發(fā)現(xiàn)。
在通過其它組件互連的遠(yuǎn)程硬件組件的情況下,這樣的遠(yuǎn)程硬件組件可用于或不可用于由監(jiān)控器110直接輪詢。當(dāng)遠(yuǎn)程硬件組件不能被直接輪詢時(shí),監(jiān)控器110可以使另一硬件組件代表監(jiān)控器110來輪詢遠(yuǎn)程硬件組件的存在。輪詢硬件組件然后可以將關(guān)于任何定位的遠(yuǎn)程硬件組件的信息中繼至監(jiān)控器110??梢允褂冒l(fā)現(xiàn)本地和遠(yuǎn)程硬件組件的其它方法。
當(dāng)發(fā)現(xiàn)軟件組件時(shí),監(jiān)控器110可以使用若干種方法來發(fā)現(xiàn)軟件應(yīng)用程序的存在以及由這些應(yīng)用程序提供的服務(wù)。首先,監(jiān)控器110可以評(píng)估已定位的硬件組件的類型和身份,以確定該已定位的硬件組件是否是已知運(yùn)行某些軟件或提供某些服務(wù)的類型。例如,如果已發(fā)現(xiàn)的硬件組件是打印機(jī),則打印機(jī)可以被假定為提供打印服務(wù)以及某些打印管理功能。
如果已發(fā)現(xiàn)的硬件組件是計(jì)算機(jī),那么監(jiān)控器110可以向該計(jì)算機(jī)的操作系統(tǒng)發(fā)送請(qǐng)求,要求該操作系統(tǒng)向監(jiān)控器110提供所有已安裝的應(yīng)用程序或運(yùn)行中的進(jìn)程的列表。監(jiān)控器110然后向每一應(yīng)用程序或進(jìn)程發(fā)送消息,以獲取可以由各個(gè)應(yīng)用程序或進(jìn)程提供的服務(wù)的描述。除此之外或者作為替換,監(jiān)控器110可以使用該應(yīng)用程序或進(jìn)程的列表來查找已知由每一應(yīng)用程序或進(jìn)程提供的服務(wù)??梢允褂冒l(fā)現(xiàn)應(yīng)用程序、進(jìn)程或服務(wù)的其它方法。
監(jiān)控器110可以連接至體系結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)130。體系結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)130可以包含一個(gè)或多個(gè)體系結(jié)構(gòu)模式。體系結(jié)構(gòu)模式是諸如計(jì)算系統(tǒng)120等計(jì)算系統(tǒng)的體系結(jié)構(gòu)層組件的抽象。包括體系結(jié)構(gòu)模式在內(nèi)的模式可以通過指定四段信息來描述。第一,向模式給出名稱。第二,提供通常向其應(yīng)用該模式的問題的描述。第三,提供該模式的定義特征。最后,提供應(yīng)用該設(shè)計(jì)模式的結(jié)果。
設(shè)計(jì)模式的名稱是可傳達(dá)大量信息,尤其包括關(guān)于模式的適用性及意向的信息的抽象。問題的描述提供關(guān)于所存在使得適于向其應(yīng)用該設(shè)計(jì)模式的環(huán)境和條件的信息。模式的特征可以被描述為可以調(diào)整的模式設(shè)計(jì)的部分,使得模式可以被用來應(yīng)用于各種問題。使用模式的結(jié)果提供關(guān)于設(shè)計(jì)決策的分支的信息。
可以使用各種信息數(shù)據(jù)結(jié)構(gòu)來表示設(shè)計(jì)模式。這樣的數(shù)據(jù)結(jié)構(gòu)的選擇或設(shè)計(jì)很大程度上取決于具體的實(shí)現(xiàn)。因此,可以使用各種數(shù)據(jù)存儲(chǔ)來實(shí)現(xiàn)體系結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)130。可用的數(shù)據(jù)存儲(chǔ)可能是數(shù)據(jù)庫(kù)、文本文件、諸如根據(jù)可擴(kuò)展標(biāo)記語(yǔ)言(XML)規(guī)范格式化的文件等結(jié)構(gòu)化文本文件、對(duì)象或其它合適的數(shù)據(jù)存儲(chǔ)格式。
監(jiān)控器110可以向可視化組件140發(fā)送關(guān)于已發(fā)現(xiàn)的硬件或軟件體系結(jié)構(gòu)的信息??梢暬M件140可以采用來自監(jiān)控器110的信息,并以圖形格式向用戶呈現(xiàn)示出已發(fā)現(xiàn)組件之間的互連的信息。本質(zhì)上,可視化組件140可以采用來自監(jiān)控器110的信息,并使用該信息來繪制諸如計(jì)算系統(tǒng)120等計(jì)算系統(tǒng)的圖片。然而,該圖片可以被繪制以在所選取的抽象層上示出該計(jì)算系統(tǒng)。
例如,可視化組件140可以呈現(xiàn)計(jì)算系統(tǒng)120的硬件組件的系統(tǒng)框圖??梢暬M件140也可以創(chuàng)建將計(jì)算系統(tǒng)120描述為在系統(tǒng)內(nèi)合作的互連模式的系統(tǒng)的模式圖。而且,可視化組件140可以在功能層上表示計(jì)算系統(tǒng)120,并可以提供作為互連并合作功能或服務(wù)的系統(tǒng)的計(jì)算系統(tǒng)120的圖示。而且,這些以及其它基于模式的表示(包括在除模式層之外的其它層次上的表示)可以提供獨(dú)立于用于實(shí)現(xiàn)該計(jì)算系統(tǒng)所使用的底層技術(shù)的計(jì)算系統(tǒng)數(shù)據(jù)的視圖。
圖2是監(jiān)控器組件200的系統(tǒng)框圖。監(jiān)控器組件200可用于發(fā)現(xiàn)包括分布式計(jì)算系統(tǒng)的計(jì)算系統(tǒng)的硬件組件和軟件組件。分布式計(jì)算系統(tǒng)可以包括計(jì)算機(jī)、連網(wǎng)設(shè)備、存儲(chǔ)設(shè)備、相關(guān)聯(lián)的外圍設(shè)備以及其它組件。
監(jiān)控器組件200包括硬件輪詢模塊210。硬件輪詢模塊210可以查詢直接連接至其上運(yùn)行監(jiān)控器組件的硬件平臺(tái)的硬件組件。應(yīng)該注意到,盡管該示例將監(jiān)控器組件200作為在包含處理單元的某個(gè)硬件平臺(tái)上執(zhí)行的軟件,但是構(gòu)想了監(jiān)控器組件200以及此處揭示和描述的其它組件也可以用硬件實(shí)現(xiàn)。
硬件輪詢模塊210也可以指引其它組件來輪詢直接或間接連接至其上運(yùn)行監(jiān)控器組件200的硬件平臺(tái)的其它硬件組件。這樣的指引可以被路由至位于離開其上運(yùn)行監(jiān)視其組件200的硬件一個(gè)以上硬件層的組件。可以由硬件輪詢模塊210使用標(biāo)準(zhǔn)輪詢技術(shù),諸如適用于使用像USB、以太網(wǎng)或其它標(biāo)準(zhǔn)化連接的標(biāo)準(zhǔn)化連接技術(shù)的設(shè)備的那些輪詢技術(shù),來發(fā)現(xiàn)互連的硬件組件。
監(jiān)控器模塊200也包括服務(wù)輪詢模塊220。服務(wù)輪詢模塊220可以查詢可以由硬件輪詢模塊210所檢測(cè)到的組件提供的現(xiàn)有服務(wù)。該信息可以由監(jiān)控器組件200使用來提供對(duì)由硬件輪詢模塊210和服務(wù)輪詢模塊220發(fā)現(xiàn)的硬件和軟件的抽象。這樣的抽象可以包含一個(gè)或多個(gè)模式。
服務(wù)輪詢模塊220可以用各種方式發(fā)現(xiàn)現(xiàn)有服務(wù)。采用某些組件,可能向該組件查詢來獲取可以由該組件提供的服務(wù)的列表。例如,服務(wù)輪詢模塊220可以向運(yùn)行在組件上的進(jìn)程發(fā)送消息以發(fā)現(xiàn)該進(jìn)程的身份,以及任何線程或子進(jìn)程的身份。進(jìn)程身份可以被匹配至由該進(jìn)程提供的已知服務(wù)的列表。除此之外或者作為替代,進(jìn)程可以向服務(wù)輪詢模塊220提供其自己的服務(wù)列表。而且,可以使用其它方法或過程來發(fā)現(xiàn)服務(wù)的存在。
系統(tǒng)允許使用模式來提供對(duì)底層計(jì)算環(huán)境的視圖。該模式允許在實(shí)際操作過程中在之前不可能的抽象層次上表現(xiàn)系統(tǒng)。通過在不同的抽象層次上導(dǎo)航視圖,用戶可以獲取底層系統(tǒng)的體系結(jié)構(gòu)和功能的更全面的領(lǐng)會(huì)和理解。
圖3是體系結(jié)構(gòu)映射系統(tǒng)300的系統(tǒng)框圖。體系結(jié)構(gòu)映射系統(tǒng)300可以被用作諸如結(jié)合圖1描述的可視化模塊140等可視化模塊的一部分。另外,體系結(jié)構(gòu)映射系統(tǒng)300可以用于標(biāo)識(shí)模式與諸如關(guān)于圖1描述的計(jì)算系統(tǒng)120等系統(tǒng)的實(shí)際組件之間的不同。而且,體系結(jié)構(gòu)映射系統(tǒng)300可以對(duì)源代碼和模式進(jìn)行比較以生成該源代碼的基于模式的映象。
體系結(jié)構(gòu)映射系統(tǒng)300包括比較模塊310。比較模塊310可以訪問組件數(shù)據(jù)存儲(chǔ)320。組件數(shù)據(jù)存儲(chǔ)320可以包含計(jì)算系統(tǒng)的硬件和軟件組件的表示。應(yīng)該注意到,包含在組件數(shù)據(jù)存儲(chǔ)320中的硬件和軟件組件表示不必是已運(yùn)行系統(tǒng)中所檢測(cè)到的組件的表示。除此之外或者作為替代,硬件和軟件組件表示可以是可在計(jì)算系統(tǒng)中存在的標(biāo)準(zhǔn)化或標(biāo)準(zhǔn)組件的理想化的表示。這樣的表示的細(xì)節(jié)很大程度上取決于特定實(shí)現(xiàn)或組件。
比較模塊310也可以訪問模式數(shù)據(jù)存儲(chǔ)330。模式數(shù)據(jù)存儲(chǔ)330可以包含可描述計(jì)算系統(tǒng)的各種組件的模式的表示。如同組件數(shù)據(jù)存儲(chǔ)320一樣,模式數(shù)據(jù)存儲(chǔ)330不必包含已經(jīng)在當(dāng)前系統(tǒng)中檢測(cè)到的組件的表示,但是除此之外或者作為替代,可以包含可用來描述其它組件的模式。包含在模式數(shù)據(jù)存儲(chǔ)330中的模式可以被標(biāo)準(zhǔn)化,使得每一模式表示開發(fā)員可以依賴來包括某些特征或功能的一致的一個(gè)或一組組件。模式的標(biāo)準(zhǔn)化可以包括廣義化和專門化合成以及聚集,以使得這些模式能夠被用作子系統(tǒng)、進(jìn)程、線程或?qū)ο髮由系脑O(shè)計(jì)的組成元素。
代碼數(shù)據(jù)存儲(chǔ)340也可以由比較模塊310訪問。代碼數(shù)據(jù)存儲(chǔ)340可以包括可被鏈接至模式數(shù)據(jù)存儲(chǔ)330中包含的模式或由其表示的軟件代碼。包含在代碼數(shù)據(jù)存儲(chǔ)340中的代碼可以是使用高級(jí)程序設(shè)計(jì)語(yǔ)言,諸如C、C++、Java或其它高級(jí)程序設(shè)計(jì)語(yǔ)言創(chuàng)建的計(jì)算機(jī)代碼。代碼數(shù)據(jù)存儲(chǔ)340也可能存儲(chǔ)經(jīng)編譯的二進(jìn)制版本或?qū)ο蟠a,甚至完全編譯的獨(dú)立應(yīng)用程序等等。
映象生成器350可以訪問比較模塊310和模式數(shù)據(jù)存儲(chǔ)330來創(chuàng)建諸如之前參考圖1描述的計(jì)算系統(tǒng)120等計(jì)算系統(tǒng)的映象。該映象可以是計(jì)算系統(tǒng)的組件的表示,包括這些組件之間的互連的表示??梢杂枚喾N方式來實(shí)現(xiàn)映象表示,諸如圖、有向圖、或鏈表等等。映象生成器350的實(shí)現(xiàn)細(xì)節(jié)可取決于為表示該計(jì)算系統(tǒng)而選取的具體數(shù)據(jù)結(jié)構(gòu)或表示類型。
呈現(xiàn)模塊360可以訪問由映象生成器350創(chuàng)建的映象,以提供該映象的圖形表示。具體地,圖標(biāo)、圖片或某些其它圖形指示符都可以對(duì)應(yīng)于映象的一個(gè)或多個(gè)組件。呈現(xiàn)模塊360可以使得映象被顯示為一組互連或相關(guān)的圖形指示符,它們顯示處于不合適的或預(yù)先選定的抽象層次的由映象表示的計(jì)算系統(tǒng)的視圖。在該示例中,所討論的抽象層次是模式層。然而,可以使用其它抽象層次,諸如功能層或此處所述的任何其它層。
圖4是基于模式的開發(fā)環(huán)境400的系統(tǒng)框圖。通過將模式作為開發(fā)環(huán)境中的設(shè)計(jì)組成元素來對(duì)待,可以使用基于模式的開發(fā)環(huán)境400來開發(fā)軟件和系統(tǒng)。通過將模式作為組成元素來對(duì)待,系統(tǒng)開發(fā)員可以聚集、組織并組裝模式組來創(chuàng)建健壯的計(jì)算系統(tǒng),包括分布式計(jì)算系統(tǒng)。
基于模式的開發(fā)環(huán)境400包括模式數(shù)據(jù)存儲(chǔ)410。模式數(shù)據(jù)存儲(chǔ)410包括在系統(tǒng)開發(fā)過程中可被用作構(gòu)件塊的設(shè)計(jì)模式的表示。包含在模式數(shù)據(jù)存儲(chǔ)中的模式可以是與組件職責(zé)協(xié)作(CRC)設(shè)計(jì)原理相關(guān)聯(lián)的具體化的模式。這些具體化的模式可以包括可用于尋找基于模式的抽象句法圖內(nèi)的合作器的可執(zhí)行CRC接口??梢栽谑褂寐氊?zé)測(cè)試驅(qū)動(dòng)設(shè)計(jì)來確認(rèn)系統(tǒng)設(shè)計(jì)職責(zé)時(shí)使用這樣的具體化的模式。
代碼數(shù)據(jù)存儲(chǔ)420可以包括機(jī)器可讀計(jì)算機(jī)代碼。機(jī)器可讀計(jì)算機(jī)代碼可以與一個(gè)或多個(gè)模式相關(guān)聯(lián),并被包含在模式數(shù)據(jù)存儲(chǔ)410中。如同結(jié)合圖3討論的代碼數(shù)據(jù)存儲(chǔ)340一樣,代碼數(shù)據(jù)存儲(chǔ)420可以包括以高級(jí)程序設(shè)計(jì)語(yǔ)言、對(duì)象代碼、二進(jìn)制代碼或獨(dú)立應(yīng)用程序以及其它類型形式的機(jī)器可讀代碼。模式數(shù)據(jù)存儲(chǔ)410和代碼數(shù)據(jù)存儲(chǔ)420均可以用任何合適的方式來實(shí)現(xiàn),包括作為數(shù)據(jù)庫(kù)、對(duì)象、文本文件、結(jié)構(gòu)化文本文件或以某些其它方式。
組成器430可以訪問模式數(shù)據(jù)存儲(chǔ)410和代碼數(shù)據(jù)存儲(chǔ)420。組成器430可以分別操縱和連接來自模式數(shù)據(jù)存儲(chǔ)410的模式和來自代碼數(shù)據(jù)存儲(chǔ)420的與這些模式相關(guān)聯(lián)的代碼,來創(chuàng)建集成的表示或代碼塊。關(guān)于實(shí)現(xiàn)組成器430的細(xì)節(jié)取決于諸如為模式數(shù)據(jù)存儲(chǔ)410的模式選取的具體表示格式,以及為包含在代碼數(shù)據(jù)存儲(chǔ)420中的代碼選取的類型或表示等因素。一般而言,組成器430可以獲取來自代碼數(shù)據(jù)存儲(chǔ)420中與來自模式數(shù)據(jù)存儲(chǔ)410的模式相關(guān)聯(lián)的代碼,并將該代碼與涉及其它模式的其它代碼段集成。
開發(fā)環(huán)境440可以用作開發(fā)員將多個(gè)模式集成至代表系統(tǒng)的平臺(tái)。開發(fā)環(huán)境440可以包括諸如編譯器、語(yǔ)法和句法檢查器以及其它典型的軟件開發(fā)工具等組件。開發(fā)環(huán)境440可以確保用作系統(tǒng)的構(gòu)件塊的模式以邏輯的方式正確地連接在一起。例如,開發(fā)環(huán)境440可以檢查,以查看開發(fā)員是否同時(shí)連接至彼此不能直接接口的模式,并標(biāo)識(shí)該情形,使得開發(fā)員可以采取糾正措施。
用戶界面450可以與開發(fā)環(huán)境440交互來向開發(fā)環(huán)境440提供方便且有用的接口。用戶界面450可以是人機(jī)界面,諸如命令行或其它文本驅(qū)動(dòng)的界面。當(dāng)處理含有相關(guān)聯(lián)圖形指示符的模式時(shí),圖形用戶界面(GUI)尤其有用。在該示例中,開發(fā)員可以使用基于模式的開發(fā)環(huán)境400的用戶界面450來操縱模式的圖形描述以構(gòu)建系統(tǒng)。例如,開發(fā)員可以使用鼠標(biāo)或另一種定點(diǎn)設(shè)備來從包含這樣的指示符組的調(diào)色板中抓取模式的圖形指示符,將該圖形指示符拖至組成窗格,并將該圖形指示符放置于該窗格中,來使用該模式作為構(gòu)建中的系統(tǒng)的一部分。
圖5是用例驅(qū)動(dòng)開發(fā)環(huán)境500的系統(tǒng)框圖。用例驅(qū)動(dòng)開發(fā)環(huán)境500可用于通過在如由用例所定義的功能層上操縱對(duì)象來創(chuàng)建計(jì)算系統(tǒng)。通過允許開發(fā)員通過選取將包含在系統(tǒng)中的用例的表示來構(gòu)建系統(tǒng),開發(fā)員可以確保由諸如要求文檔等系統(tǒng)設(shè)計(jì)文檔所要求的功能可以包含在完成的系統(tǒng)中。
用例是關(guān)于用戶如何與計(jì)算系統(tǒng)交互的描述。該描述可以包括關(guān)于用戶執(zhí)行的任務(wù)或功能的信息、用戶可以獲取、產(chǎn)生或改變的系統(tǒng)信息的定義或說明、關(guān)于用戶是否向系統(tǒng)告知關(guān)于外部環(huán)境中的改變的指示符、用戶想要從系統(tǒng)中獲取的信息的定義或說明、以及關(guān)于是否應(yīng)該向用戶告知預(yù)期的改變的說明。用例描述可以用各種數(shù)據(jù)格式來表示,且很大程度上是實(shí)現(xiàn)決策。
用例的表示可以被存儲(chǔ)在用例數(shù)據(jù)存儲(chǔ)510中。用例數(shù)據(jù)存儲(chǔ)510可以與代碼數(shù)據(jù)存儲(chǔ)520相關(guān)聯(lián)。代碼數(shù)據(jù)存儲(chǔ)520可以包括高級(jí)程序設(shè)計(jì)語(yǔ)言、對(duì)象代碼、二進(jìn)制代碼、獨(dú)立應(yīng)用程序以及其它類型的形式的機(jī)器可讀代碼。代碼數(shù)據(jù)存儲(chǔ)520中的單個(gè)代碼段可以與用例數(shù)據(jù)存儲(chǔ)510中的用例的表示相關(guān)聯(lián)。
用例驅(qū)動(dòng)開發(fā)環(huán)境500也可以包含組成器530。組成器530可以訪問用例數(shù)據(jù)存儲(chǔ)510和代碼數(shù)據(jù)存儲(chǔ)520,來操縱和連接用例及與這些用例相關(guān)聯(lián)的代碼,以創(chuàng)建集成的表示或代碼塊,與實(shí)現(xiàn)組成器530相關(guān)的各個(gè)細(xì)節(jié)很大程度上取決于諸如為用例數(shù)據(jù)存儲(chǔ)510的用例所選取的具體表示格式,以及代碼數(shù)據(jù)存儲(chǔ)520中內(nèi)容的格式等因素。一般而言,組成器530可以獲取來自代碼數(shù)據(jù)存儲(chǔ)520中與來自用例數(shù)據(jù)存儲(chǔ)510的用例相關(guān)聯(lián)的代碼。組成器530然后可以將來自代碼數(shù)據(jù)存儲(chǔ)520的代碼與關(guān)于該用例的其它代碼段集成來創(chuàng)建集成的塊。
開發(fā)環(huán)境540可以提供開發(fā)員用于將多個(gè)用例結(jié)合和集成至內(nèi)聚系統(tǒng)的平臺(tái)。開發(fā)環(huán)境540可以包括諸如編譯器、語(yǔ)法檢查器、句法檢查器以及其它典型的軟件開發(fā)工具等子組件。開發(fā)環(huán)境540也可以確定開發(fā)員正使用來構(gòu)建集成系統(tǒng)的用例是否能以由開發(fā)員指定的方式被適當(dāng)?shù)剡B接在一起。例如,開發(fā)環(huán)境540可以檢查,以查看兩個(gè)連接的用例是否可以被直接鏈接在一起,或在兩個(gè)原有用例之間是否應(yīng)該或必須介入一個(gè)或多個(gè)中間用例。
用例驅(qū)動(dòng)開發(fā)環(huán)境500包括提供開發(fā)員對(duì)系統(tǒng)的訪問的用戶界面550。用戶界面550可以是任何合適的人機(jī)界面,包括命令行驅(qū)動(dòng)界面或某種其它文本驅(qū)動(dòng)界面。當(dāng)開發(fā)員正在操作含有相關(guān)聯(lián)圖形指示符或標(biāo)識(shí)符的用例時(shí),圖形用戶界面尤其有用。在這樣的情形中,開發(fā)員可以使用鼠標(biāo)或其它定點(diǎn)設(shè)備來選取與用例相關(guān)聯(lián)的圖形指示符,并將該圖形指示符拖至組成窗格。開發(fā)員可以通過將與用例相關(guān)聯(lián)的圖形指示符拖放至組成窗格中來將圖形指示符連接在一起以設(shè)計(jì)和構(gòu)造完整的系統(tǒng),來構(gòu)建系統(tǒng)。
圖6是包含語(yǔ)法能力的開發(fā)環(huán)境600的系統(tǒng)框圖。開發(fā)環(huán)境600包括模式數(shù)據(jù)存儲(chǔ)610。模式數(shù)據(jù)存儲(chǔ)610包括可被用作系統(tǒng)設(shè)計(jì)和構(gòu)造的組成構(gòu)件塊的標(biāo)準(zhǔn)化模式??梢苑治龊桶才乓唤M這樣的模式來形成一類高級(jí)計(jì)算語(yǔ)言,使得模式自身可以被用來依照已建立規(guī)則構(gòu)造系統(tǒng)。以這樣的方式構(gòu)造的高級(jí)計(jì)算語(yǔ)言可以含有可被用來強(qiáng)制實(shí)行語(yǔ)言的構(gòu)造規(guī)則的語(yǔ)法和句法。語(yǔ)法可以是將模式用作輸入的上下文無(wú)關(guān)語(yǔ)法。該語(yǔ)言可以被翻譯成可執(zhí)行元素的結(jié)構(gòu)。
例如,模式數(shù)據(jù)存儲(chǔ)610可以包括指定為A、B和C的三個(gè)模式。包含A、B和C的語(yǔ)言的一條規(guī)則可以是,A永遠(yuǎn)不能直接在C之前。語(yǔ)法模塊620可以解析由開發(fā)員創(chuàng)建的表示來確保遵循該規(guī)則。語(yǔ)法模塊620可以訪問設(shè)計(jì)模塊630,而設(shè)計(jì)模塊630可訪問模式數(shù)據(jù)存儲(chǔ)610。可以由設(shè)計(jì)模塊630將模式與來自語(yǔ)法模塊620的輸入鏈接在一起,以確保鏈接遵循語(yǔ)言的語(yǔ)法規(guī)則。鏈接的模式是形成整個(gè)計(jì)算系統(tǒng)的可執(zhí)行元素。
模式表示計(jì)算系統(tǒng)開發(fā)中的某個(gè)知識(shí)狀態(tài)。該知識(shí)可以用各種方式應(yīng)用于基于合作元素的引擎系統(tǒng)。一種方式是構(gòu)造將模式作為元素包含的抽象句法樹??梢酝ㄟ^使用模板方法將抽象句法樹轉(zhuǎn)化為抽象句法圖來訪問和展開該抽象句法樹中的每一節(jié)點(diǎn)。然后可以用包含此處所述的那些方法的各種方法來使用抽象句法圖。
圖7是元模型開發(fā)系統(tǒng)700的系統(tǒng)框圖。元模型開發(fā)系統(tǒng)700可以在各種系統(tǒng)開發(fā)工作中使用,以協(xié)助創(chuàng)建基于模式的計(jì)算系統(tǒng)。具體地,元模型開發(fā)系統(tǒng)700可以創(chuàng)建可用于評(píng)估和測(cè)試系統(tǒng)完整性和正確性的計(jì)算系統(tǒng)的元模型。
元模型開發(fā)系統(tǒng)700包括模式數(shù)據(jù)存儲(chǔ)710。模式數(shù)據(jù)存儲(chǔ)710可以包括在系統(tǒng)構(gòu)造中可被用作組成設(shè)計(jì)元素的一組模式。元模型創(chuàng)建器720可以訪問來自模式數(shù)據(jù)存儲(chǔ)710的模式,并向開發(fā)環(huán)境730提供關(guān)于這些模式的信息。開發(fā)環(huán)境730可以提供其上開發(fā)員可以操作來自模式數(shù)據(jù)存儲(chǔ)710的模式來設(shè)計(jì)和構(gòu)造計(jì)算系統(tǒng)的平臺(tái)。元模型創(chuàng)建器可以使用來自開發(fā)環(huán)境730的設(shè)計(jì)以及從包含在該設(shè)計(jì)中的模式導(dǎo)出的信息來創(chuàng)建計(jì)算系統(tǒng)的元模型。然后該元模型可以用作概念測(cè)試或可視化的基礎(chǔ)。
圖8是多層次測(cè)試系統(tǒng)800的系統(tǒng)框圖。多層次測(cè)試系統(tǒng)800可以用來在設(shè)計(jì)過程中以及在實(shí)現(xiàn)之后在各種層次上測(cè)試計(jì)算系統(tǒng)。這樣的測(cè)試可以幫助標(biāo)識(shí)或預(yù)防設(shè)計(jì)過程中的設(shè)計(jì)缺陷或錯(cuò)誤的引入。也可以在部署新設(shè)計(jì)的計(jì)算系統(tǒng)之前標(biāo)識(shí)并更正實(shí)現(xiàn)錯(cuò)誤。
多層次測(cè)試系統(tǒng)800包括模式數(shù)據(jù)存儲(chǔ)810。模式數(shù)據(jù)存儲(chǔ)810包括可以被用作計(jì)算系統(tǒng)的組成構(gòu)件塊的一組標(biāo)準(zhǔn)化模式。測(cè)試模塊820可以使用模式數(shù)據(jù)存儲(chǔ)810的模式來評(píng)估系統(tǒng)組件,并標(biāo)識(shí)設(shè)計(jì)或?qū)崿F(xiàn)錯(cuò)誤。測(cè)試模塊820可以執(zhí)行測(cè)試腳本以在每一訪問的層次上跟蹤通過組件的執(zhí)行的線程等等。在測(cè)試腳本執(zhí)行過程中的執(zhí)行錯(cuò)誤可以被記入日志或以其它方式標(biāo)識(shí),以便之后的更正。
測(cè)試模塊820可以訪問體系結(jié)構(gòu)層830。體系結(jié)構(gòu)層830包括體系結(jié)構(gòu)層的系統(tǒng)表示,即計(jì)算系統(tǒng)表示的體系結(jié)構(gòu)層的視圖。設(shè)計(jì)層840包括在設(shè)計(jì)層上的系統(tǒng)表示,即計(jì)算系統(tǒng)表示的設(shè)計(jì)層視圖。計(jì)算系統(tǒng)的實(shí)現(xiàn)層表示,即計(jì)算系統(tǒng)表示的實(shí)現(xiàn)層視圖包含在實(shí)現(xiàn)層850中。
除體系結(jié)構(gòu)層830之外,測(cè)試模塊820還可以在實(shí)現(xiàn)層850中訪問設(shè)計(jì)層840。將在實(shí)現(xiàn)層中運(yùn)行設(shè)計(jì)層的測(cè)試腳本設(shè)計(jì)可以由測(cè)試模塊820來執(zhí)行,以標(biāo)識(shí)設(shè)計(jì)或?qū)崿F(xiàn)錯(cuò)誤。為在新設(shè)計(jì)的系統(tǒng)的實(shí)際部署之前進(jìn)行更完全的系統(tǒng)測(cè)試的目的,諸如此類的多層次測(cè)試可以全面地測(cè)試系統(tǒng)的各個(gè)方面??梢栽陂_發(fā)過程中的各個(gè)重要事件處運(yùn)行這樣的測(cè)試,且當(dāng)開發(fā)繼續(xù)時(shí),可以并行地運(yùn)行這樣的測(cè)試,以確保在一個(gè)層次上的設(shè)計(jì)工作不會(huì)對(duì)其它層次產(chǎn)生非預(yù)期的結(jié)果。
圖9是基于度量的測(cè)試系統(tǒng)900的系統(tǒng)框圖。基于度量的測(cè)試系統(tǒng)900可以被用來測(cè)試計(jì)算系統(tǒng)的各個(gè)操作方面。該測(cè)試能力尤其可用于標(biāo)識(shí)伴隨新設(shè)計(jì)的系統(tǒng)的操作問題,以便可以更正這樣的問題。除此之外或者作為替代,基于度量的測(cè)試系統(tǒng)900可以被用來獲取目的在于標(biāo)識(shí)可被優(yōu)化或以其它方式改進(jìn)的系統(tǒng)組件的操作度量。
基于度量的測(cè)試系統(tǒng)900包括度量模塊910。度量模塊910可以訪問可以特別地測(cè)量組件的各種操作參數(shù)的計(jì)算系統(tǒng)920的組件。例如,度量模塊910可以訪問數(shù)據(jù)庫(kù)來測(cè)量查詢響應(yīng)時(shí)間,并確定對(duì)針對(duì)該數(shù)據(jù)庫(kù)運(yùn)行的查詢的平均響應(yīng)時(shí)間。選取和測(cè)量合適的度量是實(shí)現(xiàn)相關(guān)的。
模式數(shù)據(jù)存儲(chǔ)930可以向度量模塊910提供關(guān)于可被用作組成設(shè)計(jì)元素的模式的信息。度量模塊910可以使用該信息來組合或聚集經(jīng)測(cè)量的度量,并將這些度量與具體模式相關(guān)聯(lián)。可以在模式層呈現(xiàn)相關(guān)聯(lián)的度量來為計(jì)算系統(tǒng)的基于模式的組件給出性能指示符。
測(cè)試模塊940可以訪問模式層度量,并分析這些度量來提供對(duì)潛在實(shí)現(xiàn)問題的洞察力。例如,測(cè)試模塊940可以將來自度量模塊910的經(jīng)測(cè)量的度量與這些組件的預(yù)期或理想化的值進(jìn)行比較。這樣的比較可以是基于概率的,使得在比較過程中使用各種正?;蝾A(yù)期的值,或者可以使用某些其它的基于概率的比較來評(píng)估基于模式的組件的性能。落在預(yù)期范圍外的度量值可以指示在軟件或硬件層上模式實(shí)現(xiàn)的潛在問題。在軟件層上,低性能數(shù)字可以指示代碼編寫中的錯(cuò)誤或改進(jìn)進(jìn)程算法的需求。在硬件層上,低性能數(shù)字可以指示在實(shí)現(xiàn)中使用的基于硬件的計(jì)算資源不夠。高于預(yù)期的性能度量指示成功的優(yōu)化、未預(yù)期的效率或計(jì)算資源的過剩??赡苡衅渌脑蚝托Ч宜鼈儗?duì)本發(fā)領(lǐng)域的普通技術(shù)人員而言是顯然的。
圖10是安全測(cè)試系統(tǒng)1000的系統(tǒng)框圖。安全測(cè)試系統(tǒng)1000可以提供用于標(biāo)識(shí)和消除存在于新設(shè)計(jì)的系統(tǒng)中的安全缺陷的基礎(chǔ)。在設(shè)計(jì)階段和實(shí)現(xiàn)的早期階段期間,安全測(cè)試尤其有效。設(shè)計(jì)時(shí)考慮到安全性的系統(tǒng)相比唯一依賴于實(shí)現(xiàn)后測(cè)試并修補(bǔ)來解決安全相關(guān)問題的其它系統(tǒng)可能含有較少的缺陷。
安全測(cè)試系統(tǒng)1000包括模式數(shù)據(jù)存儲(chǔ)1010。模式數(shù)據(jù)存儲(chǔ)1010包括可以被用作組成設(shè)計(jì)元素的一組標(biāo)準(zhǔn)化模式。安全模塊1020可以訪問底層計(jì)算系統(tǒng)1030,并標(biāo)識(shí)用于構(gòu)造計(jì)算系統(tǒng)1030的模式數(shù)據(jù)存儲(chǔ)1010中的模式??梢酝ㄟ^探測(cè)已知或可能的安全缺陷對(duì)所標(biāo)識(shí)的模式進(jìn)行安全測(cè)試。
例如,模式可能要求指定的數(shù)據(jù)輸入。任何輸入的常見安全缺陷是存在允許緩沖器溢出的無(wú)界的緩沖器,從而造成計(jì)算系統(tǒng)執(zhí)行開發(fā)員沒有預(yù)期的任意代碼。安全模塊1020可以使用模式來標(biāo)識(shí)潛在的問題,并通過試圖使用任意可執(zhí)行數(shù)據(jù)來溢出緩沖器以測(cè)試其是否存在??梢詾榕c模式相關(guān)的每一標(biāo)識(shí)的潛在問題創(chuàng)建安全測(cè)試情景。
安全模塊1020可以向測(cè)試模塊1040發(fā)送其工作的結(jié)果。測(cè)試模塊1040可以將安全信息與其它測(cè)試信息集成,并將結(jié)果呈現(xiàn)給開發(fā)員。應(yīng)該注意到,可以在仍舊未實(shí)現(xiàn)的計(jì)算系統(tǒng)上以及已經(jīng)實(shí)現(xiàn)并運(yùn)行的系統(tǒng)上執(zhí)行這樣的安全測(cè)試。
圖11是視圖系統(tǒng)1100的系統(tǒng)框圖。視圖系統(tǒng)1100可以用來向開發(fā)員或用戶呈現(xiàn)計(jì)算系統(tǒng)的不同方面。視圖系統(tǒng)1100包括視圖模塊1110。視圖模塊1110可以訪問分布式計(jì)算系統(tǒng)1120的各個(gè)組件的表示。具體地,視圖模塊1110可以訪問包含分布式計(jì)算系統(tǒng)1120的各組件的體系結(jié)構(gòu)層表示的體系結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)1130。服務(wù)數(shù)據(jù)存儲(chǔ)1140可以包括由分布式計(jì)算系統(tǒng)1120提供的服務(wù)的表示。模式數(shù)據(jù)存儲(chǔ)1150可以表示包含分布式計(jì)算系統(tǒng)1120的模式的表示。
視圖模塊1110可以訪問這些數(shù)據(jù)存儲(chǔ)來獲取關(guān)于如何將分布式計(jì)算系統(tǒng)1120作為整體向用戶表示的信息。用戶可以從諸如體系結(jié)構(gòu)視圖、服務(wù)視圖或模式視圖以及其它視圖等不同的視圖中進(jìn)行選擇,以獲取對(duì)分布式計(jì)算系統(tǒng)1120的設(shè)計(jì)、構(gòu)造或操作的進(jìn)一步深入了解。為了創(chuàng)建這樣的視圖,視圖模塊1110可以將來自包含在分布式計(jì)算系統(tǒng)1120內(nèi)的各種數(shù)據(jù)存儲(chǔ)的可用組件映射至這些組件的圖形指示符。視圖模塊1110然后可以將這些圖形指示符作為分布式計(jì)算系統(tǒng)1120的視圖向用戶呈現(xiàn)。
圖12是變換系統(tǒng)1200的系統(tǒng)框圖。變換系統(tǒng)1200可以用來將系統(tǒng)的一種表示轉(zhuǎn)化為該系統(tǒng)的體系結(jié)構(gòu)的基線。變換系統(tǒng)1200包括用例映射數(shù)據(jù)存儲(chǔ)1210。用例映射數(shù)據(jù)存儲(chǔ)1210可以包括從用于設(shè)計(jì)計(jì)算系統(tǒng)的用例到可用來實(shí)現(xiàn)該系統(tǒng)的體系結(jié)構(gòu)組件的某些映射。服務(wù)映射數(shù)據(jù)存儲(chǔ)1220可以包括從服務(wù)到可提供這些服務(wù)的體系結(jié)構(gòu)組件的映射。模式映射數(shù)據(jù)存儲(chǔ)1230可以包括從模式到可用來實(shí)現(xiàn)該模式的組件的映射。
變換模塊1240可以訪問所述的映射數(shù)據(jù)存儲(chǔ),并將映射轉(zhuǎn)化為體系結(jié)構(gòu)組件。變換模塊1240可以聚集并組裝一組體系結(jié)構(gòu)組件來創(chuàng)建基線體系結(jié)構(gòu)1250?;€體系結(jié)構(gòu)1250表示完成的系統(tǒng)的第一實(shí)現(xiàn)??梢园凑账谕膶?duì)該體系結(jié)構(gòu)進(jìn)行學(xué)習(xí)、測(cè)試、修改或擴(kuò)展。
此處所揭示和所述的組件,例如與檢測(cè)或標(biāo)識(shí)任務(wù)有關(guān)的組件等,可以使用各種基于人工智能的方案來實(shí)現(xiàn)各種任務(wù)。例如,可以通過使用自動(dòng)分類器系統(tǒng)和進(jìn)程來便于進(jìn)行源代碼層功能至模式的映射。而且,可以使用自動(dòng)分類器系統(tǒng)將硬件或軟件組件標(biāo)識(shí)為用例或模式的一部分。
分類器是將輸入屬性向量x=(x1,x2,x3,x4,xn)映射至該輸入屬于類的置信度的函數(shù),即f(x)=confidence(class)。這樣的分類可以使用基于概率和/或基于統(tǒng)計(jì)的分析(例如,分解為分析效用和成本)來預(yù)測(cè)或推斷用戶想要自動(dòng)執(zhí)行的動(dòng)作。在此處所述的系統(tǒng)的情況中,分類器在模式匹配和涉及概率比較或評(píng)估的功能中尤其有用。
支持向量機(jī)(SVM)是可以使用的分類器的一個(gè)示例。SVM通過尋找可能輸入空間中的超曲面來操作,其中超曲面試圖從非觸發(fā)事件中分裂觸發(fā)準(zhǔn)則。直觀上,這使分類對(duì)于接近但不同于訓(xùn)練數(shù)據(jù)的測(cè)試數(shù)據(jù)是正確的??梢允褂闷渌邢蚧驘o(wú)向的模型分類方法,包括,例如單純貝葉斯、貝葉斯網(wǎng)絡(luò)、決策樹以及提供獨(dú)立的不同模式的概率分類模型。此處所用的分類也包括用于開發(fā)優(yōu)先級(jí)模型的統(tǒng)計(jì)回歸。
可以通過本說明書容易地理解,此處揭示和描述的組件可以使用顯式訓(xùn)練(例如,通過普通訓(xùn)練數(shù)據(jù))以及隱式訓(xùn)練(例如,通過觀察用戶行為、接收外部信息)的分類器。例如,可以通過分類器構(gòu)造器和特征選擇模塊內(nèi)的學(xué)習(xí)或訓(xùn)練階段來配置SVM。這樣,分類器可以用于自動(dòng)執(zhí)行多個(gè)功能,包括但不限于,確定功能是否被正確地映射至模式。
參考圖13-20呈現(xiàn)流程圖。盡管為說明的簡(jiǎn)明性起見,例如此處以流程圖形式所示的一種或多種方法被示出和描述為一連串動(dòng)作,但是可以理解和領(lǐng)會(huì),所揭示和所述的組件和方法不受動(dòng)作的順序的限制,因?yàn)槟承﹦?dòng)作可以按不同的順序和/或與此處示出和描述的其它動(dòng)作同時(shí)發(fā)生。例如,本領(lǐng)域的技術(shù)人員可以理解和領(lǐng)會(huì),該方法可以替換地諸如在狀態(tài)圖中被表示為一連串相互關(guān)聯(lián)的狀態(tài)或事件。而且,不是所有示出的動(dòng)作對(duì)實(shí)現(xiàn)根據(jù)本發(fā)明的方法都是必需的。
圖13是描述可以使用此處所揭示和描述的組件實(shí)行的方法1300的操作過程的流程圖。方法1300可以被用來創(chuàng)建計(jì)算系統(tǒng)的可視化。然后可以使用該可視化以對(duì)計(jì)算系統(tǒng)進(jìn)行進(jìn)一步分析。
方法1300的操作過程在開始框1310處開始,并繼續(xù)至處理框1320。在處理框1320處,進(jìn)行對(duì)計(jì)算系統(tǒng)的硬件組件的探測(cè)。操作過程繼續(xù)至處理框1330處,在那里發(fā)現(xiàn)駐留在計(jì)算系統(tǒng)上的軟件應(yīng)用程序。在處理框1340處從計(jì)算系統(tǒng)的組件處發(fā)現(xiàn)軟件服務(wù)或其它可用服務(wù)。
操作過程繼續(xù)至處理框1350處,在那里映射計(jì)算組件之間的互連。在處理框1360處,在計(jì)算組件映射中發(fā)現(xiàn)的模式被匹配至模板模式。該匹配可以作為針對(duì)標(biāo)準(zhǔn)化或理想模式的逼近或最佳擬合來進(jìn)行。在處理框1370處創(chuàng)建模式映象。在處理框1380處,呈現(xiàn)該模式映象以供觀察。操作過程在結(jié)束框1390處終止。
圖14是示出根據(jù)所揭示的方法的另一方面可使用的方法1400的操作過程的流程圖。方法1400可以被用來標(biāo)識(shí)或發(fā)現(xiàn)計(jì)算系統(tǒng)的組件。這些組件具體地可包括硬件、軟件、服務(wù)或計(jì)算系統(tǒng)的其它可標(biāo)識(shí)特征。由該方法生成的信息可以被用于進(jìn)一步的設(shè)計(jì)或開發(fā)工作。
方法1400的執(zhí)行在開始框1410處開始,并繼續(xù)至處理框1420。在處理框1420處,進(jìn)行輪詢來定位系統(tǒng)的所有連接的硬件組件??梢酝ㄟ^使已定位的硬件組件輪詢連接至已經(jīng)定位的那些組件的其它組件來遞歸地進(jìn)行輪詢。操作過程繼續(xù)至處理框1430處,在那里生成使用模式的硬件圖來表示輪詢過程中定位的硬件組件。在處理框1440處,獲取駐留在每一已定位硬件上的軟件或應(yīng)用程序的列表。
可以由每一軟件或應(yīng)用程序提供的服務(wù)在處理框1450處標(biāo)識(shí)??梢酝ㄟ^直接查詢軟件和應(yīng)用程序,通過訪問已知由軟件或應(yīng)用程序提供的服務(wù)列表,通過這些方法的組合或完全通過另一合適的方法來執(zhí)行這樣的標(biāo)識(shí)。在處理框1460處,使用模式作為圖基礎(chǔ)來生成服務(wù)圖。在處理框1470處,向用戶呈現(xiàn)已創(chuàng)建圖的可視化。操作過程在結(jié)束框1480處終止。
圖15是可以使用此處揭示和描述的組件實(shí)行的方法1500的流程圖。方法1500是用于生成或匯編參考當(dāng)構(gòu)造計(jì)算系統(tǒng)時(shí)用作組成設(shè)計(jì)元素的模式的軟件代碼的高級(jí)處理流程。軟件代碼程序集可以作為對(duì)終端用戶隱藏的進(jìn)程進(jìn)行。
方法1500的執(zhí)行在開始框1510處開始。處理繼續(xù)至處理框1520處,在那里為已設(shè)計(jì)的系統(tǒng)的組件獲取組件圖。組件可以包括硬件、軟件、服務(wù)或其它可標(biāo)識(shí)的組件。在處理框1530處將組件圖與模式進(jìn)行比較。該比較可以概率地或作為最佳擬合過程來進(jìn)行。在處理框1540處,選取匹配組件圖或子圖的模式。
處理繼續(xù)至處理框1550處,在那里創(chuàng)建模式圖。模式圖可以是被設(shè)計(jì)的計(jì)算系統(tǒng)的模式層表示。在處理框1560處,根據(jù)該模式圖匯編鏈接至該模式圖的模式的代碼。處理在結(jié)束框1570處終止。
圖16是可以使用此處所揭示和描述的組件實(shí)行的方法1600的流程圖。方法1600可以被用來創(chuàng)建標(biāo)準(zhǔn)化的設(shè)計(jì)模式。這些標(biāo)準(zhǔn)化的設(shè)計(jì)模式可以被用作系統(tǒng)設(shè)計(jì)的組成設(shè)計(jì)元素。
方法1600的處理在開始框1610處開始。處理繼續(xù)至處理框1620處,在那里具體化設(shè)計(jì)模式。具體化可以包括創(chuàng)建設(shè)計(jì)模式的數(shù)據(jù)結(jié)構(gòu)或其它計(jì)算機(jī)實(shí)現(xiàn)的表示。在處理框1630處,創(chuàng)建可執(zhí)行組件職責(zé)協(xié)作(CRC)接口,并將其應(yīng)用于設(shè)計(jì)模式。
操作過程繼續(xù)至處理框1640處,在那里組件職責(zé)協(xié)作接口用于尋找合作器。在處理框1650處確認(rèn)系統(tǒng)設(shè)計(jì)職責(zé)。方法1600的處理在結(jié)束框1660處終止。
圖17是可以使用此處揭示和描述的組件實(shí)行的方法1700的流程圖。方法1700可以用來從模式中創(chuàng)建組成語(yǔ)言。這樣的語(yǔ)言可以被用作基于模式的計(jì)算系統(tǒng)的構(gòu)造的一部分。
方法1700的處理在開始框1710處開始。在處理框1720創(chuàng)建模式描述符。這樣的描述符可以采用各種形式。在該示例中,描述符能被用作從中可以形成組成語(yǔ)言的字母表。處理繼續(xù)至處理框1730處,在那里將模式描述符建立為基線字母表。在處理框1740處,建立使用該字母表的語(yǔ)法。在處理框1750處建立該語(yǔ)言的句法。處理在結(jié)束框1760處終止。
圖18是可以使用此處揭示和描述的組件實(shí)行的方法1800的流程圖。方法1800可以用來在多個(gè)層次上測(cè)試已設(shè)計(jì)的基于模式的計(jì)算系統(tǒng)。這樣的測(cè)試可以潛在地標(biāo)識(shí)體系結(jié)構(gòu)安排、軟件設(shè)計(jì)或?qū)崿F(xiàn)中的缺陷。方法1800的處理在開始框1810處開始。處理繼續(xù)至處理框1820處,在那里訪問可用作組成設(shè)計(jì)元素的模式。在處理框1830處,在體系結(jié)構(gòu)層上,在計(jì)算系統(tǒng)表示上運(yùn)行一連串的測(cè)試腳本。這些測(cè)試腳本可以被設(shè)計(jì)來實(shí)行各個(gè)體系結(jié)構(gòu)組件之間的每個(gè)可能的互連。
在處理框1840處,該處理通過在設(shè)計(jì)層上在計(jì)算系統(tǒng)表示上運(yùn)行測(cè)試腳本來繼續(xù)。如同運(yùn)行在體系結(jié)構(gòu)層上的測(cè)試腳本一樣,設(shè)計(jì)層測(cè)試腳本在設(shè)計(jì)層潛在地檢查每個(gè)互連。處理繼續(xù)至處理框1850處,在那里測(cè)試腳本在計(jì)算系統(tǒng)的實(shí)現(xiàn)層上運(yùn)行。這樣的測(cè)試腳本可以標(biāo)識(shí)實(shí)際的實(shí)現(xiàn)問題,使得可以更正這樣的問題。方法1800的處理在結(jié)束框1860處終止。
圖19是可以使用此處揭示和描述的組件實(shí)行的方法1900的流程圖。方法1900可以用于測(cè)量已實(shí)現(xiàn)系統(tǒng)的性能的各個(gè)方面。這樣的性能測(cè)量或度量可以用于標(biāo)識(shí)實(shí)現(xiàn)問題或區(qū)域來集中進(jìn)行優(yōu)化工作。
方法1900的處理在開始框1910處開始,并繼續(xù)至處理框1920。在處理框1920處,為計(jì)算系統(tǒng)獲取性能度量。在處理框1930處,將所獲取的性能度量匹配至可用作組成設(shè)計(jì)元素的模式。在處理框1940處,按照預(yù)期或理想性能度量來評(píng)估所獲取的性能度量。這樣的評(píng)估可以是基于概率的,或者是按照某些基準(zhǔn)過程。處理繼續(xù)至處理框1950,在那里顯示與每一模式相關(guān)聯(lián)的度量。處理在結(jié)束框1960處終止。
圖20是可以使用此處揭示和描述的組件實(shí)行的方法2000的流程圖。方法2000可以用來為基于模式的計(jì)算系統(tǒng)評(píng)估總體安全狀況。這樣的評(píng)估可以用來更正安全缺陷,并改進(jìn)計(jì)算系統(tǒng)的總體安全性。
方法2000的處理在開始框2010處開始。處理繼續(xù)至處理框2020處,在那里已標(biāo)識(shí)的安全問題被匹配至可用作組成設(shè)計(jì)元素的模式。在處理框2030處,在模式上運(yùn)行安全測(cè)試腳本。在處理框2040處標(biāo)識(shí)安全缺陷。在處理框2050處,這樣的安全缺陷與各自的模式相關(guān)聯(lián)并被顯示。處理在結(jié)束框2060處終止。
圖21是通過監(jiān)控器程序示出體系結(jié)構(gòu)可視化的某些方面的GUI 2100的示意圖。為清楚起見,所示的示例是基于名為Global Bank(全球銀行)的金融應(yīng)用程序。GUI 2100包括可視化窗格2110和用例窗格2120??梢暬案?110包括多個(gè)選項(xiàng)卡2130。可以通過諸如使用鼠標(biāo)驅(qū)動(dòng)的指針點(diǎn)擊來激活每一選項(xiàng)卡2130來提供不同的功能。在所示示例中,Application(應(yīng)用程序)選項(xiàng)卡2140被示為活動(dòng)的,且可視化窗格2110示出通用的歡迎屏幕或登錄屏幕。
用例窗格2120包括用例清單,諸如在統(tǒng)一建模語(yǔ)言(UML)方案中使用的用例類型等。用例清單包括每一用例的名稱,以及每一范例的簡(jiǎn)要描述。諸如下拉菜單、控制按鈕、復(fù)選框等屏幕上的控件可以由用戶選取來激活或修改與該用例窗格相關(guān)聯(lián)的功能。
圖22示出了其中System View(系統(tǒng)視圖)選項(xiàng)卡2210活動(dòng)的GUI 2200。骨架應(yīng)用程序的視圖即體系結(jié)構(gòu)2220在窗格的左側(cè)示出。在窗格的右側(cè)示出一組用例描述2230。具體地,在下拉式菜單2240中,列出用例View Scheduled Payment(查看預(yù)定的付款)。該View Scheduled Payment用例的子范例在用例窗格中以表格格式列出。
參考體系結(jié)構(gòu)2220,示出用例View Scheduled Payment中涉及的組件連同其之間的相互關(guān)系。具體地,從上至下,外部合作伙伴和顧客通過防火墻連接至包括SMTP服務(wù)器、集成服務(wù)器和web服務(wù)器的以太網(wǎng)。該以太網(wǎng)又通過第二防火墻連接至包含集成服務(wù)器、具有相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)的付款組件、具有相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)的CRM組件、目錄服務(wù)組件以及網(wǎng)關(guān)服務(wù)的第二以太網(wǎng)。網(wǎng)關(guān)服務(wù)通過第三防火墻被連接至大型機(jī)的網(wǎng)關(guān)組件。第二集成服務(wù)被連接至包含兩個(gè)連網(wǎng)銀行系統(tǒng)的遠(yuǎn)程數(shù)據(jù)中心。窗格2220中的每一組件由表示相關(guān)系統(tǒng)組件的抽象的圖標(biāo)示出。這些組件的圖形表示提供了體系結(jié)構(gòu)的易于理解且直觀的描述。
圖23是包括Service View(服務(wù)視圖)選項(xiàng)卡2310作為活動(dòng)標(biāo)簽的GUI 2300的示圖。當(dāng)Service View標(biāo)簽2310活動(dòng)時(shí),在可視化窗格2320中示出的體系結(jié)構(gòu)基于由系統(tǒng)組件提供的功能而不是各自可以提供一個(gè)以上服務(wù)的組件的自身被示為一組連接的抽象。用例窗格2320中所選取的用例的組件在可視化窗格2320中被圖形地示出。GUI 2300的總體效果是向用戶示出通過所選取的用例的步驟。
圖24示出了包含活動(dòng)Pattern View(模式視圖)選項(xiàng)卡2410的GUI 2400。在用例窗格2420中以類似于之前的附圖的GUI呈現(xiàn)的方式示出用例以及該用例的子組件。當(dāng)Pattern View標(biāo)簽2410活動(dòng)時(shí),向用戶呈現(xiàn)抽象模式層上的系統(tǒng)組件的圖形表示2430。用戶可以通過諸如使用鼠標(biāo)驅(qū)動(dòng)的指針右擊來選取并激活圖形表示2430的單個(gè)組件,以獲取所表示系統(tǒng)的進(jìn)一步細(xì)節(jié)。這樣的進(jìn)一步細(xì)節(jié)可以包括模式敘述以及底層源代碼的視圖。
圖25是包含活動(dòng)Test(測(cè)試)選項(xiàng)卡2510的GUI 2500的示意圖。如同之前的示例,用例窗格2520以之前所述的格式示出用例。呈現(xiàn)窗格2530包括為與所選用例相關(guān)聯(lián)的組件定義的測(cè)試的清單。附加的選項(xiàng)卡2540允許用戶訪問附加的功能。在所示示例中,示出包含數(shù)據(jù)訪問測(cè)試和網(wǎng)絡(luò)連接測(cè)試的一組測(cè)試。
為了提供用于實(shí)現(xiàn)各種組件或方法的另外的環(huán)境,圖26-27及以下討論旨在提供對(duì)合適的計(jì)算環(huán)境的簡(jiǎn)要概括描述。盡管以上在運(yùn)行在本地計(jì)算機(jī)和/或遠(yuǎn)程計(jì)算機(jī)上的計(jì)算機(jī)程序的計(jì)算機(jī)可執(zhí)行指令的通用語(yǔ)境中描述之前所揭示的組件和方法,但是本領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到,也可以結(jié)合其它程序模塊來實(shí)現(xiàn)這些組件和方法。一般而言,程序模塊包括例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。
而且,本領(lǐng)域的技術(shù)人員可以理解,所揭示和描述的組件和方法可以使用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)現(xiàn),包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、小型機(jī)、大型機(jī)、以及個(gè)人計(jì)算機(jī)、手持式計(jì)算設(shè)備、基于微處理器和/或可編程消費(fèi)電子產(chǎn)品等,它們中的每一個(gè)都可以用來與一個(gè)或多個(gè)相關(guān)聯(lián)的設(shè)備通信??梢栽诜植际接?jì)算環(huán)境中進(jìn)行其它的實(shí)現(xiàn),在分布式計(jì)算環(huán)境中,某些任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。然而,此處揭示和描述的組件和方法中的某些(如果不是全部)可以在獨(dú)立計(jì)算機(jī)上實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和/或遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。
圖26是示例計(jì)算環(huán)境2600的示意性框圖。系統(tǒng)2600包括一個(gè)或多個(gè)客戶機(jī)2610??蛻魴C(jī)2610可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。系統(tǒng)2600也包括一個(gè)或多個(gè)服務(wù)器2620。服務(wù)器2620也可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。服務(wù)器2620例如可以通過使用本發(fā)明來容納執(zhí)行變換的線程或進(jìn)程。
客戶機(jī)2610與服務(wù)器2620之間的一種可能的通信可以是以適于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)包的形式。系統(tǒng)2600包括可用于促進(jìn)客戶機(jī)2610與服務(wù)器2620之間的通信的通信架構(gòu)2640??蛻魴C(jī)2610操作上連接至可以用于存儲(chǔ)對(duì)客戶機(jī)2610本地的信息的一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲(chǔ)2650。類似地,服務(wù)器2620操作上連接至可用來存儲(chǔ)對(duì)服務(wù)器2620本地的信息的一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)2630。
參考圖27,示例性環(huán)境2710包括計(jì)算機(jī)2712。計(jì)算機(jī)2712包括處理單元2714、系統(tǒng)存儲(chǔ)器2716和系統(tǒng)總線2718。系統(tǒng)總線2718將包括但不限于系統(tǒng)存儲(chǔ)器2716的系統(tǒng)組件耦合至處理單元2714。處理單元2714可以是任何各種可用的處理器。也可以使用雙微處理器和其它多處理器體系結(jié)構(gòu)作為處理單元2714。
系統(tǒng)總線2718可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線和/或使用各種可用的總線體系結(jié)構(gòu)中的任一種的局部總線,可用的總線體系結(jié)構(gòu)包括,但不限于,工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)、微通道體系結(jié)構(gòu)(MCA)、擴(kuò)展的ISA(EISA)、智能驅(qū)動(dòng)器電子接口(IDE)、VESA局部總線(VLB)、外圍部件互連(PCI)、插件總線、通用串行總線(USB)、高級(jí)圖形接口(AGP)、個(gè)人計(jì)算機(jī)存儲(chǔ)卡國(guó)際協(xié)會(huì)總線(PCMCIA)、火線(IEEE 1394)以及小型計(jì)算機(jī)系統(tǒng)接口(SCSI)。
系統(tǒng)存儲(chǔ)器2716包括易失性存儲(chǔ)器2720和非易失性存儲(chǔ)器2722?;据斎?輸出系統(tǒng)(BIOS)包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)2712中元件之間傳遞信息的基本例程,它通常存儲(chǔ)在非易失性存儲(chǔ)器2722中。作為說明,而非限制,易失性存儲(chǔ)器2722可以包括只讀存儲(chǔ)器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除ROM(EEPROM)或閃存。易失性存儲(chǔ)器2720可以包括用作外部高速緩存的隨機(jī)存取存儲(chǔ)器(RAM)。作為說明,而非限制,RAM以多種形式可用,諸如同步RAM(SRAM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙倍數(shù)據(jù)速率SDRAM(DDR SDRAM)、增強(qiáng)型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)以及直接Rambus RAM(DRRAM)。
計(jì)算機(jī)2712也包括可移動(dòng)/不可以移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。例如,圖27示出磁盤存儲(chǔ)2724。磁盤存儲(chǔ)2724包括,但不限于,如磁盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、Jaz驅(qū)動(dòng)器、Zip驅(qū)動(dòng)器、Ls-100驅(qū)動(dòng)器、閃存卡或記憶棒的設(shè)備。另外,磁盤存儲(chǔ)2724可以包括獨(dú)立或與其它存儲(chǔ)介質(zhì)結(jié)合的存儲(chǔ)介質(zhì),包括但不限于,諸如光盤ROM設(shè)備(CD-ROM)、CD可記錄驅(qū)動(dòng)器(CD-R驅(qū)動(dòng)器)、CD可重寫驅(qū)動(dòng)器(CD-RW驅(qū)動(dòng)器)或數(shù)字多功能盤ROM驅(qū)動(dòng)器(DVD-ROM)等的光盤驅(qū)動(dòng)器。為了便于將磁盤存儲(chǔ)設(shè)備2724連接至系統(tǒng)總線2718,一般使用諸如接口2726等可移動(dòng)或不可移動(dòng)接口。
可以理解,圖27描述了作為用戶和在合適的操作環(huán)境2710中描述的基本計(jì)算機(jī)資源之間的中介的軟件。這樣的軟件包括操作系統(tǒng)2728??杀淮鎯?chǔ)在磁盤存儲(chǔ)2724上的操作系統(tǒng)2728用來控制和分配計(jì)算機(jī)系統(tǒng)2712的資源。系統(tǒng)應(yīng)用程序2730利用了操作系統(tǒng)2728通過存儲(chǔ)在系統(tǒng)存儲(chǔ)器2716或者磁盤存儲(chǔ)2714上的程序模塊2732和程序數(shù)據(jù)2734執(zhí)行的資源管理??梢岳斫猓沂竞兔枋龅慕M件和方法可以使用各種操作系統(tǒng)或操作系統(tǒng)的組合來實(shí)現(xiàn)。
用戶通過輸入設(shè)備2736向計(jì)算機(jī)2712輸入命令或信息。輸入設(shè)備2736包括,但不限于,諸如鼠標(biāo)、跟蹤球、指示筆、觸摸墊等定點(diǎn)設(shè)備、鍵盤、麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀、TV調(diào)諧器卡、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、網(wǎng)絡(luò)攝像頭等。這些和其它輸入設(shè)備經(jīng)由接口端口2738通過系統(tǒng)總線2718連接至處理單元2714。接口端口2738包括,例如串行端口、并行端口、游戲端口和通用串行總線(USB)。輸出設(shè)備2740使用某些與輸入設(shè)備2736相同類型的端口。從而,例如,USB端口可以被用于向計(jì)算機(jī)2712提供輸入,以及向輸出設(shè)備2740提供來自計(jì)算機(jī)2712的輸出信息。提供輸出適配器2742來示出,存在類似監(jiān)視器、揚(yáng)聲器和打印機(jī)以及其它需要專用適配器的輸出設(shè)備2740的某些輸出設(shè)備2740。作為說明而非限制,輸出適配器2742包括提供輸出設(shè)備2740和系統(tǒng)總線2718之間的連接手段的顯卡和聲卡。應(yīng)該注意,諸如遠(yuǎn)程計(jì)算機(jī)2744等其它設(shè)備和/或設(shè)備系統(tǒng)同時(shí)提供輸入和輸出能力兩者。
計(jì)算機(jī)2712可使用至一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)2744的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)2744可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、工作站、基于微處理器的裝置、對(duì)等設(shè)備或其它常見網(wǎng)絡(luò)節(jié)點(diǎn)等,且通常包括上文相對(duì)于計(jì)算機(jī)2712描述的許多或所有元件。為簡(jiǎn)潔起見,對(duì)于遠(yuǎn)程計(jì)算機(jī)2744僅示出存儲(chǔ)器存儲(chǔ)設(shè)備2746。遠(yuǎn)程計(jì)算機(jī)2744通過網(wǎng)絡(luò)接口2748被邏輯連接至計(jì)算機(jī)2712,并且然后通過通信連接2750被物理地連接。網(wǎng)絡(luò)接口2748包括諸如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)的有線和/或無(wú)線的通信網(wǎng)絡(luò)。LAN技術(shù)包括光纖分布式數(shù)據(jù)接口(FDDI)、銅線分布式數(shù)據(jù)接口(CDDI)、以太網(wǎng)、令牌環(huán)等。WAN技術(shù)包括,但不限于,點(diǎn)對(duì)點(diǎn)鏈路、類似綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)及其變體的電路交換網(wǎng)絡(luò)、分組交換網(wǎng)絡(luò)和數(shù)字用戶線(DSL)。
通信連接2750指的是用來將網(wǎng)絡(luò)接口2748連接至總線2718的硬件/軟件。盡管為說明清楚,將通信連接2750示為位于計(jì)算機(jī)2712內(nèi),然而通信連接2750也可以在計(jì)算機(jī)2712外部。僅為示例的目的,連接至網(wǎng)絡(luò)接口2748所必需的硬件/軟件包括內(nèi)部和外部技術(shù),諸如包括常規(guī)電話級(jí)調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器和DSL調(diào)制解調(diào)器等的調(diào)制解調(diào)器、ISDN適配器以及以太網(wǎng)卡。
以上描述的包括所揭示和描述的組件和方法的示例。當(dāng)然,不可能描述每個(gè)可想象的組件或方法的組合,但是本領(lǐng)域的普通技術(shù)人員可以認(rèn)識(shí)到,本發(fā)明的眾多其它組合和排列是可能的。從而,示例旨在包括落入所附權(quán)利要求書精神和范圍內(nèi)的所有這樣的變更、修改和變化。
特別地,關(guān)于由以上所述的組件、設(shè)備、電路、系統(tǒng)等執(zhí)行的各種功能,用于描述這樣的組件的術(shù)語(yǔ)(包括對(duì)“裝置”的引用)除非以其它方式指出,否則它對(duì)應(yīng)于執(zhí)行所述組件的指定功能的任何組件(例如,功能等效物),即使與執(zhí)行此處所示示例性中的功能的所揭示的結(jié)構(gòu)在結(jié)構(gòu)上不同。就此,也可以認(rèn)識(shí)到,系統(tǒng)以及含有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)包含用于執(zhí)行此處揭示和描述的各種方法的動(dòng)作和/或事件的組件。
另外,盡管僅參考若干實(shí)施例中的一個(gè)揭示本發(fā)明的特定特征,然而這樣的特征可以按照所期望的與其它實(shí)現(xiàn)的一個(gè)或多個(gè)特征相結(jié)合,并對(duì)任何給定或特定應(yīng)用程序是有利的。而且,就在詳細(xì)描述或者在權(quán)利要求書中所使用的術(shù)語(yǔ)“包括”和“包含”及其變換而言,這些術(shù)語(yǔ)旨在以類似于術(shù)語(yǔ)“含有”的方式為包括性的。
權(quán)利要求
1.一種用于呈現(xiàn)計(jì)算系統(tǒng)的可視表示的系統(tǒng),包括訪問可用作組成設(shè)計(jì)元素的模式的數(shù)據(jù)存儲(chǔ)以將計(jì)算系統(tǒng)的組件映射至模式的匹配引擎;以及呈現(xiàn)由所述匹配引擎所映射的模式的圖形表示的可視化器。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括發(fā)現(xiàn)所述計(jì)算系統(tǒng)組件的監(jiān)控器引擎。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,還包括將機(jī)器可解釋的代碼與所述模式進(jìn)行匹配的代碼匹配引擎。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,還包括允許基于所述模式構(gòu)造計(jì)算組件的組成引擎。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,還包括測(cè)試已構(gòu)造的基于模式的計(jì)算組件的測(cè)試模塊。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,還包括測(cè)試所述已構(gòu)造的基于模式的計(jì)算組件的安全方面的安全模塊。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,還包括為所述已構(gòu)造的基于模式的計(jì)算組件收集度量的測(cè)量模塊。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,還包括提供基于體系結(jié)構(gòu)視圖、服務(wù)視圖和模式視圖中的至少一種的所述已構(gòu)造的基于模式的計(jì)算系統(tǒng)的視圖的視圖模塊。
9.一種用于可視地表示計(jì)算系統(tǒng)組件的方法,包括將模式定義匹配至計(jì)算系統(tǒng)的組件;以及圖形地描繪所匹配模式定義的表示以向用戶呈現(xiàn)。
10.如權(quán)利要求9所述的方法,其特征在于,還包括發(fā)現(xiàn)可被匹配至所述模式定義的所述計(jì)算系統(tǒng)的組件。
11.如權(quán)利要求10所述的方法,其特征在于,還包括將源代碼與所述模式進(jìn)行匹配。
12.如權(quán)利要求11所述的方法,其特征在于,還包括通過使用第二模式定義作作為組成設(shè)計(jì)元素來構(gòu)造第二計(jì)算組件。
13.如權(quán)利要求12所述的方法,其特征在于,還包括測(cè)試所述第二計(jì)算組件。
14.如權(quán)利要求13所述的方法,其特征在于,還包括評(píng)估所述第二計(jì)算組件的安全方面。
15.一種用于可視地表示計(jì)算系統(tǒng)組件的系統(tǒng),包括用于將模式定義匹配至計(jì)算系統(tǒng)的組件的裝置;以及用于圖形地描繪所匹配的模式定義的表示以向用戶呈現(xiàn)的裝置。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,還包括用于發(fā)現(xiàn)所述計(jì)算系統(tǒng)的組件的裝置。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,還包括用于將源代碼與所述模式進(jìn)行匹配的裝置。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,還包括用于通過使用第二模式定義作為組成設(shè)計(jì)元素來構(gòu)造第二計(jì)算組件的裝置。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括用于測(cè)試所述第二計(jì)算組件的裝置。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,還包括用于評(píng)估所述第二計(jì)算組件的安全方面的裝置。
全文摘要
揭示了一種用于呈現(xiàn)計(jì)算系統(tǒng)的可視表示的系統(tǒng)。該系統(tǒng)包括訪問可被用作組成設(shè)計(jì)元素的模式的數(shù)據(jù)存儲(chǔ)以將計(jì)算系統(tǒng)的組件映射至模式。該系統(tǒng)還包括呈現(xiàn)由該匹配引擎所映射的模式的圖形表示的可視化器。也提出了使用該系統(tǒng)的方法。
文檔編號(hào)G06F9/44GK1818859SQ200610002520
公開日2006年8月16日 申請(qǐng)日期2006年1月6日 優(yōu)先權(quán)日2005年2月7日
發(fā)明者D·N·特勞布里奇, E·R·拉夫蒂, H·G·庫(kù)寧哈姆, J·J·瓦納格爾, L·A·布拉德 申請(qǐng)人:微軟公司