Environment is an active process. A flock is not a big bird. Emergent behavior is distributed. Think small.
Software technologies have evolved from assemblers, to procedure programming, to object-oriented software. Goal-oriented direct model-driven services, semantic agents, and multi-agent systems are the next software paradigm.
Some principles for multi-agent systems include:
- Agents should correspond to “things” in a problem domain rather than to abstract functions
- Agents should be small in mass, time (able to forget), and scope (avoid global knowledge action)
- Multi-agent systems should be decentralized (with no single point of control/failure)
- Agents should be neither homogeneous nor incompatible but diverse
- Agent communities should include a dissipative mechanism (entropy leak)
- Agents should have ways of caching and sharing what they learn about their environment
- Agents should plan and execute concurrently rather than sequentially.