《信息科學(xué)類專業(yè)英語》課件第11章_第1頁
《信息科學(xué)類專業(yè)英語》課件第11章_第2頁
《信息科學(xué)類專業(yè)英語》課件第11章_第3頁
《信息科學(xué)類專業(yè)英語》課件第11章_第4頁
《信息科學(xué)類專業(yè)英語》課件第11章_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Lesson11Agent-OrientedSoftwareEngineering

(第十一課面向智能體的軟件工程)

Vocabulary(詞匯)ImportantSentences(重點句)QuestionsandAnswers(問答)Problems(問題)

AbstractAgent-orientedtechniquesrepresentanexcitingnewmeansofanalyzing,designingandbuildingcomplexsoftwaresystems.Theyhavethepotentialtosignificantlyimprovecurrentpracticeinsoftwareengineeringandtoextendtherangeofapplicationsthatcanfeasiblybetackled.Yet,todate,therehavebeenfewseriousattemptstocastagentsystemsasasoftwareengineeringparadigm.[1]Thispaperseekstorectifythisomission.Specifically,itwillbearguedthat:(i)theconceptualapparatusofagent-orientedsystemsiswell-suitedtobuildingsoftwaresolutionsforcomplexsystemsand(ii)agent-orientedapproachesrepresentagenuineadvanceoverthecurrentstateoftheartforengineeringcomplexsystems.Followingonfromthisview,themajorissuesraisedbyadoptinganagent-orientedapproachtosoftwareengineeringarehighlightedanddiscussed.1Introduction

Designingandbuildinghighqualityindustrial-strengthsoftwareisdifficult.Indeed,ithasbeenclaimedthatsuchdevelopmentprojectsareamongthemostcomplexconstructiontasksundertakenbyhumans.Againstthisbackground,awiderangeofsoftwareengineeringparadigmshavebeendevised(e.g.,proceduralprogramming,structuredprogramming,declarativeprogramming,object-orientedprogramming,designpatterns,applicationframeworksandcomponent-ware).Eachsuccessivedevelopmenteitherclaimstomaketheengineeringprocesseasierortoextendthecomplexityofapplicationsthatcanfeasiblybebuilt.Althoughthereissomeevidencetosupporttheseclaims,researcherscontinuallystriveformoreefficientandpowerfulsoftwareengineeringtechniques,especiallyassolutionsforevermoredemandingapplicationsarerequired.

Thispaperwillarguethatanalyzing,designingandimplementingsoftwareasacollectionofinteracting,autonomousagents(i.e.,asamulti-agentsystem)representsapromisingpointofdepartureforsoftwareengineering.Whilethereissomedebateaboutexactlywhatconstitutesanautonomousagentandwhatconstitutesinteraction,thisworkseekstoabstractawayfromparticulardogmaticstandpoints.[2]Instead,wefocusonthosecharacteristicsforwhichthereissomeconsensus.Fromthisstandpoint,thepaper’scentralhypothesiswillbeadvanced:forcertainclassesofproblem(thatwillbedefined),adoptingamulti-agentapproachtosystemdevelopmentaffordssoftwareengineersanumberofsignificantadvantagesovercontemporarymethods.Notethatwearenotsuggestingthatmulti-agentsystemsareasilverbullet—thereisnoevidencetosuggesttheywillrepresentanorderofmagnitudeimprovementinsoftwareengineeringproductivity.However,webelievethatforcertainclassesofapplication,anagent-orientedapproachcansignificantlyimprovethesoftwaredevelopmentprocess.

Inseekingtodemonstratetheefficacyoftheagent-orientedapproach,themostcompellingformofanalysiswouldbetoquantitativelyshowhowadoptingsuchtechniqueshadimproved,accordingtosomestandardsetofsoftwaremetrics,thedevelopmentprocessinarangeofprojects.However,suchdataissimplynotavailable(asitisstillnotformoreestablishedmethodssuchasobject-orientation).However,therearecompellingargumentsforbelievingthatanagent-orientedapproachwillbeofbenefitforengineeringcertaincomplexsoftwaresystems.Theseargumentshaveevolvedfromadecadeofexperienceinusingagenttechnologytoconstructlarge-scale,realworldapplicationsinawidevarietyofindustrialandcommercialdomains.

