Example #1
0
        override public void OutAct()
        {
            SetTCurrForChannels();
            base.OutAct();
            GetChannelByTNext().OutAct();

            base.TNext = GetTNext();

            if (CheckFreeChannels() == true)
            {
                base.State = 0;
            }

            if (this.Queue > 0 && CheckFreeChannels() == true)
            {
                Queue--;
                GetFreeChannel().InAct();
                if (CheckFreeChannels() == false)
                {
                    base.State = 1;
                }
                base.TNext = GetTNext();
            }

            if (NextMss.Count > 0)
            {
                Random random = new Random();
                int    index  = 0;
                if (NextDespose)
                {
                    index = random.Next(0, NextMss.Count + 1);
                }
                else
                {
                    index = random.Next(0, NextMss.Count);
                }

                if (index == NextMss.Count)
                {
                    Console.WriteLine("--------Dispose--------");
                }
                else
                {
                    MassServiceSystem nextProcess = NextMss[index];
                    nextProcess.InAct();
                }
            }
            else
            {
                Console.WriteLine("--------Dispose--------");
            }
        }
Example #2
0
        public void PrintResult()
        {
            Console.WriteLine("\n-------------RESULTS-------------");

            foreach (Element e in list)
            {
                e.PrintResult();
                Console.WriteLine();
                if (e.GetType() == typeof(MassServiceSystem))
                {
                    MassServiceSystem p = (MassServiceSystem)e;
                }
            }
        }
Example #3
0
        static void Main(string[] args)
        {
            Create            c   = new Create(2.0);
            MassServiceSystem mss = new MassServiceSystem(1.0);

            Channel channel1 = new Channel();

            channel1.Name = "Channel1";
            Channel channel2 = new Channel();

            channel2.Name = "Channel2";

            mss.Channels = new List <Channel> {
                channel1, channel2
            };

            //Console.WriteLine("id0 = " + c.Id + "   id1 = " + p1.Id + "  id2 = " + p2.Id + "  id3 = " + p3.Id + "  id4 = " + p4.Id);

            c.NextElements.Add(mss);
            mss.NextDespose = true;
            mss.Maxqueue    = 5;


            c.Name   = "CREATOR";
            mss.Name = "Smo 1";

            c.Distribution   = "exp";
            mss.Distribution = "exp";

            List <Element> list = new List <Element> {
                c, mss
            };
            Model model = new Model(list);

            model.Simulate(1000.0);
        }