Trade offs between industrial requirements and Multi-Agent System characterisation in design, implementation, and testing are described. Like any industrial project, it begins with requirements of the problem domain, and draws selectively from results of investigations to meet those requirements.
Distributed problem solving artificial intelligence facilitate agent cooperation work where distribution of capability, information, and expertise make no single agent solution to tasks possible.
Several motivations for application of distributed planning include using distributed resources concurrently to speed-up problem solving by agents thanks to determine what degree problem is characterised by parallel mechanisms.
Problem is to find sequence of moves with capacity to achieve the goal state. Another motivation for distributed problem solving and planning requires distributed agent expertise or other problem-solving capabilities.
In concurrent engineering, a problem could involve designing and manufacturing a vehicle by allowing specialised agents to individually formulate components and processes, and combining these into a collective solution.
Goal of distributed artificial intelligence is to develop mechanisms and methods that enable agents to interact better than workers and to understand interaction among agents. Key pattern of interaction in multi-agent systems is goal- and task-oriented coordination, both in cooperative and in competitive situations.
In the case of cooperation several agents try to combine their efforts to accomplish as a group what the individuals cannot, and in the case of competition several agents try to get what only some of them can have.
Engineers view what they do in terms of a life cycle, made up of a series of stages: requirements assess, design, implementation and deployment, operation, logistics and maintenance, and decommissioning. Any industrial activity follows such a pattern, whether it be building a product, putting in place the process for making a product, supplying a service, or creating a piece of infrastructure.
The entire life cycle of an industrial system is shaped by pressure to make a difference to the design team effectiveness. The complexity of real-world problems offers challenges every bit as stimulating as the more traditional challenges and the unforgiving nature of the business world provides a much clearer sense of success or failure than can be achieved in traditional domain constructs. The methods of designing, building, operating, and maintaining agent-based systems must be packaged if they are ever to find wide-spread deployment in the industrial world.
The life cycle perspective raises two questions about industrial multi-agent systems. First, to what stages in the life cycle of an industrial activity like making automobiles have agents been applied? Second, since an industrial agent-based system will itself be constructed according to a life cycle, what constraints does the industrial environment place on each of the life-cycle phases of such a system?
In this exposition, the term "project" represents a specific system or activity. The physical system divides at the design phase into two systems, one concerned with the product itself, the other concerned with the process that manufactures the product.
A generic life cycle has several phases, some of which may not be appropriate in a given project. Requirements Definition defines the set of needs or requirements that the project must satisfy. The focus is on why an effort is needed in the first place, not on what the project will do or how it will do it.
The life cycle for physical products bifurcates. Specification spells out the functions that the project will support. The specification tells what the project will do, but not how it does it. The functions in a successful specification will satisfy the needs identified in Requirements Definition and interface appropriately with other relevant components of the enterprise identified in Positioning.
A collection of shop-floor case studies highlights a set of issues that can explain the poor performance, including no way to schedule preventive maintenance leading to reduced maintenance and increased machine failure, operating policies that permit upstream workstations to produce parts for which there is no downstream demand, release of jobs to the floor before both raw materials and tooling are available, and job classifications that prevent operators from helping one another as demands shift across the factory.
Operation maintains the project in regular productive use. It is during this phase that the project actually satisfies the needs identified during Requirements Definition. Operation includes specific activities: routine operation, maintenance and repair, and incremental upgrading. to include customer support and maintenance.
Where in the Life Cycle Are Agents Used? In principle, agents can support many different stages in the life cycle of a system or product. For example, agents might help design a new vehicle, operate the plant that manufactures it, and maintain it when it fails. Agents have been used effectively: product design, process operation at the planning and scheduling level, and process operation at the lower level of real-time equipment control.
Agents in Product Design systems help teams of designers, often in different locations and working for different companies, to design the components and subsystems of a complex product, using many different assessment tools. As suppliers take increasing responsibility for the detailed design of the subsystems they supply, design becomes increasingly decentralised. Designers begin with a picture of what is required but no details on how it is to be produced.
The increased complexity embodied in modern products also favours the combinatorial benefits of an agent- based system. State-of-the-art agent concepts have been demonstrated in three design systems at the prototype level of maturity.
Each of these systems decomposes the world into agents in a different way, Agents can help human designers coordinate their work more effectively. Conflicts arise when different teams are responsible for the components and subsystems that make up a product. Who disagree on the relation between the characteristics of their own functional pieces and the characteristics of the entire product.
Some conflicts are within the design team: How much of a mechanism's total power budget should be available to the sensor circuitry, and how much to the actuator? Other conflicts set design against other manufacturing functions: How should one balance the functional desirability of an unusual machined shape against the increased manufacturing expense of creating that shape?
It is easy to represent how much a mechanism weighs or how much power it consumes, but there is seldom a disciplined way to trade off weight and power consumption against one another. The more characteristics are involved in a design compromise, the more difficult the trade-off becomes.
The problem is the classic dilemma of multivariate optimisation. Solutions are available only in specialised and limited niches. In current practice such trade-offs are sometimes supported by processes such as Quality Functional Deployment or resolved at the administration level, rather than in a way that optimises the overall design and its manufacturability. The problem is compounded when design teams are distributed across different companies.
Agents buy and sell the various characteristics of a design. Each characteristic agent is a computerised agent that maintains a marketplace in that characteristic. In the current implementation, the agents representing components are interfaces for human designers, who bid in these markets to buy and sell units of the characteristics.
A component that needs more latitude in a given characteristic like more weight can purchase increments of that characteristic from another component, but may need to sell another characteristic to raise resources for this purchase. In some cases, models of the dependencies between characteristics help designers estimate their relative costs, but even where such models are clumsy or nonexistent, prices set in the marketplace define the coupling among characteristics.
Set-based reasoning is used to drive the design process towards convergence. Most design in industry today follows a point-based approach, in which the participating designers repeatedly propose specific solutions to their component or subsystem. The chief engineer is expected to envision the final product at the outset, specifying to the designers what volume in design space it should occupy and challenging them to fit something into that space.
Some assumptions made by the chief engineer turn out to be wrong, requiring designers to reconsider previous decisions and compromise the original vision. This approach is analogous to constraint optimisation by backtracking. Because mechanisms for disciplined backtracking are not well developed in design methodology, this approach usually terminates through fatigue or the arrival of a critical market deadline, rather than through convergence to an optimal solution.
In set-based design, tasks of the chief engineer is not to guess the product location in design space, but to guide the design team in a process of progressively shrinking the design space until it collapses around the product. Each designer shrinks the space of options for one component in concert with the other members of the team, all the while communicating about their common dependencies.
This approach directly reflects consistency rules for solving constraint problems. If the communications among team members are managed appropriately, the shrinking design space drives the team to convergence.
Agents represent entities in the shop. represent manufacturing resources such as machines. These domain-oriented agents are clustered into communities, and each community has several service agents: a bidding agent that handles all transactions among domain agents, a constraint propagation agent that propagates task dependencies and does some constraint satisfaction, and a meta agent that registers the skills of the domain agents in the community.
Critical information in manufacturing is usually organised by physical entities. Agents that represent these entities are the locus for maintaining this information. Resource agents cache information regarding previous bidding and the utilisation of other compatible machines to guide subsequent bidding in directions that maximize overall goals and minimize later backtracking.
Resource agents store maintenance and reliability information, while part type agents model the supply and demand of their parts over time. Each domain agent has a friend module in which it caches information about its colleagues that it obtains in the course of interaction. Each agent also has access to information about its community indirectly through the meta agent, and directly through a community-wide blackboard. The community information includes both present state and future objectives.
Agents in Real-Time Control systems operate faster and with more constrained information than do planning and scheduling systems. They must provide real-time response. Current technology for industrial process control offers many examples of coordinated pro-active objects that can usefully be viewed as agent-based systems.
Physical sensors determine the state and location of the part, thus adapting their behaviour to what did or did not happen at earlier stations. Point-to-point non-persistent electronic communication between mechanisms guards against interference between mechanisms that may need access to the same physical space.
The preferred design for agent-based control is to maximise interaction through the physical environment and minimise such explicitly coded dependencies between mechanisms, because explicit linkages make systems susceptible to failure when one mechanism is modified.
Zone Logistics agents are assigned to specific physical mechanisms installed at fixed locations on the line, and so do not need to migrate over a network. Agent interaction in Zone Logistics is directive. Both sensor information and interference signals are conditions in agent rules that lead reactively to action. Reactive protocols are especially well suited to low-level control environments, in which the digital logic must keep pace with physical events in the real world. At higher levels of control, more complex protocols are useful.
Agents are assigned to mechanisms when the transfer line is constructed. Which agents are active on a given part depends on an electronic processing file that accompanies the part through the system. Logic agents coordinate their activity by propagating constraints. Market mechanisms are another candidate for real-time control.
How Does Industry Constrain the Life Cycle of an Agent-Based System? The industrial life cycle poses restrictions and constraints on developing an agent-based system that are not present in most research environments. Use cases deal more with the tools and techniques used in constructing agent-based systems and less with the characteristics of the agent-based systems themselves.
Conceptual Context Design of an engineered artifact such as an agent-based system is a process that takes place within a conceptual contest. In the agent research community, the "conceptual context" is often called an "agent architecture," and this subject has received considerable attention.
Relatively less attention has been paid to the important question of the processes that designers go through. Industrial users will use agents more readily if basic principles and guidelines are available in both areas. There is growing agreement among agent researchers on the set of issues that need to be resolved in order to design an agent-based system. Design must address both the individual agent and the community of which it is a part.
Naturally occurring agent systems have proven remarkably robust and adaptable, and suggest a set of useful engineering principles emphasis on precedents and practical benefits of physical rather than functional decomposition in agent-based systems. In most cases, deriving agents from the nouns in a narrative description of the problem to be solved yields things rather than functions. Legacy systems and watchdogs--agents that monitor the overall system for emergent behaviors are exceptions to this principle.
Broadly accepted standards bring users and developers together into a critical mass. If the requirements of various users differ widely from one another, developers will not have a large enough market for any single technology to justify the expense of bringing it to commercial status. If the offerings of different developers do not work together, users will not be able to assemble the full suite of tools that they require.
To the extent that agent standards agree with standards currently deployed in the pre-agent environment, they enable incremental introduction of agents, an approach that is less painful and more likely to be accepted by management than requiring a wholesale redesign of the factory to accommodate agents.
Sometimes it is not enough for agents to talk to one another over the network. If their interactions are intensive, they should share the same processor. A part agent may need to move from one machine agent to another during its residency in the shop. Applications enable agent behaviour to travel from one processor to another to provides a way for agents themselves to travel over networks and execute on diverse platforms.
These standards provide interoperability between different computer systems. Another category of standards enables people to communicate effectively with agents. Industrial engineers have evolved their own conventions for specifying and implementing systems, and they will accept agent technologies more readily if an agent system supports these conventions.
One of the great benefits of agent-based systems is their ability to generate complex system-level performance from relatively simple individual agents. This system level behaviour often cannot be predicted from the descriptions of individual agents, but must be observed in simulation or real-life.
As a result, the detailed behaviour of an implemented system may not be known in advance, and individual agent behaviours may need to be modified in real time as the system runs. The tools to support the monitoring and adjustment of an agent-based system in operation are the same ones needed to design the system in the first place so it is expected the more successful development tools will take on more and more features of operational interfaces.
1. How to enable agents to decompose their goals and tasks, to allocate sub-goals and sub-tasks to other agents, and to integrate partial results and solutions
2. How to enable agents to interact-- what communication languages and specification protocols to use
3. How to enable agents to represent and reason about the actions, plans, and knowledge of other agents to achieve interaction
4. How to enable agents to represent/reason about state of interaction processes to find out if progress in coordination efforts has been achieved
5. How to enable agents to recognise/reconcile disparate viewpoints and conflicts so accurate results are realized
6. How to engineer and constrain practical multi-agent systems tech specification platforms
7. How to effectively balance local computation and communication interaction
8. How to avoid or mitigate chaotic overall system contract and negotiation behaviour
9. How to enable agents to form and dissolve organisational structures—teams, alliances, and so on suited for attaining their goals and completing their tasks
10. How to realise "intelligent processes" such as problem solving, planning, decision making, and learning in multi-agent contexts