Thecontributionofthispaperistwofold.Firstly,despitemulti-agentsystemsbeingtoutedasatechnologythatwillhaveamajorimpactonfuturegenerationsoftware(“pervasiveineverymarketbytheyear2000”and“thenewrevolutioninsoftware”),therehasbeennosystematicevaluationofwhythismaybethecase.Thus,althoughthereareanincreasingnumberofdeployedagentapplications,nobodyhasanalysedpreciselywhatmakestheparadigmsoeffective.Thisisclearlyamajorgapinknowledge,whichthispaperseekstoaddress.Secondly,therehasbeencomparativelylittleworkonviewingmulti-agentsystemsasasoftwareengineering.Thisshortcomingisrectifiedbyrecastingtheessentialcomponentsofagentsystemsintomoretraditionalsoftwareengineeringconcepts,andbyexaminingtheimpactonthesoftwareengineeringlife-cycleofadoptinganagent-orientedapproach.

Theremainderofthepaperisstructuredasfollows.Sectiontwomakesthecaseforanagent-orientedapproachtosoftwareengineering.Itanalysesthetypeofcomplexitypresentinindustrialstrengthsoftware,characterizesthekeyconceptualmechanismsoftheagent-orientedapproach,andexplainshowthesemechanismsarewellsuitedtotacklingthecomplexitypresentinsoftwaredevelopment.Sectionthreeexaminestheimpactofadoptinganagent-orientedapproachonthesoftwareengineeringlifecycle—focusinginparticularonthespecification,implementationandverificationphases.Sectionfourdealswiththepragmaticsofagent-orientedsoftwareengineeringbypresentingsomecommonpitfallsthatfrequentlybedevilagent-orienteddevelopments.Sectionfiveconcludesbyidentifyingthemajoropenissuesthatneedtobeaddressedifagent-orientedtechniquesaretoreachthesoftwareengineeringmainstream.2TheCaseforanAgent-OrientedApproachtoSoftwareEngineering

Thissectioncharacterizestheessentialnatureofreal-worldsoftwaresystems(section2.1)andthengoesontopresentexactlywhatwemeanbythenotionofagent-orientedsoftware(section2.2).Usingthesecharacterizations,argumentsareadvancedastowhyagent-orientedtechniquesarewellsuitedtodevelopingcomplexsoftwaresystems(section2.3).

2.1TheNatureofComplexSoftwareSystems

Industrial-strengthsoftwareiscomplexinnature:itistypicallycharacterisedbyalargenumberofpartsthathavemanyinteractions.Moreoverthiscomplexityisnotaccidental:itisaninnatepropertyofthetypesoftasksforwhichsoftwareisused.Theroleofsoftwareengineeringisthereforetoprovidestructuresandtechniquesthatmakeiteasiertohandlethiscomplexity.Fortunately,thiscomplexityexhibitsanumberofimportantregularities

Complexityfrequentlytakestheformofahierarchy.Thatis,thesystemiscomposedofinter-relatedsub-systems,eachofwhichisitselfahierarchy.Theprecisenatureoftheorganisationalrelationshipsvariesbetweensub-systems,althoughsomegenericforms(suchasclient-server,peer,team)canbeidentified.Organisationalrelationshipsarenotstatic:theycan,andfrequentlydo,varyovertime.

Thechoiceofwhichcomponentsinthesystemareprimitiveisrelativelyarbitraryandisdefinedverymuchbytheobserver’saimsandobjectives.

Hierarchicsystemsevolvemorequicklythannon-hierarchiconesofcomparablesize.Inotherwords,complexsystemswillevolvefromsimplesystemsmuchmorerapidlyiftherearestableintermediateforms,thaniftherearenot.

