The core layer is the lowest layer in the DIET Agents architecture. It includes the DIET kernel which provides the minimal functionality needed to build DIET applications.
The core layer provides:
- A conceptual agent framework. The key components are:
- connections - channels for local agent communication
- Minimal agent functionality. It enables:
- agent creation
- agent destruction
- agent communication
- agent migration
- Fail-fast service provision with feedback. This ensures rapid execution, makes the platform more robust, and allows agents to adapt quickly.
- Communication contexts. These enable agents to efficiently associate state during their interaction with other agents.
- Event listening support, which enables debugging and visualisation. A model infrastructure enables efficient filtering of events and "post-mortem" visualisation.
- Use of proxies to shield agents from one another, and to shield the environments from direct manipulation by agents.
- Thread sharing functionality for increased scalability. Agents can give up their thread when they temporarily do not need it. The kernel automatically assigns threads to agent when incoming events arrive.
- Thread pools to efficiently manage threads.
- An event portal for each agent. For scalability and simplicity, each agents execution is single-threaded.
- Basic support for agent persistence, enabling agent state to be stored and restored.
- Efficient use of sockets, multiplexing packets from different sources over the same socket whenever possible.
- Ability to use SSL sockets for security purposes.