Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.21 KB | None | 0 0
  1. package labb1_ik2018;
  2.  
  3. import jade.core.Agent;
  4. import jade.core.behaviours.CyclicBehaviour;
  5. import jade.core.behaviours.OneShotBehaviour;
  6. import jade.domain.DFService;
  7. import jade.domain.FIPAAgentManagement.DFAgentDescription;
  8. import jade.domain.FIPAAgentManagement.ServiceDescription;
  9. import jade.domain.FIPAException;
  10. import jade.lang.acl.ACLMessage;
  11. import jade.lang.acl.MessageTemplate;
  12.  
  13. import org.rosuda.REngine.REXP;
  14. import org.rosuda.REngine.REXPMismatchException;
  15. import org.rosuda.REngine.RList;
  16. import org.rosuda.REngine.Rserve.RConnection;
  17. import org.rosuda.REngine.Rserve.RserveException;
  18.  
  19. import java.util.Hashtable;
  20.  
  21. public class ClassAgent extends Agent {
  22.  
  23.     // Put agent initializations here
  24.     protected void setup() {
  25.         // Register the tea-selling service in the yellow pages
  26.         DFAgentDescription dfd = new DFAgentDescription();
  27.         dfd.setName(getAID());
  28.         ServiceDescription sd = new ServiceDescription();
  29.         sd.setType("class-data");
  30.         sd.setName("Classification of Datasets");
  31.         dfd.addServices(sd);
  32.         try {
  33.             DFService.register(this, dfd);
  34.         }
  35.         catch (FIPAException fe) {
  36.             fe.printStackTrace();
  37.         }
  38.  
  39.         // Add the behaviour serving queries from buyer agents
  40.         addBehaviour(new ClassAgent.OfferRequestsServer());
  41.     }
  42.  
  43.     // Put agent clean-up operations here
  44.     protected void takeDown() {
  45.         // Deregister from the yellow pages
  46.         try {
  47.             DFService.deregister(this);
  48.         }
  49.         catch (FIPAException fe) {
  50.             fe.printStackTrace();
  51.         }
  52.         // Printout a dismissal message
  53.         System.out.println("Seller-agent "+getAID().getName()+" terminating.");
  54.     }
  55.  
  56.     /**
  57.      Inner class OfferRequestsServer.
  58.      This is the behaviour used by tea-seller agents to serve incoming requests
  59.      for offer from buyer agents.
  60.      */
  61.     private class OfferRequestsServer extends CyclicBehaviour{
  62.         public void action(){
  63.             MessageTemplate mt = MessageTemplate.MatchPerformative(ACLMessage.CFP);
  64.             ACLMessage msg = myAgent.receive(mt);
  65.             if (msg != null) {
  66.                 // CFP Message received. Process it
  67.                 String content = msg.getContent(); // File content
  68.                 String[] splitContent = content.split("@");
  69.                 content = "";
  70.                 String test, train;
  71.                 test = splitContent[0];
  72.                 train = splitContent[1];
  73.                 splitContent = null;
  74.  
  75.                 System.out.println(test);
  76.                 System.out.println(train);
  77.  
  78.                 String[] splitTest, splitTrain;
  79.                 splitTest = test.split("%");
  80.                 splitTrain = train.split("%");
  81.                
  82.                 try{
  83.                     RConnection c = new RConnection("localhost", 6311);
  84.                     if(c.isConnected()){
  85.                         System.out.println("Connected to RServe");
  86.                         REXP traindf = c.eval("traindf <- read.csv(text=\"" + splitTrain[0] + "\",header=F,sep=\";\")");
  87.                         REXP testdf = c.eval("testdf <- read.csv(text=\"" + splitTest[0] + "\",header=F,sep=\";\")");
  88.  
  89.                         for(int i = 1; i < splitTrain.length; i++){
  90.                             //System.out.println(splitTrain[i]);
  91.                             c.eval("traindf <- rbind(traindf, read.csv(text=\"" + splitTrain[i] + "\",header=F,sep=\";\"))");
  92.                         }
  93.  
  94.                         for(int i = 1; i < splitTest.length; i++){
  95.                             c.eval("testdf <- rbind(testdf, read.csv(text=\"" + splitTest[i] + "\",header=F,sep=\";\"))");
  96.                         }
  97.                         REXP df = c.eval("testdf");
  98.  
  99.                         REXP trainData = c.eval("train <- traindf[,5]");
  100.                         REXP testData = c.eval("test <- testdf[,5]");
  101.  
  102.                     }
  103.                 }
  104.                 catch(Exception e){
  105.                     System.out.println(e.getMessage());
  106.                 }
  107.  
  108.  
  109.             }
  110.             else {
  111.                 block();
  112.             }
  113.         }
  114.     }  // End of inner class OfferRequestsServer
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement