Пример #1
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            for (int i = 1; i <= 3; i++) // Utils.MaxLevel
            {
                for (int j = 1; j <= 3; j++)
                {
                    for (int k = 1; k <= 3; k++)
                    {
                        var workerAgent = new WorkerAgent(i, j, k);
                        env.Add(workerAgent, string.Format("worker{0}{1}{2}", i, j, k));
                        workerAgent.Start();
                    }
                }
            }

            var calculatorAgent = new CalculatorAgent();

            env.Add(calculatorAgent, "shapley");
            calculatorAgent.Start();

            Thread.Sleep(100);

            var managerAgent = new ManagerAgent();

            env.Add(managerAgent, "manager");
            managerAgent.Start();

            env.WaitAll();
        }
Пример #2
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            var brokerAgent = new BrokerAgent(); env.Add(brokerAgent, "broker"); brokerAgent.Start();

            Thread.Sleep(100);

            ProviderAgent pa1 = new ProviderAgent(ServiceType.Add); env.Add(pa1, "provider1"); pa1.Start();
            ProviderAgent pa2 = new ProviderAgent(ServiceType.Add); env.Add(pa2, "provider2"); pa2.Start();
            ProviderAgent pa3 = new ProviderAgent(ServiceType.Sub); env.Add(pa3, "provider3"); pa3.Start();
            ProviderAgent pa4 = new ProviderAgent(ServiceType.Sub); env.Add(pa4, "provider4"); pa4.Start();

            Thread.Sleep(100);

            ClientAgent ca1 = new ClientAgent(ServiceType.Add); env.Add(ca1, "client1"); ca1.Start();
            ClientAgent ca2 = new ClientAgent(ServiceType.Add); env.Add(ca2, "client2"); ca2.Start();
            ClientAgent ca3 = new ClientAgent(ServiceType.Sub); env.Add(ca3, "client3"); ca3.Start();
            ClientAgent ca4 = new ClientAgent(ServiceType.Sub); env.Add(ca4, "client4"); ca4.Start();

            Thread.Sleep(1000);

            pa1.Send("provider1", "force-unregister");

            ProviderAgent pa5 = new ProviderAgent(ServiceType.Sub); env.Add(pa5, "provider5"); pa5.Start();

            Thread.Sleep(1000);

            ClientAgent ca5 = new ClientAgent(ServiceType.Add); env.Add(ca5, "client5"); ca5.Start();
            ClientAgent ca6 = new ClientAgent(ServiceType.Sub); env.Add(ca6, "client6"); ca6.Start();

            env.WaitAll();
        }
Пример #3
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            var w = new WriterAgent(); env.Add(w, "writer");

            w.Start();

            int noAgents = 5;

            for (int i = 1; i <= noAgents; i++)
            {
                var a = new MyAgent();
                env.Add(a, "a" + i);
                a.Start();
            }

            Thread.Sleep(100);

            var m = new MonitorAgent();

            env.Add(m, "monitor");
            m.Start();

            env.WaitAll();
        }
Пример #4
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            Utils.AisLying = false;
            var agentA = new BeneficiaryAgent(); env.Add(agentA, "a"); agentA.Start();
            var agentB = new BeneficiaryAgent(); env.Add(agentB, "b"); agentB.Start();
            var agentC = new BeneficiaryAgent(); env.Add(agentC, "c"); agentC.Start();

            Thread.Sleep(100);

            var dmAgent = new DecisionMakerAgent(); env.Add(dmAgent, "dm"); dmAgent.Start();

            env.WaitAll();

            Thread.Sleep(1000);
            Console.WriteLine("\r\n");

            Utils.AisLying = true;
            env.Add(agentA, "a"); agentA.Start();
            env.Add(agentB, "b"); agentB.Start();
            env.Add(agentC, "c"); agentC.Start();

            Thread.Sleep(100);

            env.Add(dmAgent, "dm"); dmAgent.Start();

            env.WaitAll();
        }
Пример #5
0
        private static void Main(string[] args)
        {
            var env         = new ConcurrentEnvironment();
            var mapAgent    = new MapAgent(); env.Add(mapAgent, "map");
            var searchAgent = new SearchAgent(); env.Add(searchAgent, "agent1");

            mapAgent.Start(); Thread.Sleep(100); searchAgent.Start();

            env.WaitAll();
        }
Пример #6
0
        private static void Main(string[] args)
        {
            var env    = new ConcurrentEnvironment();
            var agent1 = new BargainingAgent(); env.Add(agent1, "agent1");
            var agent2 = new BargainingAgent(); env.Add(agent2, "agent2");

            agent2.Start(); Thread.Sleep(100); agent1.Start();

            env.WaitAll();
        }
