freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向方面的實(shí)時(shí)系統(tǒng)開發(fā)方法碩士學(xué)位終稿畢業(yè)論文-全文預(yù)覽

2025-07-19 23:07 上一頁面

下一頁面
  

【正文】 (或服務(wù))給客戶。靜態(tài)使用模型包(StaticUsageModel)僅顯示客戶與資源間的靜態(tài)鏈接,而沒有說明客戶如何和何時(shí)使用資源,其模型如圖36:圖36 靜態(tài)使用模型[27] 與客戶相連的是需求QoS集合,可以與資源提供的QoS比較來確定是否需求被滿足。 資源使用模型包(ResourceUsageModel)代表了客戶端,而核心資源包模型代表了服務(wù)端。激勵(lì)(Stimulus)相當(dāng)于主調(diào)對(duì)象和被調(diào)對(duì)象間的通信實(shí)例。描述符是設(shè)計(jì)時(shí)概念,如類和類型,而實(shí)例是運(yùn)行時(shí)元素,它由相應(yīng)的描述符創(chuàng)建。這個(gè)框架構(gòu)成了定量分析模型的基礎(chǔ)。RSAProfile用來分析實(shí)時(shí)CORBA的可調(diào)度性。它一般用于硬實(shí)時(shí)系統(tǒng),用來分析系統(tǒng)能否在指定時(shí)間內(nèi)對(duì)時(shí)間做出反應(yīng)。 由于并發(fā)和時(shí)間是這個(gè)說明書的基礎(chǔ),所以將它們的定義放在單獨(dú)的子概況集里。 UML有兩個(gè)概況集(profile)與實(shí)時(shí)系統(tǒng)建模有關(guān),一個(gè)是“可調(diào)度性,性能和時(shí)間說明規(guī)范的UMLTM概況集”[27],另一個(gè)是“建模服務(wù)質(zhì)量和容錯(cuò)的特征及機(jī)制的UMLTM概況集”[29]。(6) 有限時(shí)間等待匯集:調(diào)用者在指定時(shí)間內(nèi)等待接收者接受消息,超時(shí)后,調(diào)用者停止發(fā)送消息。(2) 函數(shù)調(diào)用:同步調(diào)用的一種,被調(diào)用的動(dòng)作在調(diào)用者的棧幀上執(zhí)行。periodicstring ::= “ ‘periodic’ ,” timevalue [ “,” timevalue]描述周期間隔到達(dá)模式,第一個(gè)時(shí)間值指明周期,第二個(gè)時(shí)間值指明最大偏差。UML實(shí)時(shí)擴(kuò)展規(guī)范[27]中表示到達(dá)模式為:“boundedstring | burstystring | irregularstring | periodicstring |unboundedstring”。周期性消息每隔一定時(shí)間就出現(xiàn)一次,周期性消息可能出現(xiàn)抖動(dòng)(jitter),即周期性消息到達(dá)偏離定義的模式。 實(shí)時(shí)需求 實(shí)時(shí)系統(tǒng)一般應(yīng)用于特殊的環(huán)境中,系統(tǒng)要在一定時(shí)間內(nèi)對(duì)環(huán)境的變化產(chǎn)生某些動(dòng)作,環(huán)境千差萬別,這些環(huán)境中的時(shí)間也各不相同。如通信系統(tǒng)VOIP。 實(shí)時(shí)系統(tǒng)有三類時(shí)間限制[26]:(1) 硬(hard)時(shí)間限制:滯后的響應(yīng)是不正確的且說明系統(tǒng)出錯(cuò)。第三章 實(shí)時(shí)系統(tǒng)軟件設(shè)計(jì)本章介紹了在設(shè)計(jì)實(shí)時(shí)系統(tǒng)軟件時(shí),需要說明的一些需求和如何表達(dá)這些需求;并介紹了支持實(shí)時(shí)系統(tǒng)建模的實(shí)時(shí)UML擴(kuò)展和建模工具。這樣在before方法遍歷o的成員。它定義了traverse方法的執(zhí)行環(huán)境。} }。 v = new (){ private double sum。 DJ是一個(gè)Java包,它支持AP,這樣允許程序在滿足Demeter法則的情況下不會(huì)出現(xiàn)過多的僅有很少代碼的方法。這需要將對(duì)象間關(guān)系局部化。 Hyperspace用不同方式分割系統(tǒng),形成不同的維,維中關(guān)注點(diǎn)單獨(dú)開發(fā),不同維中的關(guān)注點(diǎn)可以建立映射, 這樣不同角色的開發(fā)人員只關(guān)心特定的部分,開發(fā)出可組合的關(guān)注點(diǎn),最后按不同的組合規(guī)則組合關(guān)注點(diǎn)形成不同的系統(tǒng)。如:hypermodule SEE_With_Display_And_Checkhyperslices: , ,relationships: mergeByName由于在這個(gè)例子里不同hyperslices里有同樣名字的類表示同一個(gè)概念,所以按照mergeByName把它們組合在一起形成一個(gè)新的、有同樣名字的、更加詳細(xì)的類。Hyper/J自動(dòng)創(chuàng)建Class File維,并在這維為每個(gè)class文件創(chuàng)建一個(gè)關(guān)注點(diǎn),關(guān)注點(diǎn)的內(nèi)容是接口、類、方法、成員變量等單元。如果系統(tǒng)要加入風(fēng)格檢查功能,可以在功能特征上新加這個(gè)關(guān)注點(diǎn),然后單獨(dú)開發(fā)這個(gè)關(guān)注點(diǎn),最后把它與別的功能特征組合即可。Hyperspace把系統(tǒng)多維分解為不同種類的關(guān)注點(diǎn)(每一種中又有很多關(guān)注點(diǎn)),單獨(dú)開發(fā)這些關(guān)注點(diǎn),然后按照組合規(guī)則(可以有多種組合規(guī)則)把這些關(guān)注點(diǎn)組合在一起形成一個(gè)組件或系統(tǒng)。一個(gè)單元與多個(gè)關(guān)注點(diǎn)相關(guān),它可以映射到維中關(guān)注點(diǎn),一個(gè)關(guān)注點(diǎn)也可能與多個(gè)單元相關(guān),即用多個(gè)單元來實(shí)現(xiàn)某個(gè)關(guān)注點(diǎn)。 關(guān)注點(diǎn)空間(concern space)組織領(lǐng)域內(nèi)的單元以分離所有重要的關(guān)注點(diǎn)。 Hyperspace Hyperspace[21]是一個(gè)支持多維關(guān)注點(diǎn)分離的模型。顯然它需要侵入已有的設(shè)計(jì)和代碼中進(jìn)行修改,支持緩存的代碼與其它代碼交織在了一起,降低了了可理解性和功能的演進(jìn)。包括計(jì)算表達(dá)式的值并顯示結(jié)果的計(jì)算(evaluation)工具,顯示工具和檢查語法和語義的檢查工具。多維關(guān)注點(diǎn)分離(multidimensional separation of concerns,MDSOC)要求支持任意多的關(guān)注點(diǎn)維數(shù),能同時(shí)沿著這些方向分解關(guān)注點(diǎn),能動(dòng)態(tài)處理新的關(guān)注點(diǎn)新的分解方向,能處理重疊交互的關(guān)注點(diǎn)[20]。雖然在這些領(lǐng)域進(jìn)行了很好的研究與應(yīng)用,但這些問題仍然存在,這主要是由于當(dāng)前軟件開發(fā)方法一次僅支持一種關(guān)注點(diǎn)的分離。由于過濾器的語義也是正交的,它們的組合可以解決這個(gè)問題。這樣滿足了新的時(shí)間約束,并且重用了父類代碼,消除了時(shí)間需求與應(yīng)用代碼混雜在一起時(shí)帶來的繼承反常。(5) filters(6) fastTimeSpec: RealTime = { True = self.* | (tconsumerNew) | }(7) invoke: Dispatch = {True = myNode.* }。如果消息與DistributionNode提供的方法匹配,則接受該消息,如果新的時(shí)間屬性小于消息的當(dāng)前截至?xí)r間,則過濾器為消息設(shè)置新的截至?xí)r間。消息的時(shí)間屬性用time對(duì)象表示,time有start(消息的最早開始時(shí)間)和end(消息的截至?xí)r間)屬性。(12) invoke: Dispatch = { True = mySwitch.*, True = inner.* }。(5) methods(6) productionLineDisconnected returns nil。但是由于實(shí)時(shí)需求與應(yīng)用代碼混和在一起,子類需要重新定義消費(fèi)線的斷開方法,以使用新的時(shí)間約束,這樣父類的斷開方法無法重用,出現(xiàn)了第一種反常。結(jié)點(diǎn)控制電流從生產(chǎn)線流向消費(fèi)線。在實(shí)時(shí)系統(tǒng)中,繼承以前經(jīng)過驗(yàn)證的模塊很重要,但是實(shí)時(shí)需求的改變往往會(huì)導(dǎo)致過多的重新設(shè)計(jì),這種情況稱為實(shí)時(shí)需求繼承反常,即子類時(shí)間需求改變導(dǎo)致在子類里出現(xiàn)過多的重新設(shè)計(jì)而不是繼承父類的已有實(shí)現(xiàn)。 Error過濾器:如果拒絕消息,產(chǎn)生異常;否則傳遞到下一個(gè)過濾器。圖24 檢查接受的消息算法[17]消息要被所有的過濾器檢查,過濾器用它的接受集合檢查消息,如果滿足接受集合里的一個(gè)元素,那么通過當(dāng)前過濾器的檢查,然后轉(zhuǎn)到下一個(gè)過濾器。12) if accept13) then handler(f).acceptMessage(m)14) else handler(f).rejectMessage(m)。8) dest := target(mj)。A(f)被稱為接受集合(accept set function),是一個(gè)有序的集合A。接口對(duì)象的申明方式是為objectName:ClassName。因?yàn)閷?duì)象之間的通信的機(jī)制是消息,這個(gè)模型通過過濾器來操控進(jìn)入或出去的消息來改變對(duì)象的行為,圖23 描述了這個(gè)模型的組成部分。int TraceShape::m_created=0。} ~Helper(){TraceShape::m_destroyed++。圖22顯示了TraceShape 方面來記錄Shape類型的對(duì)象的構(gòu)造和析構(gòu)。在AspectC++中也有兩類連接點(diǎn),名字連接點(diǎn)用來形成名字切入點(diǎn),如程序中的類名;代碼連接點(diǎn)用來形成代碼切入點(diǎn),如程序中的函數(shù)調(diào)用和執(zhí)行。在AspectC++中,有兩種切入點(diǎn):名字切入點(diǎn)(name pointcut)和代碼切入點(diǎn)(code pointcut)。 AspectC++ AspectC++[13,14]對(duì)C++進(jìn)行擴(kuò)展以支持面向方面編程,它參考AspectJ所使用的方法來對(duì)另一種編程語言進(jìn)行擴(kuò)展,所以它們的模型基本相同,語法上有些不同。}}圖21 Timing方面[12]它給每個(gè)連接引入一個(gè)計(jì)時(shí)器,給每個(gè)用戶引入一個(gè)保存全部連接時(shí)間的變量。call(void ())。amp。public long getTotalConnectTime(Customer cust) {return 。同一個(gè)連接點(diǎn)可以被多個(gè)方面或一個(gè)方面里的多個(gè)通知影響,AspectJ定義了這些方面和通知的優(yōu)先關(guān)系。通知有多種類型,before通知在指定連接點(diǎn)抵達(dá)但與該連接點(diǎn)相連的程序運(yùn)行前執(zhí)行;after returning通知在指定連接點(diǎn)處的程序成功返回后執(zhí)行;after throwing通知在指定連接點(diǎn)處程序拋出Throwable對(duì)象后執(zhí)行;after通知在指定連接點(diǎn)程序執(zhí)行后執(zhí)行,不論成功返回還是拋出異常;around通知在指定連接點(diǎn)處執(zhí)行,只有在around通知體里顯式調(diào)用proceed,該連接點(diǎn)處的程序才能執(zhí)行。amp。方面可以在這些點(diǎn)改變系統(tǒng)的行為。如AspectJ、組合過濾器、多維關(guān)注點(diǎn)分離和自適應(yīng)編程等。 第四章分析介紹了面向方面社區(qū)對(duì)面向方面建模的研究。 研究?jī)?nèi)容 本文比較完整地分析介紹了分離和模塊化關(guān)注點(diǎn)的方法,以及面向方面社區(qū)對(duì)面向方面建模的研究;闡述了實(shí)時(shí)系統(tǒng)中實(shí)時(shí)需求的主要概念和建模方法;提出了一個(gè)新的通過擴(kuò)展UML進(jìn)行面向方面建模的方法,并將這個(gè)方法應(yīng)用于實(shí)時(shí)系統(tǒng)開發(fā)。因?yàn)樵趯?shí)時(shí)操作系統(tǒng)里有許多橫切的特征,為了滿足日益增長(zhǎng)的對(duì)實(shí)時(shí)操作系統(tǒng)快速定制的要求,需要面向方面編程技術(shù),這里把函數(shù)看成一系列的基本塊,基本塊的功能代碼可由不同的方面提供,這樣橫切了函數(shù),且這些基本塊可視,提供了圖形表示的開發(fā)框架;支持類的組裝,不同方面里的相同的類可以組成一個(gè)大類。(3)組合方面。(2)運(yùn)行時(shí)系統(tǒng)依賴部分。在實(shí)時(shí)系統(tǒng)和嵌入式系統(tǒng)中建立了一些模型[5,6]。分別編寫功能部件和非功能方面,然后把它們組合在一起。實(shí)時(shí)嵌入式系統(tǒng)也有安全上的需求,以防止非授權(quán)用戶的進(jìn)入,同樣這些非功能性代碼也會(huì)彌漫在整個(gè)系統(tǒng)中。在實(shí)時(shí)系統(tǒng)中關(guān)鍵的就是時(shí)間要求了,如果系統(tǒng)沒有在給定的時(shí)間里完成任務(wù),任務(wù)是失敗的,這些時(shí)間要求散布在整個(gè)系統(tǒng)的功能部件里,帶來了前述的代碼混亂和代碼分散問題,導(dǎo)致系統(tǒng)代碼不易讀,不易修改,易產(chǎn)生不一致,重用性差,不易修改和升級(jí)等一系列問題?,F(xiàn)在面向方面編程還在研究過程中,面向方面的軟件開發(fā)方法的研究也剛剛起步,但是它們代表了未了軟件開發(fā)的方向,Grady Booch預(yù)言AOP將崛起[4]。已經(jīng)有很多分離關(guān)注點(diǎn)的方法,這些方法可以統(tǒng)稱為面向方面編程(AOP, Aspect Oriented Programming)[2],雖然在這個(gè)概念提出之前,已經(jīng)有很多這方面的研究。系統(tǒng)有信息描述如何將這些模塊可控地組合起來形成結(jié)構(gòu)和行為明確的系統(tǒng)。OOP中用混入類來處理橫切,但是基本類需要顯式調(diào)用混入對(duì)象的方法,即操作的邏輯由基本類控制,且好的系統(tǒng)設(shè)計(jì)師要考慮當(dāng)前和將來可能的需求以避免打補(bǔ)丁,但是預(yù)知將來的需求是困難的,這樣系統(tǒng)設(shè)計(jì)師陷入了“應(yīng)該寧可設(shè)計(jì)不足還是寧可過分設(shè)計(jì)”的兩難境地。系統(tǒng)變成一系列相互協(xié)作的對(duì)象,類的封裝性隱藏了實(shí)現(xiàn)的細(xì)節(jié);類的繼承性實(shí)現(xiàn)了重用;多態(tài)性使得不同對(duì)象接收到相同消息時(shí)產(chǎn)生不同的動(dòng)作。 pointcut and advice are derived from feature, thus pointcut and advice are parts of aspect。并分析了如何將這個(gè)方法應(yīng)用于實(shí)時(shí)系統(tǒng)開發(fā)。闡述了實(shí)時(shí)系統(tǒng)中的主要實(shí)時(shí)需求,以及與實(shí)時(shí)系統(tǒng)有關(guān)的UML框架集。實(shí)時(shí)系統(tǒng)是面向方面技術(shù)很好的應(yīng)用場(chǎng)所,因?yàn)樵趯?shí)時(shí)系統(tǒng)中,有很多非功能需求,且這些非功能需求往往橫切整個(gè)系統(tǒng)。碩士學(xué)位論文面向方面的實(shí)時(shí)系統(tǒng)開發(fā)方法摘要現(xiàn)代軟件開發(fā)都要把整個(gè)系統(tǒng)按功能分解為小的單元,然后開發(fā)這些小單元,這些小的單元隱藏內(nèi)部實(shí)現(xiàn),對(duì)外提供接口,最后組合這些單元為整個(gè)系統(tǒng),實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。面向方面編程在實(shí)現(xiàn)上分離和模塊化橫切關(guān)注點(diǎn),面向方面建模在軟件開發(fā)的其它階段用一致的方法來詳述、可視化、構(gòu)造和文檔化方面相關(guān)制品,這樣在整個(gè)軟件開發(fā)過程可以使用面向方面技術(shù)。比較完整的介紹了面向方面建模領(lǐng)域的研究。切入點(diǎn)的圖符可以表達(dá)多個(gè)方面在相同連接點(diǎn)的橫切行為,通知以一致的方式建模結(jié)構(gòu)橫切和行為橫切,通過在順序圖上新加一個(gè)通知發(fā)出焦點(diǎn),并將通知表示為消息,這樣可以清晰建模通知在何時(shí)何處怎樣影響系統(tǒng)的行為。 analyses realtime systems timing requirements and UML profiles for realtime systems. This article proposes a new technique to modeling aspectoriented constructs and mechanisms by extending UML, which can represent constructs and weaving mechanism of AspectJ and AspectC++ with appropriate semantics. In this method, aspect is subclass of class。當(dāng)前,面向?qū)ο缶幊蹋∣OP)[1]和基于組件的軟件開發(fā)得到了廣泛的使用,面向?qū)ο蠹夹g(shù)能夠很好地將現(xiàn)實(shí)世界領(lǐng)域中的實(shí)體和它的行為建模為抽象的對(duì)象。這樣降低了程序的可理解性、適應(yīng)性、可維護(hù)性和可復(fù)用性。這樣開發(fā)功能模塊時(shí)無需要考慮非功能需求,在功能模塊里不出現(xiàn)非功能代碼;各個(gè)非功能模塊也單獨(dú)實(shí)現(xiàn)。并且當(dāng)需求改變后,只需修改受影
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1