In many areas, IT systems are required to interact with multiple entities in a highly dynamic environment (e.g. air traffic control, share trading, manufacturing). As the environment becomes more complex and dynamic, it becomes increasingly difficult to explicitly program how to respond to the multiple unexpected events. Interaction is the most significant characteristic of complex software. Software that comprises many interacting components is much more complex to engineer.
As a result of the availability of greater computing power, more demanding tasks are being delegated to computer systems. This has led to a need to build IT systems that act on our behalf and consequently require a high level of intelligence. Delegation implies two capabilities:
- The ability to operate autonomously (i.e. without intervention on our part).
- The ability to represent our best interests while interacting with humans or other systems.
- This implies an ability to co-operate and negotiate with other systems.
These requirements have led to the emergence of AOS's world-leading agent-oriented technology, JACK.