software with following features:
1. Act on behalf of another entity
2. Autonomous
3. Pro-active
4. Reactive
5. Decentralized data and control
6. Negotiation, communication and coordination