Itispossibletodistinguishbetweentheinteractionsamongsub-systemsandtheinteractionswithinsub-systems.Thelatterarebothmorefrequent(typicallyatleastanorderofmagnitudemore)andmorepredictablethantheformer.Thisgivesrisetotheviewthatcomplexsystemsarenearlydecomposable.Thus,sub-systemscanbetreatedalmostasiftheyareindependentofoneanother,butnotquitesincetherearesomeinteractionsbetweenthem.Moreover,althoughmanyoftheseinteractionscanbepredictedatdesigntime,somecannot.

Drawingtheseinsightstogether,itispossibletodefineacanonicalviewofacomplexsystem(Fig.1).Thesystem’shierarchicalnatureisexpressedthroughthe“composedof”links,componentswithinasub-systemareconnectedthrough“frequentinteraction”links,andinteractionsbetweencomponentsareexpressedthrough“infrequentinteraction”links.Thevariablenotionofprimitivecomponentscanbeseeninthewaythatatomiccomponentsatonelevelareexpandedouttoentiresub-systemsatsubsequentlevels.Fig.1ViewofaCanonicalComplesSystem

Giventheseobservations,softwareengineershavedevisedanumberofpowerfultoolsinordertomanagethiscomplexity.Theprincipalmechanismsinclude:

Decomposition:Themostbasictechniquefortacklinganylargeproblemistodivideitintosmaller,moremanageablechunkseachofwhichcanthenbedealtwithinrelativeisolation(notethenearlydecomposablesub-systemsinFig.1).Decompositionhelpstacklecomplexitybecauseitlimitsthedesigner’sscope:atanygiveninstantonlyaportionoftheproblemneedstobeconsidered.

Abstraction:Theprocessofdefiningasimplifiedmodelofthesystemthatemphasizessomeofthedetailsorproperties,whilesuppressingothers.Again,thistechniqueworksbecauseitlimitsthedesigner’sscopeofinterestatagiventime.Attentioncanbefocusedonthesalientaspectsoftheproblem,attheexpenseofthelessrelevantdetails.

Organisation:Theprocessofidentifyingandmanagingtheinter-relationshipsbetweenthevariousproblemsolvingcomponents(notethesub-systemandinteractionlinksofFig.1).Theabilitytospecifyandenactorganisationalrelationshipshelpsdesignerstacklecomplexityintwoways.Firstly,byenablinganumberofbasiccomponentstobegroupedtogetherandtreatedasahigher-levelunitofanalysis.Forexample,theindividualcomponentsofasub-systemcanbetreatedasasingleunitbytheparentsystem.Secondly,byprovidingameansofdescribingthehigh-levelrelationshipsbetweenvariousunits.Forexample,anumberofcomponentsmayneedtoworktogetherinordertoprovideaparticularfunctionality.

Theprecisenatureandwayinwhichthesetoolsareusedvariesenormouslybetweensoftwareparadigms.Hencewhencharacterisinganewparadigm,suchasagent-orientedsoftware,clearpositionsneedtobedeterminedoneachoftheseissues(section2.2).Moreover,whenassessingthepowerofaparadigm,argumentsneedtobeadvancedastowhythechosenwayofdealingwiththeseissueshelpssoftwareengineersbuildsystemsmoreeffectively.

2.2WhatisAgent-OrientedSoftware?

Atpresent,thereisagreatdealofongoingdebateaboutexactlywhatconstitutesanagent,yetthereisnothingapproachingauniversalconsensus.However,anincreasingnumberofresearchersfindthefollowingcharacterisationuseful:

anagentisanencapsulatedcomputersystemthatissituatedinsomeenvironment,andthatiscapableofflexible,autonomousactioninthatenvironmentinordertomeetitsdesignobjectives

