Nanotechnology 11 (2000) 133–137. Printed in the UK
PII: S0957-4484(00)12302-5
Agents, assemblers, and ANTS: scheduling assembly with market and biological software mechanisms Tihamer T Toth-Fejel† Environmental Research Institute of Michigan, Center for Electronic Commerce, 3600 Green Court, Suite 550, Ann Arbor, MI 48105, USA (http://www.erim.org/cec/) E-mail:
[email protected] Received 6 March 2000 Abstract. Nanoscale assemblers will need robust, scalable, flexible, and well-understood mechanisms such as software agents to control them. This paper discusses assemblers and agents, and proposes a taxonomy of their possible interaction. Molecular assembly is seen as a special case of general assembly, subject to many of the same issues, such as the advantages of convergent assembly, and the problem of scheduling. This paper discusses the contract net architecture of ANTS, an agent-based scheduling application under development. It also describes an algorithm for least commitment scheduling, which uses probabilistic committed capacity profiles of resources over time, along with realistic costs, to provide an abstract search space over which the agents can wander to quickly find optimal solutions. (Some figures in this article are in colour only in the electronic version; see www.iop.org)
1. Introduction
An original vision of very large quantities of nanoscale assemblers being controlled by agoric [1] software (in which software competes for tasks and resources) may be better served by a design that includes software agents. Recent advances in agent software have tended to confirm early predictions of the use of market mechanisms to achieve robust decentralized control over distributed, parallel, and heterogeneous systems, but agents are a better-understood mechanism for achieving these goals, while the real world market still shies away from self-modifying code. In order to be useful, nanoscale assemblers will need to be controlled by robust, scalable, flexible, and well-understood software. Unfortunately, object-oriented software is not powerful enough to fit these objectives. Because it can survive in very chaotic environment, agoric software may be (in a sense), like self-modifying code and genetic algorithms, a bit too powerful. Software agents provide a stable middle ground that may fit assembler requirements best. This paper will first define assemblers, agents, and one possible numeric relationship between them. Then it will focus on the case of that relationship that views the assembler as a factory, with agents controlling assembler subcomponents. This case is valuable because it exposes some important issues in the process of assembly, one of which is scheduling. Assemblers need to get the right atom † Mailing address: Environmental Research Institute of Michigan, Center for Electronic Commerce, PO Box 134001, Ann Arbor, MI 48113-4001, USA.
0957-4484/00/020133+05$30.00
© 2000 IOP Publishing Ltd
at the right place at the right time. Fortunately, many of these issues are obvious in today’s factories, with much work being done to address them. This paper will describe one such effort. It should be noted that, as with assemblers, the issue is putting together many complicated objects with many subcomponents. Many simple and repetitive nanostructures, like today’s steel structural beams or plastic injection-moulded cups, can be handled with simple software and control mechanisms. 2. Software agents and Drexlerian assemblers
Eric Drexler first envisioned nanoscale assemblers clearly as analogous to a computer-driven machine shop—a molecular machine that could be programmed to build virtually any molecular structure or device from simpler chemical building blocks. He referred to these nanosystems as ‘assemblers’ because their essential function is to assemble individual atoms and molecules into larger assemblages [2]. Software agents, on the other hand, have a more diverse origin, and hence their definition is less clear. They arose out of a need to coordinate different computer systems with reliability, modularity, cooperation, and flexibility. Agents are essentially autonomous software objects that can say ‘no’. They are physically or virtually embodied entities that can do the following: • Act in an environment. • Communicate with other agents. • Follow tendencies set by objectives or by optimizing a function. 133
T T Toth-Fejel
• Maintain resources. • Perceive the surrounding environment to a limited extent. • Represent the surrounding environment internally (though some agents only react). • Offer skills and services. • Self-replicate (optional). • Satisfy objectives, taking into account resources, skills, perceptions, representation, and stimuli [3]. A number of market-based software mechanisms have been developed specifically to control large numbers of robots [4– 6]. The relationship between software agents and Drexlerian assemblers is complex. Table 1 represents just one possible dichotomy. Case 1 : 1. The traditional view of a Drexlerian assembler seems to be modelled on the Von Neumann models of kinematic and cellular automata, and in fact a number of designs aim to combine these two models [7, 8]. But all of them seem to simplistically assume a foundation of identical single entities, each running a single process. At the same time, most of them acknowledge the necessity for some sort of distributed control for coordinating large numbers of them. It turns out that each of the quadrants in table 1 are necessary views of a system that can perform convergent assembly. Case n : 1. Starting with a programmable mechanosynthesis tool like a Stewart platform [9] with some attached peripherals, it quickly becomes obvious that the added complexity of tool setup, not only in terms of materials, but also in terms of timing and scheduling will probably be considerable. By virtue of its input/output material flows and multiple operations, an assembler more closely resembles a factory than it does a single robot. This is fortunate, because factory control techniques using software agents that are being developed now will most likely be applicable to molecular assembly. Not only self-replication, but any nanoscale manufacturing will involve many subcomponents and many steps. The 30 convergent assembly [10] steps necessary to build something the size of a breadbox out of atomic parts is somewhat oversimplified, especially when building a wide variety of parts. Getting the right molecule in the right orientation at the right time is not only an issue in mechanosynthesis, but it is also involves issues of inventory, process control, materials handling, and scheduling—issues being addressed on a macroscale in manufacturing plants today. Some present-day factories have achieved periodic ‘lights-out’ manufacturing. For example, Fanuc Robotics claims a throughput of 320 parts per hour with a robot/lathe system [11]; the suppliers to the integrated circuit fabrication industry are a bit more cautious with their claims [12]. The problem with billions of molecular assemblers is that one must build, initialize subcomponents, and coordinate complex assembly processes completely without any manual control or supervision. 134
Figure 1. Convergent assembly: an idealized representation [14].
Case 1 : n. One good thing about agents is that, being a highly modularized software object, they can contain other agents. Otherwise, this case makes no sense. One agent may control many assemblers only if the assemblers themselves are flexible, modular, cooperative, and reliable because they are controlled by agents themselves. The 1 : n case is the high-level hierarchical view taken when attempting to do massive parallel distributed control. One primitive example of such massively parallel control would be Utility Fog. Utility Fog is a simple nanosystem that cannot make or break atomic bonds—it only contains tiny robots that link or unlink their arms to form a solid mass in any desired shape. In addition, if each robot could control its colour and reflectivity, then a thin film of Utility Fog could act as a video screen [13]. Case n : n. Finally, there is the case of many agents controlling many agents in some sort of conflicted blob. Unless this case can be reduced to the previous one (with one subsuming agent), this case will be difficult to design, implement, or debug. At this point, the most productive avenues of research seem to be the 1 : n and n : 1 cases. Both are necessary in convergent assembly, which builds macroscopic objects from molecular-sized parts made with bulk chemistry. Convergent assembly is based on the idea that smaller parts can be assembled into larger parts, larger parts can be assembled into still larger parts, and so forth. This process can be systematically repeated in a hierarchical fashion, creating an architecture able to span the size range from the molecular to the macroscopic [10]. Figure 1 shows how simple the process of convergent assembly seems in the abstract. Unfortunately, the real world is a bit more complex, even with the primitive technology we are currently using. Figure 2 illustrates the maximal number of parts we can currently assemble with automated techniques—only 30 subcomponents. Current industrial practices use robots for welding and painting much more often than for assembly. In those cases where robots assemble a dozen or so parts, the part feeders, fixtures, and ‘hard’ automation account for around 80% of the installation [15]. In contrast, theoretical designs for a molecular assembler call for around a billion atoms. 3. The scheduling application
When viewing the assembler as a factory, with agents controlling assembler subcomponents, it is easy to see
Agents, assemblers, and ANTS Table 1.
Assemblers
Agents
1 n
1
n
Each agent controls one assembler (traditional robotic view) Many agents control one assembler (factory view)
One agent controls many assemblers (hierarchical view) Many agents control many assemblers (industry view)
A miracle happens
Figure 2. Current automation technology: a 30-part real-world example.
that the process of assembly requires one to address some of important issues. Fortunately, many of these issues are obvious in today’s factories, with much work being done to address them, though with mixed results. Early manufacturing resource planning (MRP) software products were too limited and brittle in the face of the dynamic factory floor. MRP II and enterprise resource planning included added functionality as software vendors desperately tried to meet the problems of managing a complex operation. Now the software is so complex that implementations require a multi-million dollar and multi-year effort, with no guarantee of full success. In addition, scaling these complex software systems is unthinkable. Fortunately, small-grained, agentbased systems promise an alternative to the monolithic and centralized systems in use today. A small-grained agent is one that responds to its environment with simple rules, interacting with other agents through predetermined protocols [16]. One particular issue that agents may be able to solve is scheduling. This is important because assemblers need to get the right atom at the right place at the right time. In the context of agents, planning is the process of selecting and sequencing activities such that the goals are satisfied within the constraints of the system. Scheduling is the process of selecting between different plans and assigning resources and time to the one selected in a way to maximize some metric. Since the real world suffers under the capricious rule of Murphy’s law, scheduling is a difficult task, especially in an open and dynamic environment. To make things more complicated, the system may be asked to do things not originally anticipated, or it may be allowed to omit tasks. Also, resources may disappear, or additional resources may be added. Tasks may begin early, or late, or may take more
or less time than anticipated. Because of the combinatorial aspects of the scheduling problem, different techniques have been applied to it, including heuristics, constraint propagation, simulated annealing, genetic algorithms, and neural networks. Currently, there are over 30 agent-based systems being applied to the problem [17]. There are basically two types of scheduling systems. The first is an incremental search process in which agents schedule orders by performing local incremental searches for their orders, usually considering multiple resources. The global schedule is obtained through the merging of local schedules, making this quasi-parallel process very similar to centralized scheduling, and with similar drawbacks. In the second type of system, each agent represents a single resource and negotiates with other agents to carry out scheduling [17]. One particular version of this system is known as a contract net, which uses a protocol that draws up contracts in public markets, channelled through requests for bids and evaluations of proposal. More specifically, a four-step algorithm is followed: (1) A manager sends out a request for bids (RFB) to all the potential bidders; (2) The bidders submit proposals to the manager; (3) The manager evaluates the proposals and awards the contract; (4) The winning bidder becomes the contractor and commits to carrying out the required task. Sometimes, between steps 2 and 3, the winning bidder may have been awarded another contract, in which case it has to renege on its bid, and the manager must back up to step 3 for the secondbest bidder [18]. 135
T T Toth-Fejel
4. ANTS
The Environmental Research Institute of Michigan and Deneb Robotics, Inc. are jointly developing a distributed agent-based system that can assist and supplant human decision making in efficiently allowing material flow and task scheduling to emerge in a manufacturing assembly environment. The Agent Network for Task Scheduling (ANTS) uses techniques inspired both by free market economics and insect colonies†, specifically a contract net that uses a new mechanism called least commitment scheduling that defers decisions on process sequences until the last possible moment. Instead of the simplified manager/bidder model described above for a contract net, ANTS allows each agent to be a broker—both a manager and a bidder. Each agent represents the elements in and around a factory: • Unit parts broker (UPB) represents a single step in a process plan, and negotiates for the raw material and resources required to accomplish that single step. An instance of a particular UPB is an operation. • Sales broker—a special UPB that initiates the RFBs and interfaces with the factory’s customer. • Supplier—a special UPB that represents the interface to the factory’s suppliers. • Resource—the ‘tools’ that are needed to perform an operation, including machines, operators, material handlers, etc. Resources are characterized by availability and cost. They initiate a transient agent, called an Engagement, that represents a commitment to a single operation during some time interval. • Part broker (PB)—represents the inputs (materials) and outputs (products) for a UPB. PBs arrange material handling operations between UPBs. The Density-based Emergent Scheduling Kernel (DESK) uses probabilistic committed capacity profiles of resources over time, along with realistic costs, to provide an abstract search space over which the agents can wander to quickly find optimal solutions. DESK is patented as Density-Based Emergent Scheduling System, US patent no 5,953,229 ‡. DESK applies the concept of least commitment scheduling to the agent environment. Using this approach, a resource does not initially schedule a job for a fixed time period. Instead, a resource makes a looser commitment on the start and stop time of a job while still maintaining a full commitment to complete the job, retaining greater flexibility in managing change. Current schedulers define a fixed window where the job will execute. Thus, a lathe might be committed to start a 3 h job at 1.00pm and end † Note that this is different from the DARPA ANT (Autonomous Negotiating Teams) project, which utilizes highly decentralized and autonomous negotiation to solve distributed resource allocation problems, i.e. the logistics of getting materials to task centres and weapons to targets. Besides having an extra ‘S’ in our name, our animated graphics are cooler. Note also that ANTS is to be distinguished from Dorigo and Gambardella’s Ant System, Ant-Q, and other Ant Colony Optimization (ACO) systems. However, we do not solve the travelling salesman problem, for we have sales brokers. ‡ For further technical information, contact Dr H Van Dyke Parunak,
[email protected], (734) 769-4049. For further business information, contact Mr Steve Harris,
[email protected], (734) 623-2525.
136
Figure 3. One engagement, showing kernel, working window, and commitment window.
Figure 4. Densities detect overcommitment on a resource.
Figure 5. Resource adjusts commitment windows to resolve overcommitment.
it at 4.00pm. With DESK, the resource might commit to starting the job as soon as the materials become available, say at noon, and completing it sometime before closing time 5.00pm. Since the lathe has 5 h of capacity during the window and is committing only three of them to this job, it need only commit 60% of its capacity to the job. In DESK, each resource builds a commitment density graph that reflects the fraction of its total capacity that it has
Agents, assemblers, and ANTS
committed at any given time. This is based on the sum of all its commitments, which may include many overlapping jobs in the same time window. Figure 3 shows an example where the resource has overcommitted capacity. The engagements ‘Woytla2’ and ‘Gyatso14’, since they came in after the ‘Taktser1935’ and ‘Krakow1920’ engagements, overcommit the resource. The area above the 100% line is called the region of violation. By adjusting the working windows on individual jobs (using techniques developed by DESK), the agent removes the conflict as shown in figure 4. The agent does not have to change any commitments that it made previously. It only tightens the constraints on individual jobs. Without that flexibility, the agents would have been forced to negotiate new commitments, which involves another series of negotiations similar to the original bidding cycle [16]. Acknowledgments
[8] [9] [10] [11] [12]
[13]
Thanks to Jonathan Schneider and Jorge Goic for reviewing this work, and for their numerous suggestions. References [1] Miller M and Drexler K E Markets and Computation: Agoric Open Systems webpage http://www.agorics.com/˜agorics/library.html [2] Drexler K E 1986 Engines of Creation (Anchor Books) webpage http://www.foresight.org/EOC/ [3] Ferber J 1995 Multi-Agent Systems (New York: Addison-Wesley) ¨ [4] Unsal C and Bay J S 1994 Spatial self-organization in large populations of mobile robots IEEE Int. Symp. on Intelligent Control (Columbus, Ohio, Aug. 1994) webpage http://www.cs.cmu.edu/˜unsal/publications/spatial.html [5] Guenther O, Hogg T and Huberman B Market organizations for controlling smart matter [6] Bonabeau E, Dorigo M and Theraulaz G Swarm Intelligence: From Natural to Artificial Systems [7] Toth-Fejel T T 1996 LEGOs (TM) to the stars: active mesostructures, kinematic cellular automata, and parallel
[14] [15] [16]
[17]
[18]
nanomachines for space applications Int. Space Development Conf., The Assembler 4 webpage http://www.islandone.org/MMSG/9609lego.htm Yim M Polypod: a unit modular reconfigurable robot Master’s Thesis webpage http://robotics.stanford.edu/users/mark/polypod.html Merkle R C 1997 A new family of six degree of freedom positional devices Nanotechnology 8 47–52 webpage http://nano.xerox.com/nanotech/6dof.html Merkle R C 1997 Convergent assembly Nanotechnology 8 18–22 webpage http://nano.xerox.com/nanotech/convergent.html Fanuc Robotics new system provides ‘lights out’ part processing webpage http://www.fanucrobotics.com/b/b1/b1i7 ct.html McDonough B 1995 Considerations for manufacturing execution system implementation Semiconductor FabTech May 1995 webpage http://www.smartdocs.com/˜bmcd/accufacts9000/ art3.html Hall J S Utility Fog: a universal physical substance Vision-21 (Westlake, OH) (NASA Conference Publication, vol 10 129) pp 115–26 Hall J S Utility Fog: the stuff that dreams are made of webpage http://nanotech.rutgers.edu/nanotech/Ufog.html Adapted from Merkle R C 1997 Convergent assembly Nanotechnology 8 18–22 webpage http://nano.xerox.com/nanotech/convergent.html Clark S personal email Sauter J A and Van Dyke Parunak H 1999 Ants in the supply chain Agents 99: Workshop on Agent-based Decision Support for Managing the Internet-Enabled Supply Chain (Seattle, WA, May, 1999) webpage http://www.erim.org/cec/papers/Ants.pdf Shen W and Norrie D H 1999 Agent-based systems for intelligent manufacturing: a state-of-the-art survey Knowledge and Information Systems, an Int. J. 1 129–56 webpage http://www.acs.ucalgary.ca/˜wshen/papers/surveyabm.htm Ferber 1999 Knowledge and Information Systems, an Int. J. 1 359–60 webpage http://www.acs.ucalgary.ca/˜wshen/papers/surveyabm.htm
137