Redesigning Software Procurement through Intelligent Agents From: AAAI Technical Report WS-98-13. Compilation copyright © 1998, AAAI (www.aaai.org). All rights reserved. Mark Nissen, Naval Postgraduate School, 555 Dyer Rd. Code SM/Ni, Monterey, CA93943; e-mail: MNissen@nps.navy.mil. Anshu Mehra, Gensym Corporation, 125 Cambridge Park Dr., Cambridge, MA02140; e-mail: AMehra@gensym.com. Abstract Software procurement represents a process of vital importanceto most enterprises in the public and private sectors, but particularly in the U.S.government, the software procurement processis highly pathological.Intelligent agent technology offers the potential to remedythis process pathology and an agent-based redesign transformation is recommended to dramatically improvethe performanceof the software procurementprocess. This paper outlines a number of contemporary agent applicationsand presentsthe results of a measurement-driven redesign analysis of the government software procurement process. Wediscuss intelligent software procurementagents that are developedto automate and support this processusing a noveltool called the Agent DevelopmentEnvironment(ADE).The paper highlights the behavior and utility of intelligent software procurement agents and presentssomepreliminaryresults associated with their application to an operationalgovernment organization. Weshow howthis agent-based process redesign offers excellent potential for improvement in both cost and cycle time for the process and offer an agenda for continued researchalongthese lines. Redesigning Software Procurement Withthe passageof each productlifecycle, softwarebecomes increasinglyimportantto efficiencyand effectivenessin the public andprivate sectors alike. Many majorcorporationsrely on the powerof information technology (IT) to compete effectivelyin this fast-paced,hypercompetitive, globalbusiness environmentof today, and the military has 10nginvested in software-intensive weaponand communication systems. With an expanding mission but declining budget, the U.S. government is fast becoming software-dependent as well, as it represents the largest single buyer in the world with an estimated $40Bworth of annual software procurement(STSC 1996). However,U.S. govemment procurementlead times are notoriously long and the time required for software purchasesoften exceedsthe productlifecycles themselves.It widelyemployslinear, bureaucratic,paper-based,regulationladen procurementprocesses, even whenbuying the same commercial off-the-shelf (COTS) sottware used consumers,for example. Althoughthe govemment has made considerableprogressin terms of procurementover the last fewyears(e.g., acquisitionstreamlining,usingEDI,eleclronic bulletin boards, emphasizingCOTS software, establishing a preferencefor commercial specifications and standards), its procurement process will always be disadvantaged with respect to those foundin the corporatesector. Theimmense size of the government organimtion,requirementsfor public Irust and accountability,socioeconomic legislation and other attributes all contributeto this result. In fact, the government mustdevelopsuperiorprocessesjust to achieveparity withthe privatesectorin termsof processefficiencyandeffectiveness. In this paper, we employ measurement-driven inferenceto diagnosea number of pathologiesassociatedwith the govemment procurementprocess and use the results to redesign software procurementthroughan intelligent agent application. This agent technologyserves to enforceprocess integrationbetween buyerandseller, takes advantageof global connectivity, satisfies regulatory requirementswith even greater consistencythan is possibletoday,and automatesmost of the softwareprocurement processwith attendantsavingsin terms of cost and cycle time. Whenimplemented to augment the govemmenfs suite of legacy, current and emergingIT tools, this agent application can effect the kinds of quanUma performanceimprovementssought through process redesign (Davenport 1993). Weprovide a brief overview of some exemplaryintelligent agent applications in the following section andthen outline the key steps and results associated with redesign of the software procurementprocess. The architecturefor our intelligent agentapplicationis discussed subsequently, followedbythe case of its initial applicationin the govemment acquisition domain.Weclose the paper with an agendafor continuedresearchalongthese lines. Intelligent Agent Applications Workin the area of softwareagents has beenongoingfor some timeand it addressesa broadarray of applications.Indeed,one neednot researchtoo far backin the literature to identify a plethora of agent exarnpleg zo manythat any attempt to reviewthem, evenbriefly, wouldconstitute a journal-length paperin andof itsel£ In this section weprovidea high-level overviewof extant agent applications,withparticular emphasis on a framework to relate themwiththis presentwork. It is informativeto groupextant agentapplications into four classes: 1) information filtering agents,2) information reWievalagents,3) advisoryagents,and 4) performative agents. Briefly, mostinformationfiltering agentsare focusedon tasks suchas filtering user-inputpreferencesfor e-mail(e.g., Maes 1994, Maloneet al. 1987), networknewsgroups(Sycara and Zeng1996), frequently askedquestions (Whitehead1994) arb. iwarytext (verity 1997). Informationrelrieval agents address problemsassociated with collecting information pertaining to commoditiessuch as compactdisks (Krulwich n.d.) and computerequipment(uVision1997),in addition services such as advertising (PriceWatch1997)and insurance (Insurance 1997). Wealso include the ubiquitous Web indexingrobotsin this class (see EtzioniandWeld1995)along with Web-basedagents for report writing (Amulet1997), publishing(InterAp1995)and assisted browsing(Burkeal. 1997).Agentsfor technical informationdelivery (Bradshaw al. 1997) and information gathering (Knoblochand Ambite 1997)are not Web-based per se, but they performa similar function. Athird class of agentsis orientedtowardproviding intelligent advice. Examplesinclude recommendations for CDs(Maes1997), an electronic concierge(Etzioni and Weld 1995),an agent ’qaost" for college campusvisits (Zengand Sycara1995)and planningsupport for manufacturingsystems (Maturanaand Norrie 1997). Agentsfor strategic planning support(Pinson et al. 1997), softwareproject coordination (Johar 1997)and computerinterface assistance (Ball et al. 1997)are also groupedin this class, alongwith supportfor militaryreconnaissance (Buiet al. n.d.) andfinancialportfolio management (Sycamet al. 1996). Performativeagents in the fourth class are generally oriented towardfunctions suchas business transactions and work performance. Examples include a marketplacefor agent-to-agenttransactions(Chavez and Maesn.d.) andan agent systemfor negotiation(Buin.d.), in addition to the performanceof knowledgeworksuch as automated scheduling (Sen 1997, Walsh et al. 1997), cooperative learning (Boy 1997) and automated digital services (Mullenand Wellman 1996). The intelligent software procurement agents developedthrough this present research are probably best categorized in the fourth group above(i.e., performative agents), but they havebeendesignedto also exhibit behaviors suchas information filtering andreWieval,andtheir use canbe accomplished throughsimulation(i.e., in an advisoryrole) as wellas enactment (i.e., the performative role). Thus,intelligent softwareprocurementagents havesimilarities with examples fromeach of the four classes above.To further descnl~eand differentiateintelligent supplychainagents,wehaveintegrated the agent-taxonomywork of Franklin and Graesser (1996) witha three-dimensional structure fromGilbertet al. (1995) developthe analytical framework presentedin Figure1. Collaboration Parallel processing ISCA E Expert systems Intelligence programming Mobility Figure 1 Agent Framework In this framework weuse the sameintelligence and mobilitydimensionsnoted in the three-dimensionalslruaxa~ above, but with the substitution of the new dimension collaborationin lieu of autonomy/agency. This follows the presumptionof agent autonomyslressed by Franklin and Graesser. For purposeof discussion, wehaveannotatedlifts three-dimensional space with one, relatively "pure"exemplar from each dimension. For example, manyexpert system applicationsare quite extensivein termsof formalized,expertlevel intelligence, but they traditionally are not designedto operateon foreignhosts nor do theygenerallycollaboratewith other expert systemsto jointly solve problems.Similarly, /emote programmingof the sort enabled by Java and Telescript equipprogramsto executeon foreign machines,but these proceduralapplications are not generallyendowed with the capability for intelligent inferencenor are they usually thought of in terms of collaborative processing. Likewise, parallel processinghas an explicit focus on collaborative problemsolvingbetweenmultiple,parallel processors,but this problem solving is usually focused more on procedural processingthan intelligent reasoningandexecutionon foreign hosts is rarely envisioned.Clearlyexceptionsexist for each class (e.g., distn’outed AI,intelligentJavaagents,etc.), butthese three exemplarsshould conveythe basic conceptsassociated with each dimension. Notice the annotation for intelligent software procurementagents (labeled "ISCA"in the figure). Although this class of systemsis not as exlremeas any of the three exemplarsfrom above along any particular dimension, it occupies a position roughly in the middle of this threedimensionalagent space;all three of the exemplars fromabove are situatedalongonlya singleaxis. Thisaddsto the challenge of our agent development work,but it serves to enablea new set of capabilitiesthat proveto be quiteeffectiveandusefulfor operational processes such as software supply chain management. Withthis in mind, we tumnowto the sottware procurement processredesign. School(NPS).Althougha leading, accrediteduniversity like mostschoolsthat offer graduatemanagement, engineeringand like degrees,NPSis also a government institution. Thea~fore it is subjectto all the sam lawsandregulationstiara e procurement govem the purchasingactivities of any military unit or federal agency. Thecommercial software order fulfillment process examinedthroughthis investigation pertains to workdoneby the Product and Licensing Department at Gensym Corporation.Gensym is a leader in software for developing intelligent real-time applications and maintainsan active researchand development activity that drives frequentproduct inlroductions,updatesandreleases. Thereforeit representsthe kind of rapid productevolutionthat has beenproblematicfor government procurement. Thehigh-level processdelineatedin Figure 2 depicts the integration of the User, NPSSupply Department and softwareConlractor. User IDrq~ts Supply Dept Contractor Vedfyform ¥ Y Reseercll $oui’oes Software Procurement Process Redesign Source selection The governmentprocurementprocess is costly and timeconsuming,particularly with respect to IT. There are many instances of procurementstaking so long that purchased software becomesobsolete before it is received by the government user and put into place in the organization, for example.Becausethe set of processesassociatedwith software procurementappear to be so pathological for the govemment, wefocus our initial redesignactivities on this area, andwe include the corresponding order-fulfillment processes associatedwithcommercial softwarevendorsto analyzea twosegment supplychainprocessin this section.Wefirst inlroduce the integratedsupplychain processand then step throughthe measurement-driven inferenceassociatedwithits redesign. Integrated Supply Chain Process Asnoted above,twoprimaryprocessesare involvedwith this supply chain----government software purchasing and commercialsoftware order fulfillment--and we present and discusstwoprocessinstances in termsof a single, integrated whole; that is, both purchasingand order fulfillment are modeledas a single process that spans organizational boundaries.Specifically, the government softwarepurchasing processexaminedthroughthis investigation pertains to work done by the SupplyDepartmentat the Naval Postgraduate IssueRFC Analyze’~ qootas ,s Prepquote= ~b’Issuaol~lb~ Usegoods Receive good~ FulflllCrder SendInvoice Make peymen~ ¯ ]~ Deposit fund8 Figure2 IntegratedSupplyChainProcess Theprocess beginswith a user in the organization identifying a needand determininghis or her preliminary software requirements. A market survey follows with the marketinformation(e.g., products,capabilities, companies, prices, etc.) used to completea (paper-based)procurement request form.This formis submittedto the SupplyDepartment for processing,in whicha Buyerverifies the form(e.g., in terms of completeness,required documentation sueh as solesourcejustification, adequatebudget,etc.) andthenresearches somepotential sources for procurement(e.g., existing conlracts, approved-vendor lists, small/disadvantaged-business fists, etc.) in additionto the sourcesidentified throughthe marketsurvey. AnRFQis generally issued and quotationsare analyzedby the Buyer,whothen Summarizes the information for reviewandsourceselectionby the user. Apurchaseorder is then issuedandthe transactionis completed as the softwareis deliveredto the user andpayment is made. Not shown in the figure is the underlying knowledge,expertise and information that is required for people to perform the software purchasing and order fulfillment processesdepictedabove. For example,the user must knowhowto conducta marketsurveyand haveaccess to alternative sources of software supply, as well as an understanding of the basic procedures for govemment procurementand information pertaining to the specific purchaserequestformused. Similarly,the Buyermu.stpossess thoroughknowledgeof the Federal Acquisition Regulation and knowhowto review the purchase request (e.g., what constitutes completeness, when to request additional information,etc.) and havecurrent informationpertaining to alternative sourcesof supply. TheBuyermustalso haveaccess to one or moresuppliers’ systemsto be able to post the RFQ and requires knowledgeof the procedures required for quotation analysis and source selection. Access to and understanding of the receiving and paymentsystems and proceduresis also necessaryto completethe transaction,andof course vendor personnel must understand the policies, proceduresand systemsassociated with software product and licensing. These kinds of knowledge, expertise and informationsuggestthat an intelligent systemmayoffer good potentialto supportthis integratedprocess. Process Redesign To redesign this integrated process, we employ the measurement-drivenmethod described in Nissen (1996, 1997a, 1997b), which obtains measurementsfrom a graphbased process representation to diagnose pathologies and recommend redesign transformations. The knowledge-based methodand technologyhave been successfully employedto redesigna numberof govemment procurementprocesses(e.g., see Nissen1997c), and we highlight each of the key steps below. Step1. Modelbaseline process. In termsof processredesign, the baseline(i.e., "as is" processthat exists beforeredesign) process is the one diagrarmned in Figure 2 above. Measurement-driven inference requires a representation that supports automatedmeasurement,so weconvert the informal model from above into an a~ibuted directed graph (Adigraph)as shownin Figure3. Withthis model,each process activity is representedas a nodelinked to predecessorsand successorsby directed edgesin the graph. Toavoid clutter, onlythe first sevenactivities are shown in the figurefor this baselineprocess.Forreference,wealso list a representativeset of atlributes associated with the "ResearchSources"step. Theseinclude, for example,role and cardinality of the agent responsible for performingthe activity, along with the correspondingdepartmentand organization, inputs to and outputs from the activity, and classes of tools and communications used to supportthe processand its products. Asan A-digraphrepresentation, this modelsuppo~automatic process measurementusing our graph-based measurement scheme. ID Mkt PR Verify Rsch Issue Prep - Level(1) - Type(A) - Agent (SupO) - Cardinality(1) - Dept(Supply) - Org (NPS) - Inputs (verified_PRform) - Outputs(vendor_list) - Tools (DBMS) - Communication (paper) Figure3 Baseline A-Digraph Representation Step2. Measurebaseline process. Measurements are obtained by countingcertain nodes,edgesand atlributes that possess heuristic value in terms of process diagnosis. Someof the relevantmeasuresand baselineprocessvalues are presentedin Table1 for discussion. Details associatedwith the measures andmeasurement processare providedin the referencesabove. Fromthe table, wesee that the processis comprised of twelve activities(i.e., size = 12)and,as a sequentialprocessflow,it twelvesteps in length. Theparallelismmeasurement (1.00 is theoreticalminimum for this measure)is calculatedas the ratio of size dividedbylengthandquantifiesthe sequentialnatureof this baseline process instance. The other measures are expressed in terms of normalized attribute counts. For example,the handofffraction (0.67) indicates that roughlytwo thirds of. the processactivities are associated with timeconsuming handoffsfromone organizationalrole to another. Suchhandoffsare often associated with worksitting in inboxes and out-boxes, awaiting agent assignment,managerial approval,couriers,mailserviceandlike activities that amwell knowncontributors to cycle time. Thethree IT fractions am used to quantifythe extent to whichthe processinvolvesITbasedsupport, communication and automation,respectively. Zerorepresentsa theoretical minimum for these measures. Step 3. Diagnoseprocess pathologies. The measurements presentedin Table1 offer heuristic value in termsof process diagnosis, and the diagnostic implicationsof these measures am also shownin the table as they pertain to process pathologies.Forexample,wenotedabovethat processfriction has a well knownimpact on process cycle time, as do sequential process flows and paper-based communications. Likewise, manual,labor-intensive processes are also well knownto suffer fromrelatively high cost. Thesediagnosed pathologiesare usedin tumto matchredesigntransformations. Table 1 Baseline Process Measurements Measure Value Diagnosis Processsize 12 Processlength 12 Parallelism 1.00" Sequentialprocess Handoffsfraction 0.67 Processfriction IT-Supportfraction 0.25 Manualprocess 1T-Communication fr. 0.00" Paper-basedprocess IT-Automation ft. Labor-intensive process 0.00" i!!i Software Proceu2 Figure 4 ADEArchitectural Schema Step 4. Matchredesign Wansformations.Several redesign Iransformationsare matchedwith the pathologiesdiagnosedin the precedingstep. For example,the sequential processflow matcheswith a de-linearize Wansformation (i.e., performing someprocesssteps in parallel as opposedto serially), but check of inputs and outputs for each step precludes the activities of this processfrombeingperformedwith greater concurrency; that is, the outputfromeachstep is requiredas an inputto the next,so de-linearization is infeasible.Altematively, the combination of processfriction witha manual,paper-based process flow matcheswith a workflow-system Wansformation to supportthe processactivities. Further,the labor-intensive process (i.e., absence of automation) matcheswith the diagnoses above to suggest that an intelligent agent transformationmayaugnaentthe workflowsystemto further enhanceprocess performance.Clearly manyother redesign recommendations can be madefrom these measurementsand diagnoses,but these are directly applicable to the present discussion(i.e., intelligent agenttransformationof sottware procurement).Wenowdiscuss the architecture associatedwith our intelligent procurement agent Wansformation. Agent Development Environment Architecture and deploy agents. ADE is built on G2,. an object-oriented graphical environmentthat offers a robust platformfor the development of intell/gent real time systems. ADEsupports the developmentof multi-agent applications capable of runningon a single machineor on a dislributed network.The mainADE components are Agent, Message,ActiviOp,Host and Environment. In this section webriefly outline eachin turn, followedby a discussionof agent simulation.Webeginwith a high-levelarchitecturalschema that inter-relates eachof these ADE components.This is diagrammed in Figure 4. and Agent DevelopmentEnvironment(ADE)is the integrated development environmentto design, develop,debug,simulate 5 O -~’Agent. In ADE, agents communicate through messagesor events (a subclass of message).ADE provides basic direct addressingmessageservice, with someoptional functionality (e.g., guaranteeddelivery, messagebroadcast, subject-based addressing). ADEuses delegation basedevent handlingsimilar to the JavaBeansmodelin whichagents use messagesto generateand listen for events. Eachagent has a network-wide unique name. This enables communication amongagents dis~buted across a networkto be independent froman agenf s location. Agentsrefer to each other by their nameand the nameof an agent cannot be changedduring its entire "life."ADE provides a "Yellow Pages" lookup capability;that is, specificpropertiescanbe definedfor agents, enabling other agents to send messagesqualified by their properties. Eachagent can querythe yellowpagesto find the namesof agentsmatchinga specific Booleanset of properties. Agentscan be dynamicallycreated, deleted, clonedand moved across the network.ADEprovides a base agent class called AdeAgent. AdeAgentcan be specialized and augmentedby application-specific agent types. Exampleagents include ResourceMonitoringAgent, ManufacturingCellAgent and JobBrokerAgent. Agents in ADEare autonomous, multi-threaded objectswiththeir ownstate. Eachthreadof control of an agent is represented by an activity instance. An agent can concurrently performmultiple activities. For example,a MachineToolAgentcan be concurrently performing two activities: monitoring a machine job andnegotiatingfuture jobs with other agents. Messagesand other events are sent, and listened for, within the context of a specific activity of an agent. Agentactivities are definedeither using the Grafcet graphicallanguage(discussedbelow)or directly withmethods for activitysubclasses. Message.ADEprovides a base level messageclass of type AdeMessage. Agentscommunicate with each other by sending objects of type AdeMessageor its subclass. A messagecontains the destination agent name.Messagesare handledby agentactivities. Amessage can be sent to a specific activity of an agent. In ADE,no acknowledgment is required for messages.Exchangeof messagesbetweenagents maybe synchronousor asynchronous.A synchronousmessageblocks the activity of the agent until the reply is receivedfromthe agent to whichthe messagewassent. Alternatively, an agent maycontinueto performits activity withoutblocking.It is assumedthat messagestake a finite amountof time to be delivered. Thus,it is possiblefor messagesto get delayedor lost, andfor messages sent in oppositedirectionsby different agentsto cross oneanotherO.e., bothbe in transit at the same time). ADE supportstwo majorsubclasses of AdeMessage: (i) AdeSolication is a messagefor which the sending agent expectsa reply; and, (ii) AdeAssertion is a messagefor which the sendingagent expectsno reply. Messagesare used for the commtmicationbetween agents and between the different activities of the sameagent. Communication betweenagents andexternal devicesor processesis also accomplished through messages. A subclass of AdeMessagecalled AdeEventis providedin ADE for discrete event simulation. I Activity. Anactivity definesa specific behaviorof an agent. AdeActiviO~class provided in ADEfacilitates the development of a multi-threadcapability withoutdealingwith threads, stacks and priorities. Anagent maybe concurrently performing multipleactivities of the sametype or of different types. Withinan activity, multiplethreadsmaybe active at the sametrine. Messages sent to an agentmayeither initiate a new activity or maycontinuea dialog withan ongoingactivity. In the first case,the agentstarts a newthreadof activity. During execution of an activity the agent can send and receive synchronousand asynchronousmessages.Oncean activity is started, the messagecan be sent directly to it. Anactivity maintainsa queueof receivedmessages.Withinan agent, the AgentHandler definesthe destinationactivity for eachmessage received. This handler is called whena messagedoes not identify its destinationactivity, whichusuallyoccurswhenan agentis initiating communication withother agents. Activities are defined either as methodsor using Grafcets.AdeGrafcetis a graphical languagethat showsboth parallel andsequentialcontrolstructuresin easy-to-understand pictorial form. AdeGrafcetis an extension of Grafcet, or SequentialFunctionCharts(SFC),a grapl;fical languagethat has beenacceptedas an induslrial standard(IEC848and IEC 1131-3)for local, PLC-levelsequential logic control (David and Alia 1992).A GrafcetChartcontainsNodesandthe Links amongthemdefine the flow of control of the activity of an agent. The main types of nodes are Steps, Trams#ions, MacroSteps, IterativeSteps andProcessSteps.Them~fintypes of links are Branches andJoins. A Step representsa state, phaseor mode.Associated with a step are actions.that are performedwhena step is activated. In standardGrafcetthe actionsthat canbe donein a step are of a Booleannature, whereasAdeGrafcetactions in steps are moregeneral; they can be compared withstatements of a conventionalprogramming language. Messagestatements to other agents maybe embedded in the action of a step, and actionsare intemallyrepresentedas procedures.TheIransitions act as gates onthe flowof control throughthe GrafcetChart. Eachtransition is associatedwitha conditionthat determines whetheror not control canpass throughthe transition. In ADE Grafcet transition conditions are expressed as Boolean expressionswritten as procedures.Conlrolcan pass througha transition whenits Booleanconlrol expressionevalo_at~to TRUE.Wait statements for specific messagesfrom other agents maybe embedded in conditionprocedures. AdeGrafcetalso provides MacroStepas a way to embedone Grafcetchart in another. IterativeStepenablesthe definition of embeddedGrafcet Charts whoseprocess is repeated a numberof times. ProcessStep is a MacroStep executedin morethan one GrafcetChart Theyare equivalent to subroutines in standard programming languages. A Link connectsstepsto Iransitions.Grafcetallowsa singlestep to be followedby morethan onetransition, anda single Iransition to be followed by morethan one step. Thus, Grafcet allows conlrol to fan-in andfan-out,andGrafcetprovidesfor a choice betweensynchronousand asynchronousoperations through a varietyof fan-inandfan-outlinks. Thereare five typesof links: Asynchronous Branch, SynchrononsBranch, First-Tree Branch,Asynchronous Join and Synchronous Join, __ Host. In ADE,every agent registers itself to AdeHost.Thereis one AdeHostfor every software processon whicha multi-agent application is running. AnAdeHostis responsible for delivering messages,as well as dynamically initializing, moving,cloningand destroyingagents. When an agentis created,it is assignedto a specifichost. Thehost then installs the agent, registers the agent properties and, if requested, connectsthe agent to databases, on-line control systems, etc. The "LocatorService" of a host enables each agentto locate all the other agentsin the application.When an agent moves(e.g., from one machineto another), AdeHost forwardsall the future messages to the newaddress. intelligent softwareprocurement agents developedto perform in this environment and discuss the performance implications of this agent-basedprocesswansformation. IIINII II IIIINI Hill IdentifyneedL ~ ,oftwKe mqulrwnen~ ttnd me~to "thLfl(et4~lnt" to oonduot rmvket murv~ry Environment. ADEsupports agent clusters by providinga special agent called AdeEnvironment. Asdepicted in the figure above, agents belongingto an environmentmay reside on different hosts. AdeEnvironmentenables hierarchicalgroupingandencapsulationof agents andprovides local "YellowPages"services. Althoughagents can moveto different hosts across a network,an agent maybelongto only one environment. Agents within an environment may be disallowed to communicatewith outside agents, and an environment can be a cluster of other environments. AgentSimulation. Becauseagent-basedsystems can exhibit complexemergent dynamics, simulation is an essential componentof a multi-agent developmentenvironment. ADE supports simulation during development through a SimulcaionAgent that emulatesthe behaviorof extemaldevices or processes.In this way,the interaction of agents with the extemal physical environmentcan be simulated during the developmentphase. Whenthe multi-agent application is deployed,the interface withthe Simulation-agents is replaced bythe actualinterfacewiththe physicaldevices. Summary. In summary,ADEprovides: (i) a predefined class hierarchy of agents and agent components;(ii) an agent communications "middleware";(’hi) a graphical programming languageto design and developagents’ behaviorbasedon the Grafcetstandard; (iv) a distributed simulationenvironment test multi-agentapplications built withADE;(v) a complete debuggingand tracing environment;and, (vi) a deployment center to deploy agents in the G2 environment or as "JavaBeans" in Java Virtual Machines. Redesign Agents and Results In this section wepresentthe preliminaryresults fromour use of ADEand application of intelligent software procurement agents to redesign the govemment software procurement process. Webriefly describethe structure and behaviorof the weJtfor"ulergoodl" /mel:~le from "supply dlpt" informtheuaeroodtreceived" tlmlout Infon~t~ ualr- Figure5 Grafcetfor UserBehavior Agent Structure and Behavior In orderto describethe structureandbehaviorof the intelligent software procurementagents developedto performin flats environment,we drawfrom the ADEdiscussion in previous sections and beginwiththe Grafcetsdevelopedto supportthe NPS-Gensym software supply chain. The first Grafcet, presented in Figure 5, depicts the user behavior and maps homomorphically to the integrated process flow fromFigures 2 and 3. For example,the Gmfcetflow begins with the user identifying his or her needand determiningthe preliminary software requirements. The next step involves the market survey. Noticethe "marketagenf’ that is identified as the recipient of a task messagehere. Thesupp&chain agentdoes not care whetherthis task is accomplishedby a humanor machineagent, so long as the marketsurvey is completed. Uponreceipt of acceptablemarketsurvey results, the agent uses its knowledge of NPSpurchasingproceduresto create the purchaserequest formwhichis sent to the SupplyDeparlment for processing. The corresponding Grafcet for the Supply Deparlment is presentedin Figure6, wherethe supplyagent is "listening" for a purchaserequest. Recall that the agentsare multi-threaded, so they can be performinga host of other activities whilewaitingfor suchrequests.Asdepictedin Figure 2 above,the supplyagentverifies the purchaserequest, which is either retumedfor additional informationor processed throughthe subsequent steps (e.g., researchingsources,issuing RFQ,etc.) depictedin the figure. ............. FFFF’FF r~lrl~ irqrrlrrr subclassing AdeAgent and describing the agents’ behavior using Grafcets. FF [] [] fulfill ~ verify order,tend"goodd’ tend"1Involoe" PORform ~ w~Jtfor"l:ayment not OK Bouro~8 depotltfundl / lend ’FIFQ" messagm to ~11 tmotom" of the produot w~Jt for"quoted’ analyze quote n n o "quoIQQ tirneout no "quote" OK Figure 6 Grafcet for Supply DepartmentBehavior The software contractor behavior is specified through the Grafcet presented in Figure 7. As above, the conWactor agent is multi-threaded,so it can do morethan just wait for an incomingorder from the NPSSupplyDepartment. Uponreceipt of suchan order, however,it preparesa quotation andsendsit to the requestingagent(i.e., supply).If an order received,the agent’stasks branchto fulfill the order(i.e., send the software"goods")andinvoice the customer. Theagents’ activity behaviorsare implemented via the GrafcetChartsshownin Figures5-7. Specificbehaviorfor eachstep andnodeof the Grafcetchart is describedthrougha method.The distributed nature of the ADEenablesagents to inter-operate on different hosts (i.e., agents can be simultaneouslyat the customer’sand supplier’s sites). The distributed agents can communicatewith each other via AdeHost. Thesupplychain application describedin this paper involvesmultipleinstancesof onlya single agent type for the user, supply deparlment and software contractor. A marketspace of multiple agent types can be created by Figure7 Grafeetfor SoftwareContractorBehavior Preliminary Redesign Results Wenotethe preliminarynatureof these redesignresults, for the workto date has taken us only througha proof-of-concept demonstration of the integratedsupplychain agents. Although we haveobtained measurements fromthis agent-based, postredesignprocess configuration, we haveyet to simulate the process performanceor measurethe implementedredesign through pilot or like testing. Nonetheless, even these preliminaryresults are veryencouraging andsuggestcontinued workalong these lines. Thepost-redesign measurements are presented in Table2, along with the correspondingbaseline process measurements fromabovefor reference. Fromthe table one can observe the agent-based redesigntransformation has noeffect on processsize, lengthor parallelism,nor did wepredict that it would.Thus,wesee no performanceimplications with respect to these measures.In contrast, the redesignhas a Iremendous effect on the remaining four measures--handoffs,IT-Support, IT-Communication and IT-Automation fractions---whichare associated with reduced cost and cycle time as shownin the table. Althoughwehave yet to simulateor pilot this agent-based redesign,results such as these (e.g., eliminatingprocesshandoffsand dramatically increasing the density of IT employed in the process) offer excellentpotentialto generatethe kindsof performance effects noted in the table. Withthis, we feel confident that the intelligent agents developedthrough this research can be employedto dramatically improveperformance,not only of this software procurementprocess, but manysottware and oflaer procurementprocessesin like organizationsacross a widerangeof indusWies and sectors. This leads to our agenda for continued researchalongthese lines. Table2 RedesignProcess Measurements Measul~ Baseline Redesign Performance Implication Processsize 12 12 Processlength 12 12 PamUelism 1.00’ 1.00" Handoffsfraction 0.67 0.00’ - cycletime IT-Supportfiaction 0.25 0.92 - cost IT-Comm. ft. 0.83 - cycletime 0.67 - cost 0.00" IT-Automation ~. 0.00’ Continued process. The simulation results will also be used to adapt and tailor the supply chain agents. Also, since software as a product is comprised of digital information, the exchange of software-product information and the goods themselves can be performedelectronically. Future work in this area can utilize EDI and the Webto exchange products and product information via intelligent autonomousagents, thus further reducing procurement lead times. The agent-based commercial transactions between buyers and sellers can supplant the traditional EDI for business-to-business commerceand can potentially increase speed and responsiveness in today’s hypercompetitive business environment. References Research In this paper, we redesigned a software procurement process and described the Agent Development Environment for developing distributed multi-agent applications. Wethen presented a supply chain managementapplication developed for the government software procurement process. The application is extremely important because the U.S. government ¯procurement lead times are notoriously long and the time required for software purchases often exceeds the product lifecycles themselves. Althoughtho proof-ofconcept implementation is far from an "industrial strength" application, it satisfies our feasibility goals and suggests the agent-based approach and ADE technology have potential to scale well across multiple users, customers and vendors. And our measurements suggest excellent potential for dramatic performance gains through reduced processcost and cycle time. This satisfies our primary objective for this early research stage. Weare now constructing a simulation model for the integrated supply chain process that is used at the Naval Postgraduate School and GensymCorp. We plan to use simulation to analyze and compare procurement costs and lead times for the paper-based "as is" process and the agent-based "redesigned" Amulet. Amuletonline description. Interact address: http://www.amulet.com (1997). Ball, G., Ling,D., Kurlander, D., Miller, J., Pugh,D., Skelly, T., Stankosky,A., Thiel, D., VanDantzich, M. and WaxT. "Lifelike ComputerCharacters: The Persona Project at Microsoft," in J. Bradshaw(Ed.). Software Agents. AAAI Press: MenloPark, CA(1997). Boy,G.A."SoftwareAgentsfor CooperativeI.eaming,"in J. Bradshaw(Ed.). Software Agents. AAAIPress: MenloPark, CA(1997). Bradshaw,J.M., DutfMd.S. Benoit, P. and Woolley,J.D. "KAoS: Toward an Industrial-Strength Open Agent Architecture," in J. Bradshaw(Ed.), SoftwareAgents. AAAI Press: MenloPark, CA(1997). Bui, T. "Intelligent NegotiationAgentsfor SupportingIntemetbasedCompetitiveProcurement," workingpaper (n.d.). Bui, T., Jones,C., Sridar, S. andLudlow,N. "DecisionSupport for Reconnaissance UsingIntelligent SoftwareAgents,"Naval PostgraduateSchoolresearchproposal(n.d3. Burke, R.D., Hammond, K.J. and Young,B.C. "The FindMe Approachto Assisted Browsing,"IEEEExpert (July/August 1997),pp. 32-40. Chavez,A. and Maes,P. "Kasbah:AnAgentMarketplacefor Buyingand Selling Goods,"workingpaper (n.d.). David, R. and Alia, H. Petri Nets and Grafcet: Tools for Modeling DiscreteEventsSystems.Prentice-HallInternational: UK(1992). David,R. "Grafcet:APowerfulToll for Specificationof Logic Controllers," IEEE Transactions on Control Systems Technology 3:3 (September 1995), pp. 253-268. Etzioni, O. and Weld,D.S. "Intelligent Agentson the Intemet: Fact, Fiction, and Forecast," IEEEExpert(August1995), pp. 44-49. Nissen, M.E."ReengineeringSupport through MeasurementDrivenInference," Intelligent Systemsin Accounting Financeand Management Vol 6 (1997b). Frankfin, S. and Graesser, A. "Is It an Agent or Just a Program? A Taxonomy for Autonomous Agents," in Proceedingsof the Third International Workshopon Agent Theories, Architectures, andLanguagesSpringer-Verlag:New York, NY(1996). Nissen, M.E. "Reengineering the RFPProcess lhrough Knowledge-Based Systems," Acquisition Review Quarter& (Winter 1997); also published in the Acquisition Review Quarterly World Wide Web electronic library: http://www.dsmc.dsm.mil/pubs/arq/97arq/nissen.pdf (1997c). Gilbert,D., Aparicio,M.,Atkinson,B, Brady,S., Ciccarino,J., Grosof,B., O’Connor, P., Osisek,D., Pritko, S., Spagna,R., and Wilson, L. "IBMIntelligent Agent Strategy," working paper, IBMCorporation(1995). Pinson, S., Louca, J.A. and Moraltis, P. "A Distributed Decision Support Systemfor Slrategic Planning," Decision SupportSystems20 (1997), pp. 35-51. Insurance. Insuranceonline description. Intemet address: htlp://www.dmatters.co.uk (1997). PriceWatch.PriceWatchonline description. Interact address: http:/Avww.pricewatch.com (1997). InterAp. "InterAp AssignsIntelligent Agentsto the Web," PCWeek (12 June 1995). Johar, H.V."SoftCord:an Intelligent Agentfor Coordination in SoftwareDevelopment Projects," DecisionSupportSystems 20 (1997),pp. 65-81. Knobloch,C.A. and Ambite, J.L. "Agents for Information Gathering," in J. Bradshaw(Ed.), Software Agents. AAAI Press: MenloPark, CA(1997). Krulwich, D. An Agent of Change. Andersen Consulting Centerfor Strategic Technology Research(n.d.). Maes, P. "Agents that Reduce Workand Information Overload,"Communications of the ACM 37:7 (July 1994), pp. 30-40. Porter, M.and MiUar.V. 1985. Sen, S. "Developing an AutomatedDistributed Meeting Scheduler,"IEEEExpert(July/August1997),pp. 41-45. Sokol, P. FromED1to Electronic Commerce:A Bus~_ss Initiative McGraw-Hill: NewYork,NY(1996). STSC.Guidelinesfor Successful Acquisition andManagement of SoftwareIntensive SystemsSofl:wareTechnologySupport Center: Hill AFB,UT(1996). Sycara, K., Pannu, A., Williamson, M. and Zeng, D. "DisWibutedIntelligent Agents," IEEEExpert (December 1996),pp. 36-46. Sycara,K. and Zeng,D. "Coordinationof MultipleIntelligent Software Agents," to appear in International Journal of CooperativeInformationSystems(1996). Maes,P. "Pattie Maeson SoftwareAgents: Humanizing the GlobalComputer,"Internet Computing (July-August1997). Verity. Verity online description. http://www.verity.com (1997). Malone,T.W., Grant, K.R., Turbak, F.A., Brobst, S.A and Cohen, M.D."Intelligent Information-Sharing Systems," Communications of the ACM 30:5 (1987), pp. 390-402. Walsh, W.E., Wellman,M.P., Wurman,P.R. and MacKieMason,J.K. "SomeEconomicsof Market-basedDisln"outed Scheduling,Submitted for publication(1997). Intemet address: Maturana,F.P. and Norrie, D.H."DistributedDecision-making Using the Contract Net Within a Mediator Architecture," DecisionSupportSystems20 (1997), pp. 53-64. Whitehead,SID. "Auto-faq: An Experimentin Cyberspace Leveraging,: Proceedingsof the SecondInternational WWW Conference 1 (1994), pp. 25-38. Mullen,T. and Wellman,M.P."Market-basednegotiation for digital library services," Second USENIX Workshopon Electronic Commerce (November1996). Zeng, D. and Sycara, K. "Cooperative Intelligent Software Agents," Carnegie Mellon University technical report no. CMU-RI-TR-95-14 (March 1995). Nissen, M.E. "Measurement-Driven Inference for ReengineeringSupport"; appearedin the Workshop of AI in Business Working Notes from the AAAI96 Conference (1996). Nissen, M.E. "TowardIntelligent Web-basedRedesign Support," AAAI Technical Report WS-97-02 (1997a). 10