Class AbstractProtocol

  • All Implemented Interfaces:
    Protocol
    Direct Known Subclasses:
    RigidProtocol

    public abstract class AbstractProtocol
    extends Object
    implements Protocol
    A protocol gives instructions in which order agents have to be asked for actions in a multi-agent system. This class encapsulates common functionalities of protocols.
    Author:
    Matthias Thimm
    • Constructor Detail

      • AbstractProtocol

        public AbstractProtocol​(MultiAgentSystem<? extends Agent> multiAgentSystem)
        Creates a new protocol for the given multi-agent system.
        Parameters:
        multiAgentSystem - a multi-agent system.
    • Method Detail

      • getMultiAgentSystem

        protected MultiAgentSystem<? extends Agent> getMultiAgentSystem()
        Returns the multi-agent system this protocol operates on.
        Returns:
        the multi-agent system this protocol operates on.
      • hasTerminated

        protected abstract boolean hasTerminated()
        This method determines if this protocol has terminated, i.e. whether no further actions are possible.
        Returns:
        "true" if this protocol system has terminated.
      • addProtocolListener

        public void addProtocolListener​(ProtocolListener listener)
        Description copied from interface: Protocol
        Adds the given listener to this protocol.
        Specified by:
        addProtocolListener in interface Protocol
        Parameters:
        listener - a protocol listener.
      • removeProtocolListener

        public boolean removeProtocolListener​(ProtocolListener listener)
        Description copied from interface: Protocol
        Removes the given protocol listener from this protocol.
        Specified by:
        removeProtocolListener in interface Protocol
        Parameters:
        listener - a protocol listener.
        Returns:
        "true" if the listener has been removed.
      • notifyTerminated

        protected void notifyTerminated()
        Notifies every listener that this protocol has terminated.
      • notifyActionPerformed

        protected void notifyActionPerformed​(ActionEvent actionEvent)
        Notifies every listener about the given event.
        Parameters:
        actionEvent - an action event.