Пример #7
0
        override public void RunConcurrentMas(ConcurrentEnvironment env)
        {
            string home = env.ContainerName;

            if (home == "")
            {
                Console.WriteLine("Container not activated.");
                return;
            }

            Console.WriteLine("This is " + home);

            switch (home)
            {
            case "Container1":
                var m = new MobileAgent();
                env.Add(m, "Container1.mobile");

                for (int i = 1; i <= 1; i++)
                {
                    var a = new StaticAgent();
                    env.Add(a, "Container1.a" + i);
                    a.Start();
                }

                m.Start();
                break;

            case "Container2":
                for (int i = 1; i <= 2; i++)
                {
                    var a = new StaticAgent();
                    env.Add(a, "Container2.b" + i);
                    a.Start();
                }
                break;

            case "Container3":
                for (int i = 1; i <= 3; i++)
                {
                    var a = new StaticAgent();
                    env.Add(a, "Container3.c" + i);
                    a.Start();
                }
                break;

            default:
                break;
            }

            env.WaitAll();
        }
Пример #8
0
        private static void Main(string[] args)
        {
            // === Init ===

            var env = new ConcurrentEnvironment();
            var a1  = new MyAgent1(); env.Add(a1, "agent1");
            var a2  = new MyAgent2(); env.Add(a2, "agent2");

            // === Run ===

            a1.Start(); a2.Start();

            // === Wait ===

            env.WaitAll();
        }
Пример #9
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            var terrainAgent = new TerrainAgent();

            env.Add(terrainAgent, "terrain");
            terrainAgent.Start();

            Thread.Sleep(100);

            var patrolAgent = new PatrolAgent();

            env.Add(patrolAgent, "patrol");
            patrolAgent.Start();

            env.WaitAll();
        }
Пример #10
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            int noAgents = 10;

            for (int i = 1; i <= noAgents; i++)
            {
                var a = new MyAgent();
                env.Add(a, "agent" + i);
                a.Start();
            }

            var m = new MonitorAgent();

            env.Add(m, "monitor");
            m.Start();

            env.WaitAll();
        }
        static void Main(string[] args)
        {
            var distributor = new DistributorAgent("distributor");
            var dispatcher  = new DispatcherAgent("dispatcher");
            var env         = new ConcurrentEnvironment();

            env.Add(distributor);
            env.Add(dispatcher);
            distributor.Start();
            dispatcher.Start();
            //add processor agents to the env based on application settings
            for (int i = 1; i <= RunSettings.NumberOfWorkers; i++)
            {
                var processor = new ProcessorAgent($"p{i}");
                env.Add(processor);
                processor.Start();
            }
            //keep the application running
            env.WaitAll();
        }
Пример #12
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            var planetAgent = new PlanetAgent();

            env.Add(planetAgent, "planet");
            planetAgent.Start();

            Thread.Sleep(100);

            for (int i = 1; i <= Utils.NoExplorers; i++)
            {
                var explorerAgent = new ExplorerAgent();
                env.Add(explorerAgent, "explorer" + i);
                explorerAgent.Start();
            }

            env.WaitAll();
        }
Пример #13
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            for (int i = 1; i <= Utils.NoBidders; i++)
            {
                int agentValuation = Utils.MinPrice + Utils.RandNoGen.Next(Utils.MaxPrice - Utils.MinPrice);
                var bidderAgent    = new BidderAgent(agentValuation);
                env.Add(bidderAgent, string.Format("bidder{0:D2}", i));
                bidderAgent.Start();
            }

            Thread.Sleep(100);

            var auctioneerAgent = new AuctioneerAgent();

            env.Add(auctioneerAgent, "auctioneer");
            auctioneerAgent.Start();

            env.WaitAll();
        }
Пример #14
0
        private static void Main(string[] args)
        {
            var env = new ConcurrentEnvironment();

            //var prisonerAgent1 = new ConfessPrisonerAgent();
            //var prisonerAgent2 = new RandomPrisonerAgent();
            var prisonerAgent1 = new TitForTatPrisonerAgent();
            var prisonerAgent2 = new TitForTatPrisonerAgent();

            env.Add(prisonerAgent1, "p1-" + prisonerAgent1.GetType().Name);
            prisonerAgent1.Start();

            env.Add(prisonerAgent2, "p2-" + prisonerAgent2.GetType().Name);
            prisonerAgent2.Start();

            Thread.Sleep(100);

            var policeAgent = new PoliceAgent();

            env.Add(policeAgent, "police");
            policeAgent.Start();

            env.WaitAll();
        }
Пример #15
0
 private void buttonRunMas_Click(object sender, EventArgs e)
 {
     _environment = new ConcurrentEnvironment();
     _container.RunConcurrentMas(_environment, new MasMobileGuiTB.MasSetup());
 }
Пример #16
0
 /// <summary>
 /// Starts the execution of a concurrent environment within a container
 /// </summary>
 /// <param name="env">The concurrent environment</param>
 public virtual void RunConcurrentMas(ConcurrentEnvironment env)
 {
 }