版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件體系結(jié)構(gòu)
ATAM?sun@22023/7/22ArchitectureTradeoffAnalysisMethodsm
(ATAMsm)?sun@32023/7/22RoleofaSoftwareArchitectureIftheonlycriterionforsoftwarewastogettherightanswer,wewouldnotneedarchitectures.
如果評判軟件的唯一標準是正確,那么就不需要體系結(jié)構(gòu)Unstructured,monolithicsystemswouldsuffice.
無結(jié)構(gòu)的、單模塊的系統(tǒng)已經(jīng)足夠。Butotherthingsalsomatter,suchas:
但事實上還有很多其他問題,比如:modifiabilitytimeofdevelopmentperformancecoordinationofworkteamsTheseissuesareoftenaddressedintheSoftwareArchitecture
這些問題通常體現(xiàn)在軟件體系結(jié)構(gòu)當(dāng)中?sun@42023/7/22WhyAnalyzeSoftwareArchitectures?Alldesigninvolvestradeoffinsystemqualities(設(shè)計即折中)Systemqualitiesarelargelydependentonarchitecturaldecisions
體系結(jié)構(gòu)極大地影響系統(tǒng)質(zhì)量Promotingonequalityoftencomesattheexpenseofanotherquality
提高一個質(zhì)量,經(jīng)常會降低另一個質(zhì)量Asoftwarearchitectureistheearliestlife-cycleartifactthatembodiessignificantdesigndecisions:choicesandtradeoffs.
“選擇與折中”是設(shè)計中首要考慮的問題,軟件體系結(jié)構(gòu)是軟件生命周期中最早一個遇到此問題的Choicesareeasytomake,buthardtochangeoncethesystemisimplemented
選擇很容易做,但是一旦系統(tǒng)已經(jīng)實現(xiàn),就很難更改?sun@52023/7/22TheATAMThepurposeoftheATAM:
istoassesstheconsequencesofarchitectural
decisionsinlightofqualityattributerequirements.
ATAM的目標是:按照質(zhì)量需求,評價體系結(jié)構(gòu)設(shè)計?sun@62023/7/22ContextfortheATAMBusiness
GoalsArchitecture
DecisionsPASM$Value$$Cost$?sun@72023/7/22PurposeofATAMWeneedamethodinwhichtherightquestionsareaskedearlyto
我們需要一個新方法,讓我們能盡早提出正確問題,來:Discoverrisks-alternativesthatmightcreatefutureproblemsinsomequalityattribute
發(fā)現(xiàn)風(fēng)險:可能在將來產(chǎn)生質(zhì)量問題的方案Discovernon-risks-decisionsthatpromotequalitiesthathelprealizebusiness/missiongoals
發(fā)現(xiàn)非風(fēng)險:可以提高質(zhì)量的決策Discoversensitivity
points-alternativesforwhichaslightchangemakesasignificantdifferenceinsomequalityattribute
發(fā)現(xiàn)關(guān)鍵點:方案中一個小小的變化,就可能讓質(zhì)量完全大變樣Discovertradeoffs-decisionsaffectingmorethanonequalityattribute
發(fā)現(xiàn)折中:影響一個以上質(zhì)量的決策?sun@82023/7/22PurposeofATAMThepurposeofanATAMisNOTtoprovideprecise
analyses,buttodiscoverriskscreated
byarchitecturaldecisions.
ATAM的目標不是做精確的分析,而是發(fā)現(xiàn)體系結(jié)構(gòu)可能帶來的風(fēng)險Wewanttofindtrends:correlationbetween
architecturaldecisionsandpredictionsofsystem
properties.
我們要發(fā)現(xiàn)一些趨勢:從體系結(jié)構(gòu)方案預(yù)言系統(tǒng)的特性Discoveredriskscanthenbemadethefocusof
mitigationactivities:e.g.furtherdesign,further
analysis,prototyping.
發(fā)現(xiàn)風(fēng)險,然后做進一步的分析、設(shè)計Surfacedtradeoffscanbeexplicitlyidentifiedand
documented.
明顯的折中可以被清晰地指出并寫入文檔?sun@92023/7/22ATAMBenefitsThereareanumberofbenefitsfromperformingATAManalyses:
做ATAM分析可以得到下列益處:Clarifiedqualityattributerequirements
明確質(zhì)量需求Improvedarchitecturedocumentation
提高體系結(jié)構(gòu)文檔質(zhì)量Documentedbasisforarchitecturaldecisions
文檔化了的體系結(jié)構(gòu)方案原理Identifiedrisksearlyinthelife-cycle
及早發(fā)現(xiàn)風(fēng)險Increasedcommunicationamongstakeholders
促進了角色之間的交流Theresultsareimprovedarchitectures.
結(jié)果是,體系結(jié)構(gòu)得到改進?sun@102023/7/22PurposeofATAMThepurposeofATAMistoassessthe
consequencesofarchitecturaldecisionsin
lightofqualityattributerequirements.
ATAM的目標就是按照質(zhì)量需求,評價體系結(jié)構(gòu)設(shè)計TheATAMprocessisashort,facilitated
interactionbetweenmultiplestakeholders,
leadingtotheidentificationofrisks,
sensitivities,andtradeoffs.
ATAM過程是角色之間交流的一個方便、快捷的手段,便于發(fā)現(xiàn)風(fēng)險、關(guān)鍵點和折中ThepurposeofanATAMisNOTtoprovide
preciseanalyses,thepurposeIStodiscover
riskscreatedbyarchitecturaldecisions.
ATAM的目標不是提供精確的分析,而是發(fā)現(xiàn)體系結(jié)構(gòu)方案可能帶來的風(fēng)險?sun@112023/7/22PreconditionsforanATAMClientsmusthaveaSoftwareArchitectureScope/scalemustbemanageable
其作用范圍和程度必須可管理ATAMwillnotworkifthesoftwarearchitecturehasnotbeencreatedyet
如果體系結(jié)構(gòu)還沒有被建立,那么ATAM毫無用武之地ATAMteammemberswillreviewarchitecturalartifacts,andmayhelprefinedocumentation
ATAM組將評估體系結(jié)構(gòu),并幫助改善文檔Architectmustprepareanarchitecturepresentation
架構(gòu)師必須準備一個體系結(jié)構(gòu)講解Clientsmustprepareabusiness/missiongoalspresentation
必須有一個商業(yè)/任務(wù)目標講解ATAMwillreviewarchitectureartifacts,presentations,andreadaheadmaterialtobecomefamiliarwithdomain
ATAM要事先閱讀一些材料來熟悉這個領(lǐng)域?sun@122023/7/22EvaluationTeamEachATAMteamconsistsofaleaderandatleastthreeotherteammembers
每個ATAM組有一個組長和至少三個組員domainexpertiseisnotnecessary
領(lǐng)域?qū)<也皇潜仨欰TAMteammembersmustbeexperiencedarchitects
ATAM組員必須是經(jīng)驗豐富的架構(gòu)師ATAMleadersmusthaveEXCELLENTcommunicationandfacilitationskills
ATAM組長必須有優(yōu)秀的交流和激勵技巧TheATAMteammembersfillmultiplerolesduringthecourseoftheevaluation.
ATAM組員在評審過程中扮演多種角色?sun@132023/7/22EvaluationTeamRolesModerator—facilitatesdiscussions,brainstorming,analysis
主持人:推動講解、自由討論和分析Scenarioscribe(s)—writesutilitytree,rawscenarios,risks,sensitivities,tradeoffsonflipchartsorwhiteboards
場景記錄員:在白板上記下原始場景、有效樹、風(fēng)險、關(guān)鍵點和折中Proceedingsscribe—capturesscribe’swritingonalaptopcomputer,preparingtheResults,Presentationtemplate
會議記錄員:把場景記錄員寫下的內(nèi)容錄入電腦,準備結(jié)論講解模板?sun@142023/7/22EvaluationTeamRolesProcessenforcer/observer—monitorstheprocesssteps,takesnotesabouttheprocess,andhowitcouldbeimproved
過程實施者/觀察者:監(jiān)視各個步驟,做筆記,尋找改進方法Timekeeper—informstheevaluationleaderwhenthetimeallocatedforastephasexpired
計時員:當(dāng)某一個步驟的時間已經(jīng)超出時,提醒組長Questioner(s)—raiseissuesthatthestakeholdershavenotthoughtof;asksquestionsbasedonhowqualityattributesofinterestrelatetoarchitecturalstyles
提問者:發(fā)現(xiàn)各個角色還沒有想到的問題;詢問質(zhì)量因素怎樣和體系結(jié)構(gòu)風(fēng)格關(guān)聯(lián)的問題?sun@152023/7/22BasicRulesforATAMTeam
MembersKeeptheprocessmoving!
讓過程持續(xù)進行Askquestions
提問Proposescenarios
提出建議性的場景Writedownexactlywhatstakeholderssay;donot“edit”theirwords!
記下各個角色所說的話,但是不要改寫!?sun@162023/7/22ATAMStepsPresenttheATAM
介紹ATAMPresentbusinessdrivers
講解商業(yè)動力Presentarchitecture
講解體系結(jié)構(gòu)Identifyarchitecturalapproaches
明確體系結(jié)構(gòu)方法Generatequalityattributeutilitytree
生成有效樹Analyzearchitecturalapproaches
分析體系結(jié)構(gòu)方法Brainstormandprioritizescenarios
自由討論和為場景排序Analyzearchitecturalapproaches
分析體系結(jié)構(gòu)方法Presentresults
講解結(jié)論Phase1Phase2?sun@172023/7/221.PresenttheATAMEvaluationTeampresentsanoverviewoftheATAMincluding:ATAMstepsinbriefTechniquesutilitytreegeneration(有效樹生成)architectureelicitationandanalysis(體系結(jié)構(gòu)引出和分析)scenariobrainstorming/mapping(場景討論/映射)Outputsarchitecturalapproachesutilitytreescenariosrisksand“non-risks”sensitivitypointsandtradeoffs?sun@182023/7/222.PresentBusinessDriversATAMcustomerrepresentativedescribesthesystem’sbusinessdriversincluding:
客戶代表描述系統(tǒng)的商業(yè)動力BusinesscontextforthesystemHigh-levelfunctionalrequirementsHigh-levelqualityattributerequirementsarchitecturaldrivers:qualityattributesthat“shape”thearchitecture
體系結(jié)構(gòu)動力:質(zhì)量因素塑造體系結(jié)構(gòu)criticalrequirements:qualityattributesmostcentraltothesystem’ssuccess
苛刻需求:對系統(tǒng)的成功有決定作用的質(zhì)量?sun@192023/7/223.PresentArchitectureArchitectpresentsanoverviewofthearchitectureincluding:
架構(gòu)師對體系結(jié)構(gòu)的簡介:TechnicalconstraintssuchasanOS,hardware,ormiddle-wareprescribedforuse
技術(shù)限制,比如必須要采用的OS、硬件和中間件Othersystemswithwhichthesystemmustinteract
其他必須與之交互的系統(tǒng)Architecturalapproaches/stylesusedtoaddressqualityattributerequirements
用來滿足質(zhì)量需求的體系結(jié)構(gòu)風(fēng)格?sun@202023/7/223.PresentArchitectureThearchitect,projectmanager,andmarketingrepresentativeneedtodescribehowthesystemwillcreatevaluefortheorganization.
架構(gòu)師、項目經(jīng)理和市場代表一起來描述此系統(tǒng)如何為公司帶來價值Themarketingrepresentativemustdetailhowsystemresponses(functionalandqualityattributerequirements)maptovalue.
市場代表必須詳細闡述系統(tǒng)的功能和質(zhì)量需求對市場價值的影響Theprojectmanagermustdetailhowarchitecturalapproachesmaptocost.
項目經(jīng)理必須詳細闡述體系結(jié)構(gòu)需要的成本?sun@212023/7/22ATAM產(chǎn)生的環(huán)境Business
GoalsArchitecture
DecisionsPASM$Value$$Cost$ProjectManagerArchitectMarketerGoal:MaxValue-Cost?sun@222023/7/224.IdentifyArchitectural
ApproachesStarttoidentifyplacesinthearchitecturethatarekeyforrealizingqualityattributegoals.
開始確認體系結(jié)構(gòu)中對實現(xiàn)質(zhì)量需求產(chǎn)生決定作用的部分Identifyanypredominantarchitecturalapproaches.
明確主要的體系結(jié)構(gòu)方法Examples:client-server3-tierwatchdogpublish-subscriberedundanthardware?sun@232023/7/225.GenerateQualityAttribute
UtilityTreeIdentify,prioritize,andrefinethemostimportantqualityattributegoalsbybuildingautilitytree.
通過建立一個有效樹,來明確、排序和精煉大部分的質(zhì)量目標Autilitytreeisatop-downvehicleforcharacterizingthe“driving”attribute-specificrequirements
有效樹是一個自頂向下的工具,用來刻畫重要的需求Selectthemostimportantqualitygoalstobethehigh-levelnodes(typicallyperformance,modifiability,security,andavailability)
把最重要的質(zhì)量目標放在高層節(jié)點(典型的有:性能、適應(yīng)性、安全和可用性)ScenariosaretheleavesoftheutilitytreeOutput:acharacterizationandaprioritizationofspecificqualityattributerequirements.
輸出:質(zhì)量需求的描述和優(yōu)先級?sun@242023/7/22UtilityTree
Construction&Prioritization?sun@252023/7/226.Elicit/Analyze
ArchitectureApproachesMotivatedbythehighpriorityleavesoftheutilitytree,theEvaluationTeamprobesthearchitectureapproaches.
有效樹中高優(yōu)先級的葉子促進評審組探查體系結(jié)構(gòu)Identifytheapproacheswhichpertaintothehighestpriorityqualityattributerequirements
確認可以滿足高優(yōu)先級的質(zhì)量需求的方法Generatequality-attributespecificquestionsforhighestpriorityqualityattributerequirement
為高優(yōu)先級的質(zhì)量需求制定關(guān)于質(zhì)量的問題Askquality-attributespecificquestions
詢問這些問題Identifyandrecordrisksandnon-risks
確認和記錄風(fēng)險和非風(fēng)險,關(guān)鍵點和折中?sun@262023/7/22QualityAttributeQuestionsQualityattributequestionsprobestylestoelicitarchitecturaldecisionswhichbearonqualityattributerequirements.
質(zhì)詢體系結(jié)構(gòu)在質(zhì)量需求上如何作為PerformanceHowareprioritiesassignedtoprocesses?
怎樣決定進程的優(yōu)先級?Whatarethemessagearrivalrates?
消息到來的頻率是多少?ModifiabilityArethereanyplaceswherelayers/facadesarecircumvented?
有按層封裝的地方嗎?Whatcomponentsrelyondetailedknowledgeofmessageformats?
哪個組件依賴消息格式的細節(jié)??sun@272023/7/22RisksandNon-RisksWhilerisksarepotentiallyproblematicarchitecturaldecisions,…
風(fēng)險是有潛在問題的體系結(jié)構(gòu)Non-risksaregooddecisionsrelyingonimplicitassumptions.
非風(fēng)險是在一個可信的假設(shè)之下的,好的方案Riskandnon-riskconstituents
風(fēng)險和非風(fēng)險要素architecturaldecisionqualityattributerequirementrationaleSensitivitypointsarecandidaterisksandcandidatetradeoffpoints.
關(guān)鍵點是候選的風(fēng)險和折中?sun@282023/7/22RisksandNon-RisksExamplerisksRulesforwritingbusinesslogictierofyour3-tierstylearenotclearlyarticulated.
三層架構(gòu)下,商業(yè)邏輯層的規(guī)則還沒有確定Thereisnowayofdetectingthe“l(fā)ive”failureofacriticalcomponent.
沒有檢測一個關(guān)鍵組件是否正常工作的機制Everycomponentintheradarsubsystemimplicitlyassumesarotationrate.
雷達系統(tǒng)的每一個組件都假定有一個固定的轉(zhuǎn)動速率Examplenon-riskAssumingmessagearrivalratesofoncepersecond,aprocessingtimeoflessthan30ms,andtheexistenceofonehigherpriorityprocess,a1secondsoftdeadlineseemsreasonable.
假定消息的到達速率是每秒一次,一次處理的時間小于30ms。如果對一個更高優(yōu)先級的處理的響應(yīng)時間要求是1秒鐘,此系統(tǒng)可行?sun@292023/7/22SensitivitiesandTradeoffsExampleSensitivityChangingthetimingschemefromaharmonicframeworktoanon-harmonicframeworkwouldbeeasy,butduetoimpliedtimingdependencies,therewouldimpactfarreachingimpactstoothermodules.
把定時方法從一個精確的框架移植到一個不精確的框架可能很容易,但是因為各個模塊對定時的依賴,可能會極大地影響它們的正常工作ExampleTradeoffsInordertoachievetherequiredlevelofperformanceinthediscreteeventgenerationcomponent,assemblylanguagehadtobeusedtherebyreducingtheportabilityofthiscomponent.
為了達到性能要求,不得不在離散的事件產(chǎn)生組件中使用匯編語言。此組件不再有移植性?sun@302023/7/22ExampleApproachElicitationScenario:DetectandrecoverfromHWfailureofmainswitch
場景:檢測主交換機的硬件故障,并恢復(fù)Stimulus:CPUfailureResponse:0.999999availabilityofswitchArchitecturalApproaches:RST?sun@312023/7/22ExampleApproachElicitationScenario:DetectandrecoverfromHWfailureofmainswitch
場景:檢測主交換機的硬件故障,并恢復(fù)Stimulus:CPUfailureResponse:0.999999availabilityofswitchArchitecturalApproaches:RSTBackupCPU(s)BackupDataChannelWatchdogHeartbeatFailoverRerouting?sun@322023/7/22ExampleApproachElicitationScenario:DetectandrecoverfromHWfailureofmainswitch
場景:檢測主交換機的硬件故障,并恢復(fù)Stimulus:CPUfailureResponse:0.999999availabilityofswitchArchitecturalApproaches:RSTBackupCPU(s)XXBackupDataChannelXXXWatchdogXHeartbeatXFailoverReroutingXX?sun@332023/7/22ExampleApproachElicitationAnalysis:ensuresnocommonmodefailurebyusingdifferentHWandOS
通過使用不同的硬件和操作系統(tǒng)確保不會有一樣的錯誤發(fā)生worst-caserolloverisaccomplishedin3seconds
在最壞的情況下,只要3秒鐘內(nèi)回卷成功就可以guaranteedtodetectfailurewith1second
保證錯誤在1秒鐘內(nèi)被檢測到watchdogissimpleandprovenreliable
看門狗很簡單,而且被證明可信賴?sun@342023/7/227a.BrainstormScenariosScenariosareexamplestimuliusedtoRepresentstakeholders’interests
說明角色關(guān)心的內(nèi)容UnderstandqualityattributerequirementsScenariosarespecific
場景是對系統(tǒng)的anticipatedusesof(usecasescenarios),
預(yù)期使用(用例場景),anticipatedchangesto(growthscenarios),or
預(yù)期改變(演化場景),或者unanticipatedstressesto(exploratoryscenarios)
非預(yù)期的重壓(試探場景) thesystem.Agoodscenariomakesclearwhatthestimulusisthatcausesitandwhatresponsesareofinterest.
一個好的場景可以清晰地描述出是什么引起這個場景,以及需要什么樣的應(yīng)答?sun@352023/7/22ExampleScenariosUsecasescenarioRemoteuserrequestsadatabasereportviatheWebduringpeakperiodandreceivesitwithin5seconds.
遠程用戶通過web周期地請求數(shù)據(jù)庫報告,并且要求5秒鐘內(nèi)收到GrowthscenarioAddanewdataservertoreducelatencyinscenario1to2.5secondswithin1person-week.
用一人周的時間增加一個數(shù)據(jù)服務(wù)器,使上一個場景的潛伏期降低到2.5秒ExploratoryscenarioHalfoftheserversgodownduringnormaloperationwithoutaffectingoverallsystemavailability.
在做日常操作時,一半的服務(wù)器當(dāng)機,卻不影響整個系統(tǒng)的可用性Scenariosshouldbeasspecificaspossible.
場景應(yīng)該盡可能的詳細?sun@362023/7/22起因(Stimuli),環(huán)境(Environment),結(jié)果(Responses)用例場景遠程用戶通過web周期地請求數(shù)據(jù)庫報告,并且要求5秒鐘內(nèi)收到演化場景用一人周的時間增加一個數(shù)據(jù)服務(wù)器使上一個場景的潛伏期降低到2.5秒試探場景在做日常操作時,一半的服務(wù)器當(dāng)機,卻不影響整個系統(tǒng)的可用性?sun@372023/7/227b.PrioritizeScenariosStakeholdershavebrainstormedalargesetofscenarios.
各個角色已經(jīng)討論出很多很多場景Eachstakeholderisallocatedanumberofvotesroughlyequalto0.3x#scenarios
每個角色分給一個數(shù)用來投票,其值大約為(0.3x場景數(shù))Prioritizedscenariosarecomparedwiththeutilitytreeanddifferencesarereconciled.
排好次序的場景和有效樹進行比較。如果有不同的,則要再次考量,達成一致?sun@382023/7/228.AnalyzeArchitecturalApproachesIdentifythearchitecturalapproachesimpactedbythescenariosgeneratedinthepreviousstep.
確定被上一步產(chǎn)生的場景影響的體系結(jié)構(gòu)設(shè)計Thisstepcontinuestheanalysisstartedinstep6usingthenewscenarios.
用第6步同樣的方法來分析新的場景Continueidentifyingrisksandnon-risks.
繼續(xù)確認風(fēng)險和非風(fēng)險Continueannotatingarchitecturalinformation.
繼續(xù)標注體系結(jié)構(gòu)信息?sun@392023/7/229.PresentResultsRecapitulatestepsoftheATAM
總結(jié)所有ATAM的步驟PresentATAMoutputsarchitecturalapproachesutilitytreescenariosrisksand“non-risks”sensitivitypointsandtradeoffsOfferrecommendations
推薦?sun@402023/7/22ATAMNominalPhasesATAMevaluationsareoftenconductedintwo
stagesorphases:
ATAM通常被分為兩個階段Duringphase1thearchitectdescribesthequality
attributegoalsandhowthearchitecturemeetsthese
goals
在階段1,架構(gòu)師描述質(zhì)量目標,和體系結(jié)構(gòu)如何達到目標Duringphase2wedetermineifalargergroupof
stakeholdersagreeswiththegoalsandthe
results
在階段2,確認是否各個角色都同意這些目標和結(jié)果?sun@412023/7/22WhentouseATAMAcademically,thetimetouseATAMisrightafterthearchitecturehasbeenspecifiedwhenthereislittleornocode.
學(xué)術(shù)上說,應(yīng)該在體系結(jié)構(gòu)確定之后使用ATAM,此時沒有或者僅有少量的代碼However,inpractice,ATAMhasbeenveryeffectiveinthefollowingsituations:Evaluatingalternativecandidatearchitectures
評審候選的體系結(jié)構(gòu)Evaluatingexistingsystemspriortocommittingtomajorupgrades
在升級之前,評審已有的系統(tǒng)Decidingbetweenupgradeorreplace
無法決定是升級還是替換時?sun@422023/7/222.PresentBusinessDriversAdistributedbattlefieldcontrolsystem(BCS)
一個分布式的戰(zhàn)場控制系統(tǒng)Onemobilecentralcommandernode
一個移動的中心指揮官節(jié)點Asetofmobilefighternodesundercommander
麾下的一組移動戰(zhàn)士節(jié)點Informationfrommanysources/sensors
來自很多信號源/傳感器的信息Messagesofdifferenttypes(maps,orders)
不同類型的消息(地圖,命令)Stakeholderswantedtounderstandhowthesystemwouldperformandadapttochanges.
角色想了解這個系統(tǒng)怎樣適應(yīng)變化?sun@432023/7/223.PresentArchitecturePhysicalview:“client-server”,wherethecommandernodeistheserverandthefighternodesareclients.Detailedinformationalsocollectedforconcurrencyandcodeviews.?sun@442023/7/224.IdentifyArchitectureApproachesWeelicitedinformationonthearchitecturalapproacheswithrespecttomodifiability,availability,andperformance.
我們關(guān)心適應(yīng)性、可用性和性能Foravailability,abackupcommanderschemewasdescribed.
對可用性,有一個備份指揮官Formodifiability,standardsubsystemorganizationalpatternsweredescribed.
對適應(yīng)性,有基本的子系統(tǒng)組織模式Forperformance,anclient-serverstylewasdescribed.
對性能,采用客戶/服務(wù)器風(fēng)格的獨立組件?sun@452023/7/225.GenerateQualityAttribute
UtilityTree?sun@462023/7/226.ElicitandAnalyze
ArchitectureStylesTherepairtimeforthesystemisthetimetoturnthebackupintothecommandernode.
修復(fù)時間是把備份節(jié)點轉(zhuǎn)為指揮官節(jié)點的時間Communicationbetweenthecommandernodeandthebackupkeepsthebackup“insync”.
指揮官和備份節(jié)點之間的通訊維持著同步?sun@472023/7/22AvailabilityAnalysisQA=thefractionoftimethesystemisworking
QA=
系統(tǒng)工作的時間長度Thesystemisconsideredtobeworkingifthereis
aworkingcommandernodeandoneormore
fighternodes.
有一個有效的指揮官,一個或更多工作的戰(zhàn)士,則可以認為系統(tǒng)正在正常運行Whenthecommandernodefailsthesystemhas
failed.
指揮官故障,則系統(tǒng)故障ProvisionshavebeenmadeintheBCSarchitecturetoturnadesignatedfighter(backup)
nodeintoacommandernode.
BCS體系結(jié)構(gòu)允許一個指定的戰(zhàn)士轉(zhuǎn)為指揮官?sun@482023/7/22AvailabilityAnalysisAvailabilitycanbeseenas:QA=h(λc,λb,μc,μb)λc=failurerateofthecommanderλb=failurerateofthebackupμc=repairrateofthecommanderμb=repairrateofthebackupProblem!Thebackuphasnobackup,i.e.intheBCSarchitecture,μb=0Wediscoveredthisproblemviaelicitationofthehardwarefailureandrepairapproaches.
在評審硬件錯誤的恢復(fù)策略時,發(fā)現(xiàn)這個問題?sun@492023/7/22AvailabilityAnalysisHence,twowell-aimedhits(orhardwarefailures)disabletheentiresystem!
因此,兩個精確的打擊(或者硬件故障)將使整個系統(tǒng)癱瘓Thesolutionwastoturnmorefighternodesintopotentialbackups.
解決方法是讓更多的戰(zhàn)士做備份Alternativescouldbe:Acknowledgingbackups(n)
確認備份(n)Passivebackups(m)
被動備份(m)Passivebackups(m)+update
被動備份(m)且請求更新?sun@502023/7/22Availability:Sensitivity/RiskIdentificationTheavailabilityofthesystemcannowbeseenas:
系統(tǒng)的可用性可以被看作QA=j(n,m)nandmarearchitecturalavailabilitysensitivity
points.
n和m是體系結(jié)構(gòu)可用的關(guān)鍵點Sinceavailabilityisakeyattributeforthebattle
managementmission,somechoicesofnandm
presentavailabilityrisks.
對戰(zhàn)場管理任務(wù)來說,可用性是一個關(guān)鍵屬性,對n和m的選擇說明了風(fēng)險?sun@512023/7/22PerformanceAnalysisWediscoveredaperformanceproblemviaaqualitativeattributequestionsthatasksabouttherelativespeedsofcommunicationandprocessing.
通過詢問通訊和處理的速度,我們發(fā)現(xiàn)了性能問題Theproblemuncoveredwas:thenodesintheBCSarchitecturecommunicatedviaslowmodems.
這個問題是:BCS系統(tǒng)的節(jié)點通過慢速的調(diào)制解調(diào)器通信?sun@522023/7/22PerformanceAnalysisEnd-to-endlatencycalculationsshowedthattheoveralllatencywashighlysensitivetothenumberandsizeoftransmittedmessages.
端到端的潛伏期計算表明,整個系統(tǒng)的潛伏期和傳送消息的數(shù)量與大小有非常密切的關(guān)系Communicationloadcamefrom:
通信負荷來自:Thenormaloperationscommunicationoverhead
普通的命令通信開銷Thenumberofbackups(bothacknowledgingandpassive)
備份節(jié)點的數(shù)量?sun@532023/7/22Performance:Sensitivity/RiskIdentificationThus,systemperformancecanbecharacterizedas:
系統(tǒng)性能可以寫作:Qp=k(n,m,CO)Communicationsoverheadwasaconstant.
通信協(xié)議開銷是個常數(shù)nandmarearchitecturalperformancesensitivity
points.
n和m是性能的關(guān)鍵點?sun@542023/7/22TradeoffIdentificationIncreasingthenumberofbackupsincreasesavailability,butalsoincreasesaveragelatency(becausethesebackupsmustbekeptup-to-datebythecommander).
增大備份的數(shù)量提高可用性,但是也增大了平均潛伏期(因為所有的備份都要和指揮官保持同步)Hence,thenumberofactiveandpassivebackups(nandm)isatradeoffpointintheBCSarchitecture.
因此主動和被動備份的數(shù)量(n和m)是一個折中點Thedesignershadnotbeenawareofthetradeoffinherentintheirdesign.
評審之前,設(shè)計者還不知道存在這個折中點?sun@552023/7/227a.BrainstormScenariosInitialsetofseedscenariosweretoogeneral
初始的場景太概括“Systemfails”
“系統(tǒng)錯誤”Thesescenarioswerelaterrefined“CommandernodeisdestroyedandtheBackupnodetakesoverwithin5minutes”
“指揮官被消滅,備份節(jié)點在5分鐘內(nèi)接管”46scenarioswereeventuallycollected,coveringmodifiability,scalability,availability,performance,portability.
最后收集了46個場景,覆蓋適應(yīng)性、可測性、可用性、性能和移植性?sun@562023/7/227a.BrainstormScenariosExamples:Modifiability:changedmapdataformatsareaccommodatedwithin1personmonth
適應(yīng)性:改變地圖數(shù)據(jù)格式需要一個人月Performance:thenumberofsimultaneousmissionsdoubleswithoutaffectinglatency
性能:在不影響潛伏期的情況下讓并發(fā)的任務(wù)數(shù)加倍Availability:commandernodeisdestroyedandthebackupnodetakesoverwithin5minutes
可用性:指揮官被消滅,備份節(jié)點在5分鐘內(nèi)接管?sun@572023/7/227b.PrioritizeScenariosThestakeholdersusedpreference-votingtop
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2008年公務(wù)員國考《申論》真題卷及答案
- 有關(guān)電話銷售月度工作總結(jié)模板
- 工程技術(shù)人員年度總結(jié)
- 消防安全知識培訓(xùn)總結(jié)(17篇)
- 石油化工企業(yè)現(xiàn)場安全檢查表
- 浙江省杭州“六縣九?!甭?lián)盟2023-2024學(xué)年高一上學(xué)期期中地理試題 含解析
- 6涵洞工程資料清單目錄(改)
- 推動思政小課堂與社會大課堂相結(jié)合的大思政課探索
- 寶雞文理學(xué)院《西方史學(xué)史》2022-2023學(xué)年第一學(xué)期期末試卷
- 墻紙接縫滾筒手工具項目評價分析報告
- 主持人培訓(xùn)課件
- 期中測試題-2024-2025學(xué)年道德與法治六年級上冊統(tǒng)編版
- 4.1 10的再認識-一年級上冊數(shù)學(xué)課件
- 中國急性缺血性卒中診治指南(2023)解讀
- 統(tǒng)編版五年級語文上冊全冊看拼音寫詞語及答案
- 小學(xué)數(shù)學(xué)四年級答題卡模板(共4頁)
- ALC板工程施工組織設(shè)計方案
- 醫(yī)院整體搬遷匯報XX年4月
- (完整版)小學(xué)祈使句的練習(xí).docx
- 設(shè)計質(zhì)量保證體系及措施(完整版)
- 大數(shù)據(jù)對企業(yè)財務(wù)決策的影響及對策分析—以阿里巴巴集團為例
評論
0/150
提交評論