Home > Articles > Software Development & Management

  • Print
  • + Share This
This chapter is from the book

1.6 Agile Systems

An agile system is defined as a system that is able to adapt rapidly to changes in its environment. What people have in mind, particularly the military, is large systems of small autonomous agents that share information across the Web and other networks. An agent is a small program or software object that peforms one task with the information it is fed, usually a stream of events, and passes on the results. The agents perform their individual tasks and are in constant communication with one another to achieve some overall objective—such as guiding a missile to its intended target or making a profit on arbitrage between several stock markets. As the environment changes, which may involve part of the system being destroyed, the community of agents adapts, spawns new members, and continues as best it can to achieve its objectives.

This kind of system model is appropriate not only for military command-and-control systems, but it could also be a model for business intelligence gathering, collaborative stock-trading strategies, and all manner of cyber warfare activities as well.

The major activity of agents in agile systems will be to process events fed to them from various sources, including but not limited to the Internet. In military systems like the one shown in Figure 1.2, other sources of event inputs will be special networks and sensors (radar, unmanned aerial vehicle [UAV], and so on). There will be a layered organization of communicating agents. Sets of agents will be organized into layers, with lower layers performing information gathering, filtering, and aggregating streams of events, and higher layers performing analysis and decision making. A second dimension of organization, orthogonal to layering, is also envisioned. Communicating agents will also be organized into enclaves or cells, to achieve specific goals and to improve the security and resilience to destruction of the system as a whole.

Agile systems are expected to deal with quite challenging situations, well beyond the scope of workflow engines and business process integration. Intelligence gathering requires the ability to correlate events from di'er-ent domains of activity, such as manufacturing and transportation statistics on one hand and satellite image processing on another. Events may arrive from sources that are not normally associated as being related or relevent, and the events may arrive at the processing agents in a di'erent time order from the order in which they actually happened. Furthermore, agile systems must make decisions based upon incomplete information. In the battlefield, information gets fragmented or destroyed en route. Nevertheless, global views of a situtation must be constructed in real time and actions taken.

If the agents are to be sophisiticated enough to be the building blocks of agile systems, they will need to be based upon a new technology of event processing. Each agent will perform one or more functions, such as recognizing a complex pattern of events, or aggregating lots of lower-level events that match a pattern into higher-level intelligence events, or detecting relationships between events that di'er widely in their source and time of arrival at the agent. Agents will be needed that can perform these functions on any level of events, from low-level network events to high strategic-level events. So the underlying technology must apply generally across all layers of events, actual or virtual—a technology that can only process network-level events, for example, will not be adequate.

An agile military system is expected to carry out military doctrine, strategies, and processes, which may be dynamic and change on the fly during operations. The underlying technology must allow for continuous construction of new classes of agents that can recognize di'erent patterns of events and perform new functions. It must enable us to easily add them into a running agile system without disrupting its operations. And it must let us build agile systems that have the ability to respond to certain situations by adding agents and reconfiguring themselves automatically.

The agile system vision has more of an artificial intelligence (AI) flavor to it than the global eCommerce vision. But it is a safe bet that AI will play a role in a successful solution to either vision.

  • + Share This
  • 🔖 Save To Your Account