Thereareanumberofpointsaboutthisdefinitionthatrequirefurtherexplanation.Agentsare:(i)clearlyidentifiableproblemsolvingentitieswithwell-definedboundariesandinterfaces;(ii)situated(embedded)inaparticularenvironment—theyreceiveinputsrelatedtothestateofthatenvironmentthroughtheirsensorsandtheyactontheenvironmentthroughtheireffectors;(iii)designedtofulfilaspecificrole—theyhaveparticularobjectivestoachieve,thatcaneitherbeexplicitlyorimplicitlyrepresentedwithintheagents;(iv)autonomous—theyhavecontrolbothovertheirinternalstateandovertheirownbehaviour;(v)capableofexhibitingflexible(contextdependent)problemsolvingbehaviour—theyneedtobereactive(abletorespondinatimelyfashiontochangesthatoccurintheirenvironmentinordertosatisfytheirdesignobjectives)andproactive(abletoopportunisticallyadoptnewgoalsandtaketheinitiativeinordertosatisfytheirdesignobjectives).

Whenadoptinganagent-orientedviewoftheworld,itsoonbecomesapparentthatasingleagentisinsufficient.Mostproblemsrequireorinvolvemultipleagents:torepresentthedecentralizednatureoftheproblem,themultiplelociofcontrol,themultipleperspectives,orthecompetinginterests.Moreover,theagentswillneedtointeractwithoneanother,eithertoachievetheirindividualobjectivesorelsetomanagethedependenciesthatensuefrombeingsituatedinacommonenvironment.Theseinteractionsrangefromsimplesemanticinteroperation(theabilitytoexchangecomprehensiblecommunications),throughtraditionalclient-servertypeinteractions(theabilitytorequestthataparticularactionisperformed),torichsocialinteractions(theabilitytocooperate,coordinateandnegotiateaboutacourseofaction).Whateverthenatureofthesocialprocess,however,therearetwopointsthatqualitativelydifferentiateagentinteractionsfromthosethatoccurinothersoftwareengineeringparadigms.Firstly,agent-orientedinteractionsgenerallyoccurthroughahigh-level(declarative)agentcommunicationlanguage(typicallybasedonspeechacttheory).Consequently,interactionsareusuallyconductedattheknowledgelevel:intermsofwhichgoalsshouldbefollowed,atwhattime,andbywhom(cf.methodinvocationorfunctioncallsthatoperateatapurelysyntacticlevel).Secondly,asagentsareflexibleproblemsolvers,operatinginanenvironmentoverwhichtheyhaveonlypartialcontrolandobservability,interactionsneedtobehandledinasimilarlyflexiblemanner.Thus,agentsneedthecomputationalapparatustomakecontext-dependentdecisionsaboutthenatureandscopeoftheirinteractionsandtoinitiate(andrespondto)interactionsthatwerenotnecessarilyforeseenatdesigntime.

Inmostcases,agentsacttoachieveobjectivesonbehalfofindividualsorcompanies.Thus,whenagentsinteractthereistypicallysomeunderlyingorganizationalcontext.Thiscontexthelpsdefinethenatureoftherelationshipbetweentheagents.Forexample,theymaybepeersworkingtogetherinateam,onemaybethebossoftheothers,ortheymaybeinvolvedinaseriesofemployer-subcontractorrelationships.Tocapturesuchlinks,agentsystemsoftenhaveexplicitconstructsformodelingorganizationalrelationships(e.g.,peer,boss,etc.)andorganizationalstructures(e.g.,teams,groups,coalitions,etc.).Itshouldbenotedthatinmanycases,theserelationshipsmaychangewhilethesystemisoperating.Socialinteractionmeansexistingrelationshipsevolve(e.g.,anagentawardsanewcontract)andnewrelationsarecreated(e.g.,anumberofagentsmayformateamtodeliveraparticularservicethatnooneindividualcanoffer).Thetemporalextentoftheserelationshipscanvaryenormously:fromjustlongenoughtodeliveraparticularserviceoncetoapermanentbond.Tocopewiththisvarietyanddynamicity,agentresearchershaveexpendedconsiderableeffort:devisingprotocolsthatenableorganizationalgroupingstobeformedanddisbanded,specifyingmechanismstoensuregroupingsacttogetherinacoherentfashion,anddevelopingstructurestocharacterizethemacrobehaviourofcollectives.

