Look who’s talking…
Like most adHoc implementations – the communication mechanism in the original design wasn’t up to scratch. The communication mechanism has to fulfil the following requirements:
- logical groups of peered agents (ala fully trusted agents – or agents who are friends),
- local agents who bias the information exchange with an element of caution (agents who are acquaintances)
- agent communication with that should be treated with caution (agents who are strangers)
- Primary Process agent communication
- This dialog should be isolated, allowing the Primary to steer agents to some degree, allow information to be extracted about agent performance, direction, decision paths. Finally agents datasets (both decision paths, data and generated code) should be consumed and integrated with the Primary process (using e-Change).
- The communication channel should be clearly defined – using a contract approach
- The channel should be loose – allowing disconnected processing (agents can be local or remote and defined by the agent instance engine under direction of the Primary Process)
- The communication channel should allow reflexive discovery – allowing both parties to disover something about the nature of the channel. The channel in this environment isn’t just a conduit – it’s also a mechanism to provide directional indicators allowing the agent to discover and explore it’s assigned dataset (see above for an overview of the dataset).
With this in mind – it was time for a review and redesign of the mechanism.
After some investigation of the options – I’ve decided to start using part of the Windows Communication Framework. Initial trails show that it will provide a significant improvement over what is in place at the moment and should allow the system to grow and perform better.