Examples of RoleMessage


Examples of it.unito.di.artifact.RoleMessage

  @OPERATION
  public void propose(Proposal prop, RoleId participant, RoleId initiator) {
    if (!acceptingProposals)
      failed("No more proposals allowed.");
    prop.setRoleId(participant);
    RoleMessage proposal = new RoleMessage();
     proposal.setContents(prop);
     proposal.setRoleSender(participant);
     proposal.setRoleReceiver(initiator);
     proposal.setPerformative(ACLMessage.PROPOSE);
    send(proposal);
   
    try {
      assertFact(new Fact("propose", participant, prop));
      createCommitment(new Commitment(participant, initiator, new Fact("accept"), new CompositeExpression(
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

  }
 
 
  @OPERATION
  public void refuse(RoleId participant, RoleId initiator) {
    RoleMessage refusal = new RoleMessage();
    refusal.setRoleSender(participant);
    refusal.setRoleReceiver(initiator);
    refusal.setPerformative(ACLMessage.REFUSE);
    send(refusal);
   
    try {
      releaseCommitment(new Commitment(initiator, participant, "propose", new CompositeExpression(
          LogicalOperatorType.OR, new Fact("accept"), new Fact("reject"))));
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

    }
  }
 
  @OPERATION
  public void done(Task task, RoleId participant, RoleId initiator) {
    RoleMessage done = new RoleMessage();
     done.setContents(task);
     done.setRoleSender(participant);
     done.setRoleReceiver(initiator);
     done.setPerformative(ACLMessage.INFORM);
    send(done);
   
    try {
      ArrayList<Commitment> arrComm = new ArrayList<Commitment>();
      for (Commitment com : interactionState.retrieveCommitmentsByDebtorRoleId(participant)) {
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

    }
  }
 
  @OPERATION
  public void failure(RoleId participant, RoleId initiator) {
    RoleMessage failure = new RoleMessage();
    failure.setRoleSender(participant);
    failure.setRoleReceiver(initiator);
    failure.setPerformative(ACLMessage.FAILURE);
    send(failure);
    try {
      ArrayList<Commitment> arrComm = new ArrayList<Commitment>();
      for (Commitment com : interactionState.retrieveCommitmentsByDebtorRoleId(participant)) {
        if (com.getConsequent().equals(new CompositeExpression(LogicalOperatorType.OR, new Fact("done"), new Fact("failure")))) {
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

      try {
        // wait from participants
        Thread.sleep(1000);
      } catch (Exception e) {
      }
      RoleMessage cfp = participant.receive(ACLMessage.CFP);
      t = (Task) (cfp.getContents());
      bh.setTask(t);
      p = createProposal(t);
      participant.propose(p, cfp.getRoleSender());

    }
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

      try {
        // wait from participants
        Thread.sleep(2000);
      } catch (Exception e) {
      }
      RoleMessage accept = participant
          .receive(ACLMessage.ACCEPT_PROPOSAL);
      if (accept != null) {
        if (accept.getPerformative() == ACLMessage.ACCEPT_PROPOSAL)
          if (elaborateTask(task))
            participant.done(task, accept.getRoleSender());
          else
            participant.failure(accept.getRoleSender());
      }
     

    }
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

    @Override
    public void handleEvent(SocialEvent e, Object... args) {
      logger.debug("Updating for Initiator, " + e);
      if (e.getElementChanged().getElType() == SocialStateElementType.LOGICAL_EXPRESSION
          && e.getElementChanged().toString().contains("propose")) {
        RoleMessage cfp = initiator.receive(ACLMessage.PROPOSE);
        Proposal prop = (Proposal) (cfp.getContents());
        if (!maximumReached) {
          proposals.add(prop);
          logger.debug("Added Proposal, proposals size: "
              + proposals.size());
          if (proposals.size() >= maximumProposals) {
            maximumReached = true;
            // ho raccolto un numero di richieste sufficiente
            // criterio di scelta, reasoning
            // per semplicit�, scelgo la prima
            initiator.accept(proposals.get(0));
            for (int i = 1; i < proposals.size(); i++) {
              initiator.reject(proposals.get(i));
            }
          }
        } else {
          logger.debug("No more proposal allowed, sending reject.");
          initiator.reject(prop);
        }
      } else if (e.getElementChanged().getElType() == SocialStateElementType.LOGICAL_EXPRESSION
          && e.getElementChanged().toString().contains("refuse")) {
        logger.debug("Refusal received.");

      } else if (eventIsDone(e)) {
        RoleMessage done = initiator.receive(ACLMessage.INFORM);
        t = (Task) (done.getContents());
        logger.debug("INTERACTION SUCCESSFUL, " + t.getResult());
      } else if (eventIsFailure(e)) {
        RoleMessage failure = initiator.receive(ACLMessage.FAILURE);
        logger.debug("Received failure.");
      }

    }
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

  // ROLES OPERATIONS
 
  @OPERATION
  public void cfp(Task task, RoleId initiator) {
   
     RoleMessage cfp = new RoleMessage();
     RoleId dest = new RoleId(PARTICIPANT_ROLE, RoleId.GENERIC_ROLE);
    cfp.setContents(task);
    cfp.setRoleSender(initiator);
    cfp.setRoleReceiver(dest);
    cfp.setPerformative(ACLMessage.CFP);
    send(cfp);
   
    try {
      // createCommitment comporta la new di un commitment. Non ho garanzie se mi baso sui riferimenti al commitment
      // poiche siamo in un ambiente distribuito. Quindi ci vanno meccanismi di matching sullo stato sociale:
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

  }
 
  @OPERATION
  public void accept(Proposal proposal, RoleId initiator) {
   
    RoleMessage accept = new RoleMessage();
     RoleId dest = proposal.getRoleId();
     accept.setRoleSender(initiator);
     accept.setRoleReceiver(dest);
     accept.setPerformative(ACLMessage.ACCEPT_PROPOSAL);
    send(accept);
   
    try {
      assertFact(new Fact("accept"));
      logger.trace("OPERATION PERFORMED: ACCEPT by "+initiator);
View Full Code Here

Examples of it.unito.di.artifact.RoleMessage

  }
 
  @OPERATION
  public void reject(Proposal proposal, RoleId initiator) {
   
    RoleMessage reject = new RoleMessage();
     RoleId dest = proposal.getRoleId();
     reject.setRoleSender(initiator);
     reject.setRoleReceiver(dest);
     reject.setPerformative(ACLMessage.REJECT_PROPOSAL);
    send(reject);
   
    try {
      releaseCommitment(new Commitment(proposal.getRoleId(), initiator, "accept", new CompositeExpression(
          LogicalOperatorType.OR, new Fact("done"), new Fact("failure"))));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.