Skip to content
This repository was archived by the owner on Mar 9, 2020. It is now read-only.

sirmeepington/metaagents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meta Agents

CI CI Maintainability

An interconnected, multi-threaded, multi-agent system for the transferral of messages throughout a system/network.

About

Interconnection

Meta-agents are connected via a tree-like structure; where a normal MetaAgent knows about itself and its direct parent Portal. Each Portal knows about its parent and all of its children MetaAgents; due to the fact that Portals extend from MetaAgent, each Portal may contain others as children, and so forth, allowing for endless expansion.

Diagram:

Messages

Each message is handled by the MetaAgent that receives it; if the messge cannot or should be handled by this agent, it forwards the message upwards to its parent Portal who determines the route to find the the correct agent via its Routing table.

Diagram:

Routing

Routing is handled via specialised SystemMessages which are strictly for internal use and allow for the creation and removal of agents when received by a MetaAgent.

How to use:

From IDE

Run the individual main classes for the implementation you would like to see.

From JAR

Run the JAR file without any arguments then read the help message given.

What showcase does what?

Sockets

Cross-system/cross-network client-to-client communication via a "routing" server. Clients must send an idetifying message to show who they are and allows the server to then route the messages into that networks' client.

A connection from the client to the server is created and a handler is spawned on the server to handle the connection. The client sends messages to the server handler which takes information from the main server to find the handler and client to forward the messages onto.

Monitor

The Monitor Agent takes routing messages (SystemMessages) and builds a structure of the system to display on the UI. The UI is composed of Swing elements including a JTree instead of building a custom tree structure. The monitor itself intercepts messages that has been sent through it by extending a Portal and overriding its execute methods.

DHCP

Implementation of the DCHP protocol within a single portal-sub system with the Server and Clients both being an extension of a MetaAgent to allow for multiple servers to handle many clients.

Generic

A generic meta-agent implementation showing a basic structure with portal-to-portal and portal-to-agent over the same JVM.

About

Multi-threaded agent system written in Java

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages