Class SharedBlackboard

java.lang.Object
com.tnsai.communication.SharedBlackboard

public class SharedBlackboard extends Object
Shared blackboard for multi-agent collaboration and coordination.

The blackboard pattern allows agents to:

  • Post findings, proposals, and status updates
  • Read and react to other agents' entries
  • Vote on proposals
  • Build consensus through structured communication

Thread-safe implementation for concurrent access.

Example usage:


 SharedBlackboard blackboard = new SharedBlackboard();

 // Post a finding
 blackboard.post("analyzer", EntryType.ISSUE_FOUND, "Memory leak in UserService",
     Map.of("file", "UserService.java", "line", 42));

 // Listen for proposals
 blackboard.addTypeListener(EntryType.DESIGN_PROPOSAL, entry ->
     System.out.println("New proposal: " + entry.getTitle()));

 // Vote on a proposal
 blackboard.vote(proposalId, "reviewer", VoteType.APPROVE);