版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年跨區(qū)域水資源共享平臺建設(shè)項目可行性研究報告
- 2025年自駕旅游市場分析與發(fā)展可行性研究報告
- 2025年數(shù)字營銷傳播平臺創(chuàng)建項目可行性研究報告
- 羊苗買賣合同范本
- 瓜果進貨合同范本
- 組隊騎摩托協(xié)議書
- 線下補充協(xié)議合同
- 軍工企業(yè)物資供應(yīng)商專管員考核題庫
- 文化演出策劃崗位面試題含答案
- 華為人力資源經(jīng)理面試題詳解及答案
- 2025年植物標本采集合同協(xié)議
- 2025天津市第二批次工會社會工作者招聘41人考試筆試參考題庫及答案解析
- 2025湖北武漢市蔡甸區(qū)總工會招聘工會協(xié)理員4人筆試試題附答案解析
- 膽管重復(fù)畸形健康宣教
- 2025秋人教精通版英語小學(xué)五年級上冊知識點及期末測試卷及答案
- 校園反恐防暴2025年培訓(xùn)課件
- 2026年安徽城市管理職業(yè)學(xué)院單招職業(yè)技能測試模擬測試卷附答案
- 2025甘肅省水務(wù)投資集團有限公司招聘企業(yè)管理人員筆試備考題庫附答案解析
- 2025山東壹通無人機系統(tǒng)有限公司暨三航無人系統(tǒng)技術(shù)(煙臺)有限公司社會招聘筆試現(xiàn)場及筆試歷年參考題庫附帶答案詳解
- 2025年秋季學(xué)期國家開放大學(xué)《人文英語4》期末機考精準復(fù)習(xí)題庫
- 神經(jīng)內(nèi)科三基考試題庫及答案
評論
0/150
提交評論