




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024人工智能安全標(biāo)準(zhǔn)與風(fēng)險(xiǎn)評估預(yù)警
- 儲(chǔ)能電站系統(tǒng)基礎(chǔ)培訓(xùn)
- 林下經(jīng)濟(jì)施工方案
- 合同范本補(bǔ)償合同
- 吃奶魚合伙合同范例
- 行業(yè)主管工作總結(jié)的實(shí)施進(jìn)度計(jì)劃
- 品牌內(nèi)容營銷的成功實(shí)踐計(jì)劃
- 發(fā)展幼兒自信心的教育活動(dòng)計(jì)劃
- 人事部內(nèi)部流程再造計(jì)劃
- 企業(yè)文化建設(shè)的實(shí)施計(jì)劃
- 電梯采購合同范本
- 2025年官方二手房交易協(xié)議
- 2025年山東泰山財(cái)產(chǎn)保險(xiǎn)股份有限公司招聘筆試參考題庫含答案解析
- 2025年度珠寶店珠寶首飾設(shè)計(jì)研發(fā)合作協(xié)議
- 【道法】做自信的人課件 2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- 高一英語完形填空專項(xiàng)訓(xùn)練100(附答案)及解析
- 勵(lì)磁系統(tǒng)檢修規(guī)程
- WE-100B300B600B1000B型萬能材料試驗(yàn)機(jī)使用說明書
- 相聲《治病》
- 盾構(gòu)施工標(biāo)準(zhǔn)化手冊
- 貴州省義務(wù)教育階段中小學(xué)生轉(zhuǎn)學(xué)申請表
評論
0/150
提交評論