AgE 2.5 : Communication based on RMI - API

API Specification

public interface ICommunicationService {
  void send (Message<IComponentAddress> msg);
  Message<IComponentAddress> receive(String componentId);
}

public interface IComponentAddress extends IAddress {
  public INodeAddress getNodeAddress();
  public String getComponentId();
}

public class Message<A extends IAddress>{
  public IHeader<A> getHeader();
  public Object getContents();
}

public interface IHeader<A extends IAddress> {
  public A getSenderAddress();
  public IAddressSelector<A> getReceiverAddress();
}

public interface IMessageListener<A extends IAddress>{
  void deliver(Message<A> message);
}