版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Lesson11Agent-OrientedSoftwareEngineering
(第十一課面向智能體的軟件工程)
Vocabulary(詞匯)ImportantSentences(重點(diǎn)句)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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年冀教版九年級歷史下冊月考試卷含答案
- 2025年滬教版七年級歷史下冊月考試卷含答案
- 2025年湘教版八年級歷史上冊階段測試試卷含答案
- 二零二五年度文化展覽場地租賃合同協(xié)議書4篇
- 2025年政務(wù)服務(wù)中心觸摸一體機(jī)設(shè)備采購合同3篇
- 護(hù)理派遣合同(2篇)
- 2025版農(nóng)業(yè)產(chǎn)業(yè)鏈農(nóng)資采購與銷售聯(lián)盟合同3篇
- 二手車買賣合同集合(2024版)
- 環(huán)保型害蟲防治與生態(tài)恢復(fù)合同二零二五年度4篇
- 2025年度特色小鎮(zhèn)攤位租賃及商業(yè)運(yùn)營合同3篇
- 醫(yī)學(xué)脂質(zhì)的構(gòu)成功能及分析專題課件
- 高技能人才培養(yǎng)的策略創(chuàng)新與實(shí)踐路徑
- 廣東省湛江市廉江市2023-2024學(xué)年八年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2024年湖北省知名中小學(xué)教聯(lián)體聯(lián)盟中考語文一模試卷
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 燃?xì)庑袠I(yè)有限空間作業(yè)安全管理制度
- 氣胸病人的護(hù)理幻燈片
- 《地下建筑結(jié)構(gòu)》第二版(朱合華)中文(2)課件
- JB T 7946.1-2017鑄造鋁合金金相
- 包裝過程質(zhì)量控制
- 通用電子嘉賓禮薄
評論
0/150
提交評論