Ejemplo n.º 1
0
        private void Initial()
        {
            CUDD.InitialiseCUDD(3072, 256, 262144, 0.1);

            // Create a TextReader that reads from a file
            TextReader tr = new StreamReader(_domainFileName);

            // create a CharStream that reads from standard input
            AntlrInputStream input = new AntlrInputStream(tr);
            // create a lexer that feeds off of input CharStream

            PlanningLexer lexer = new PlanningLexer(input);
            // create a buffer of tokens pulled from the lexer
            CommonTokenStream tokens = new CommonTokenStream(lexer);
            // create a parser that feeds off the tokens buffer
            PlanningParser parser = new PlanningParser(tokens);

            var domainContext = parser.domain(); // begin parsing at init rule

            //Console.WriteLine(domainContext.ToStringTree(parser));
            tr.Close();
            //var domain = Domain.CreateInstance(domainContext);
            //ShowDomainInfo(domain);

            // Create a TextReader that reads from a file
            tr = new StreamReader(_serverProblemFileName);

            // create a CharStream that reads from standard input
            input = new AntlrInputStream(tr);
            // create a lexer that feeds off of input CharStream

            lexer = new PlanningLexer(input);
            // create a buffer of tokens pulled from the lexer
            tokens = new CommonTokenStream(lexer);
            // create a parser that feeds off the tokens buffer
            parser = new PlanningParser(tokens);

            var serverProblemContext = parser.serverProblem(); // begin parsing at init rule

            tr.Close();

            DateTime starTime = DateTime.Now;

            _problem = ServerProblem.CreateInstance(domainContext, serverProblemContext);
            DateTime endTime = DateTime.Now;

            Console.WriteLine("Compilation time: {0}", endTime.Subtract(starTime));

            _gridCount = Globals.TermInterpreter.NumericConstValueDict["maxLoc"] + 1;

            _server = new Server(_port, _listenBackLog, _problem);

            _server.NewAction       += _server_NewAction;
            _server.NewObservation  += _server_NewObservation;
            _server.AgentTerminated += _server_AgentTerminated;
            _server.Completed       += _server_Completed;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create new connected peer with socket
        /// </summary>
        public Client(Socket socket, ServerProblem problem)
        {
            _socket = socket;
            IPEndPoint ipEndPoint = (IPEndPoint)socket.RemoteEndPoint;

            Host         = ipEndPoint.Address.ToString();
            Port         = ipEndPoint.Port;
            IsConnected  = true;
            IsTerminated = false;
            _actionDict  = problem.ActionDict;
        }
Ejemplo n.º 3
0
 public Server(int port, int backlog, ServerProblem problem)
 {
     _socket             = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
     _port               = port;
     _backLog            = backlog;
     ObjectBase          = new ObjectBase(problem);
     ObjectBase.Changed += ShowObjectBase;
     //ObjectBase.Changed += (sender, tuple) => ObjectBaseChanged(sender, tuple);
     _problem         = problem;
     _agentClientDict = new Dictionary <string, Client>();
     random           = new Random();
 }
Ejemplo n.º 4
0
        static void Test1(string domainFileName, string problemFileName)
        {
            CUDD.InitialiseCUDD(256, 256, 262144, 0.1);

            // Create a TextReader that reads from a file
            TextReader tr = new StreamReader(domainFileName);

            // create a CharStream that reads from standard input
            AntlrInputStream input = new AntlrInputStream(tr);
            // create a lexer that feeds off of input CharStream

            PlanningLexer lexer = new PlanningLexer(input);
            // create a buffer of tokens pulled from the lexer
            CommonTokenStream tokens = new CommonTokenStream(lexer);
            // create a parser that feeds off the tokens buffer
            PlanningParser parser = new PlanningParser(tokens);

            var domainContext = parser.domain();// begin parsing at init rule

            //Console.WriteLine(domainContext.ToStringTree(parser));
            tr.Close();
            //var domain = Domain.CreateInstance(domainContext);
            //ShowDomainInfo(domain);

            // Create a TextReader that reads from a file
            tr = new StreamReader(problemFileName);

            // create a CharStream that reads from standard input
            input = new AntlrInputStream(tr);
            // create a lexer that feeds off of input CharStream

            lexer = new PlanningLexer(input);
            // create a buffer of tokens pulled from the lexer
            tokens = new CommonTokenStream(lexer);
            // create a parser that feeds off the tokens buffer
            parser = new PlanningParser(tokens);

            var serverProblemContext = parser.serverProblem();// begin parsing at init rule

            //Console.WriteLine(serverProblemContext.ToStringTree(parser));
            tr.Close();
            //Console.ReadLine();
            ServerProblem problem = ServerProblem.CreateInstance(domainContext, serverProblemContext);

            problem.ShowInfo();

            Server server = new Server(port, listenBacklog, problem);

            server.Run();
            Console.ReadLine();
        }
Ejemplo n.º 5
0
 public Client(ServerProblem problem, string agentId)
 {
     AgentId     = agentId;
     _actionDict = problem.ActionDict;
     IsConnected = false;
 }