Drawingthesepointstogether(Fig.2),itcanbeseenthatadoptinganagent-orientedapproachtosoftwareengineeringmeansdecomposingtheproblemintomultiple,interacting,autonomouscomponents(agents)thathaveparticularobjectivestoachieve.Thekeyabstractionmodelsthatdefinethe“agent-orientedmindset”areagents,interactionsandorganisations.Finally,explicitstructuresandmechanismsareoftenavailablefordescribingandmanagingthecomplexandchangingweboforganisationalrelationshipsthatexistbetweentheagents.Fig.2canonicalviewofamulti-agentsystem

2.3TheCaseforanAgent-OrientedApproach

Havingcharacterisedcomplexsystemsanddescribedagentsoftware,wenowconsiderwhysuchagent-orientedtechniquesarewellsuitedtodevelopingsuchsoftwaresystems.Thisargumenthasthreeparts:

showthatagent-orienteddecompositionsareaneffectivewayofpartitioningtheproblemspaceofacomplexsystem(section2.3.1);

showthatthekeyabstractionsoftheagent-orientedmindsetareanaturalmeansofmodelingcomplexsystems(section2.3.2);

showthattheagent-orientedphilosophyforidentifyingandmanagingorganisationalrelationshipsisappropriatefordealingwiththedependenciesandinteractionsthatexistinacomplexsystem(section2.3.3).

Tomakethecaseforagent-orientedsoftwareengineeringevenmorecompelling,thefinalstepistoarguethatagent-orientedtechniquesrepresentagenuineadvanceoverthecurrentstateoftheart.Tothisend,theagent-orientedapproachwillbecomparedwithleading-edgetechniquesfrommainstreamsoftwareengineering(section2.3.4).Inparticular,thisinvolvescomparisonswithobject-orientedanalysisanddesign(systemisbuiltoutofinteractingobjectsthatencapsulatebothdataandtheproceduresthatoperateonthatdata)andwithcomponent-ware(systemisbuiltbyassemblingpre-existingcomponentsintosomeoverallstructure).

2.3.1Agent-OrientedDecompositions

Complexsystemsconsistofanumberofrelatedsub-systemsorganisedinahierarchicalfashion(Fig.1).Atanygivenlevel,thesub-systemsworktogethertoachievethefunctionalityoftheirparentsystem.Moreover,withinasub-system,theconstituentcomponentsworktogethertodelivertheoverallfunctionality.Thus,thesamebasicmodelofinteractingcomponents,workingtogethertoachieveparticularobjectivesoccursthroughoutthesystem.

Giventheabovesituation,itisentirelynaturaltomodularisethecomponentsintermsoftheobjectivestheyachieve5.Inotherwords,eachcomponentcanbethoughtofasachievingoneormoreobjectives.Asecondimportantobservationisthatcurrentsoftwareengineeringtrendsaretowardsincreasingthedegreesoflocalisationandencapsulationinproblemdecompositions.Applyingthisphilosophytoobjective-achievingdecompositionsmeansthattheindividualcomponentsshouldhavetheirownthreadofcontrol(i.e.,componentsshouldbeactive)andthattheyshouldencapsulatetheinformationandproblemsolvingabilityneededtomeettheseobjectives.Sincethecomponentstypicallyhavetooperateinanenvironmentinwhichtheyhaveonlypartialinformation,theymustbeabletodetermine,atrun-time,whichactionstheyshouldperforminpursuitoftheirobjectives.Inshort,componentsneedautonomyovertheirchoiceofaction.

Inorderfortheactiveandautonomouscomponentstofulfilboththeirindividualandcollectiveobjectives,theyneedtointeractwithoneanother(recallcomplexsystemsareonlynearlydecomposable).Howeverthesystem’sinherentcomplexitymeansthatitisimpossibletoaprioriknowaboutallthepotentiallinks:interactionswilloccuratunpredictabletimes,forunpredictablereasons,betweenunpredictablecomponents.Forthisreason,itisfutiletotryandpredictoranalyseallthepossibilitiesatdesign-time.Itismorerealistictoendowthecomponentswiththeabilitytomakedecisionsaboutthenatureandscopeoftheirinteractionsatrun-time.Fromthisitfollowsthatcomponentsneedtheabilitytoinitiate(andrespondto)interactionsinaflexiblemanner.

Thepolicyofdeferringtorun-timedecisionsaboutcomponentinteractionsfacilitatestheengineeringofcomplexsystemsintwoways.Firstly,problemsassociatedwiththecouplingofcomponentsaresignificantlyreduced(bydealingwiththeminaflexibleanddeclarativemanner).Componentsarespecificallydesignedtodealwithunanticipatedrequestsandcangeneraterequestsforassistanceiftheyfindthemselvesindifficulty.Moreoverbecausetheseinteractionsareenactedthroughahigh-levelagentcommunicationlanguage,couplingbecomesaknowledgelevelissue.This,inturn,removessyntacticlevelconcernsfromthetypesoferrorscausedbyunexpectedinteractions.Secondly,theproblemofmanagingcontrolrelationshipsbetweenthesoftwarecomponents(ataskthatbedevilsmoretraditionalfunctionaldecompositions)issignificantlyreduced.Allagentsarecontinuouslyactiveandanycoordinationorsynchronisationthatisrequiredishandledthroughinter-agentinteraction.Thus,theorderingofthesystem’stop-levelgoalsisnolongersomethingthathastoberigidlyprescribedatdesigntime.Rather,itbecomessomethingthatcanbehandledinacontext-sensitivemanneratrun-time.

Fromthisdiscussion,itisapparentthatanaturalwaytomodulariseacomplexsystemisintermsofmultiple,interacting,autonomouscomponentsthathaveparticularobjectivestoachieve.Inshort,agent-orienteddecompositionsmakeiteasiertodevelopcomplexsystems.(Theviewthatdecompositionsbaseduponfunctions/actions/processesaremoreintuitiveandeasiertoproducethanthosebasedupondata/objectsisevenacknowledgedwithintheobject-orientedcommunity.)

2.3.2TheAppropriatenessoftheAgent-OrientedAbstractions

Asignificantpartofalldesignendeavoursistofindtherightmodelsforviewingtheproblem.Ingeneral,therewillbemultiplecandidatesandthedifficulttaskispickingthemostappropriateone.Turningtothespecificcaseofdesigningsoftware,themostpowerfulabstractionsarethosethatminimisethesemanticgapbetweentheunitsofanalysisthatareintuitivelyusedtoconceptualisetheproblemandtheconstructspresentinthesolutionparadigm.Inourcase,theproblemtobecharacterisedconsistsofsub-systems,sub-systemcomponents,interactionsandorganizationalrelationships.Takingeachoftheseinturn:

Thecaseforviewingsub-systemcomponentsasagentshasalreadybeenmadeabove.

Theinterplaybetweenthesub-systemsandbetweentheirconstituentcomponentsismostnaturallyviewedintermsofhigh-levelsocialinteractions:“atanygivenlevelofabstraction,wefindmeaningfulcollectionsofobjectsthatcollaboratetoachievesomehigherlevelview”.Thisviewaccordspreciselywiththeknowledgelevel(orevensociallevel)treatmentofinteractionaffordedbytheagent-orientedapproach.Agentsystemsareinvariablydescribedintermsof“cooperatingtoachievecommonobjectives”,“coordinatingtheiractions”or“negotiatingtoresolveconflicts”.Thus,theagent-orientedmindsetisentirelyappropriateforcapturingthetypesofinteractionthatoccurincomplexsystems.

