《信息科学类专业英语》课件第11章_第1页
《信息科学类专业英语》课件第11章_第2页
《信息科学类专业英语》课件第11章_第3页
《信息科学类专业英语》课件第11章_第4页
《信息科学类专业英语》课件第11章_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论