Complexsystemsinvolvechangingwebsofrelationshipsbetweentheirvariouscomponents.Theyalsorequirecollectionsofcomponentstobetreatedasasingleconceptualunitwhenviewedfromadifferentlevelofabstraction.Again,thisviewmatchescloselywiththeabstractionsprovidedbytheagent-orientedmindset.Thus,facilitiesaretypicallyprovidedforexplicitlyrepresentingorganisationalrelationships.Interactionprotocolshavebeendevelopedforformingnewgroupingsanddisbandingunwantedones.Finally,structuresareavailableformodelingcollectives.Thelatterpointisespeciallyusefulinrelationtorepresentingsub-systemssincetheyarenothingmorethanateamofcomponentsworkingtogethertoachieveacollectivegoal.

2.3.3TheNeedforFlexibleManagementofChangingOrganisationalStructures(Omitted)

2.3.4AgentsVersusObjectsandComponent-Ware

Thereareanumberofsimilaritiesbetweentheobject-andtheagent-orientedviewsofsystemdevelopment.Forexample,bothemphasisetheimportanceofinteractionsbetweenentities.Howevertherearealsoanumberofimportantdifferences.Firstly,objectsaregenerallypassiveinnature:theyneedtobesentamessagebeforetheycomealive.Secondly,althoughobjectsencapsulatestateandbehaviour,theydonotencapsulatebehaviouractivation(actionchoice).Thus,anyobjectcaninvokeanypubliclyaccessiblemethodonanyotherobject.Oncethemethodisinvoked,thecorrespondingactionsareperformed.Inthissense,objectsareobedienttooneanother.Whilstthisapproachmaysufficeforsmallerapplicationsincooperativeandwell-controlledenvironments,itisnotsuitedtoeitherlargeorcompetitiveenvironmentsbecausethismodusoperandiplacesalltheonusforinvokingbehaviourontheclient.Theserverhasnosayinthematter.Insightsfrombothorganisationandpoliticalscienceindicatethatsuchone-sidedapproachesdonotscalewell.Itisfarbettertoallowtheactionexecutortohaveasayinthematter(i.e.,actioninvocationbecomesaprocessofmutualconsent).Thus,forinstance,theexecutor,whobydefinitionismoreintimatewiththedetailsoftheactionstobeperformed,mayknowofagoodreasonwhythespecifiedbehaviourshouldnotbeinvokedinthecurrentsituation.Insuchcases,theexecutorshouldeitherbeabletorefusetherequestoratleastpointoutthepotentiallydamagingconsequencesofcarryingitout.Theseobservationsbecomeevenmorepertinentassoftwaremovesfromtherealmsofbeingunderthecontrolofasingleorganisation(oraninherentlycooperativegroupoforganisations)intoopenenvironmentsinwhichthesystemcontainsorganisationsthatcompeteagainstoneanother.Thirdly,object-orientationfailstoprovideanadequatesetofconceptsandmechanismsformodelingthetypesofsystemdepictedinFig.1:“forcomplexsystemswefindthatobjects,classesandmodulesprovideanessentialyetinsufficientmeansofabstraction”.Complexsystemsrequirericherproblemsolvingabstractions.Individualobjectsrepresenttoofineagranularityofbehaviourandmethodinvocationistooprimitiveamechanismfordescribingthetypesofinteractionsthattakeplace.Recognitionofthesefacts,ledtothedevelopmentofmorepowerfulabstractionmechanismssuchasdesignpatternsandapplicationframeworks.Whilsttheseareundoubtedlyastepforward,theyfallshortofthedesiderataforcomplexsystemsdevelopments.Bytheirverynature,theyfocusongenericsystemfunctionsandthemandatedpatternsofinteractionarerigidandpre-determined.Finally,object-orientedapproachesprovideminimalsupportforstructuringcollectives(basicallyrelationshipsaredefinedbyinheritanceclasshierarchies).YetasillustratedinFig.1,complexsystemsinvolveavarietyoforganisationalrelationships(ofwhich“part-of”and“is-a”arebuttwoofthesimplerkinds).

Atechnologythatiscloselyrelatedtothatofobject-orientedsystemsiscomponent-basedsoftware.Thereareanumberofmotivationsforcomponent-basedsoftware,buta

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論