public KPD(VS parent, string name) : base(parent, name) { #region Инициализация переменных объектов модели KOZ = InitModelObject<TIntVar>(); KPZ = InitModelObject<TIntVar>(); Zanyatost = InitModelObject<TRefVar<VS.Zayavka>>(); Q_Vhod = InitModelObject<SimpleModelList<QRec>>(); Q_Vozvrat = InitModelObject<SimpleModelList<QRec>>(); #endregion #region Инициализация сборщиков статистики Variance_Q_Vhod = InitModelObject<Variance<int>>(); Variance_Q_Vhod.ConnectOnSet(Q_Vhod.Count); Min_Q_Vhod = InitModelObject<Min<int>>(); Min_Q_Vhod.ConnectOnSet(Q_Vhod.Count); Max_Q_Vhod = InitModelObject<Max<int>>(); Max_Q_Vhod.ConnectOnSet(Q_Vhod.Count); Variance_Q_Vozvrat = InitModelObject<Variance<int>>(); Variance_Q_Vozvrat.ConnectOnSet(Q_Vozvrat.Count); Min_Q_Vozvrat = InitModelObject<Min<int>>(); Min_Q_Vozvrat.ConnectOnSet(Q_Vozvrat.Count); Max_Q_Vozvrat = InitModelObject<Max<int>>(); Max_Q_Vozvrat.ConnectOnSet(Q_Vozvrat.Count); Zanyato = InitModelObject<BoolCollector>(); Zanyato.ConnectOnSet(Zanyatost); #endregion }
TIntVar KVZ; //Количество вошедших заявок #endregion Fields #region Constructors public UstroystvoVvoda(VU parent, string name) : base(parent, name) { #region Инициализация переменных объектов модели KOZ = InitModelObject<TIntVar>(); KVZ = InitModelObject<TIntVar>(); Zanyatost = InitModelObject<TRefVar<VS.Zayavka>>(); Que = InitModelObject<SimpleModelList<QRec>>(); parentVU = parent; #endregion #region Инициализация сборщиков статистики Variance_QueCount = InitModelObject<Variance<int>>(); Variance_QueCount.ConnectOnSet(Que.Count); Min_QueCount = InitModelObject<Min<int>>(); Min_QueCount.ConnectOnSet(Que.Count); Max_QueCount = InitModelObject<Max<int>>(); Max_QueCount.ConnectOnSet(Que.Count); Zanyto = InitModelObject<BoolCollector>(); Zanyto.ConnectOnSet(Zanyatost); #endregion }
// Генератор числа выходящих пассажиров // DiscreteStream<int> GenKolPassOut; #endregion #region Инициализация объектов модели public SmoModel(Model parent, string name) : base(parent, name) { TQ = InitModelObject <TRealVar>(); Variance_TQ = InitModelObject <Variance <double> >(); Variance_TQ.ConnectOnSet(TQ); VQ = InitModelObject <SimpleModelList <PassRec> >(); LQ = InitModelObject <TIntVar>(); Variance_LQ = InitModelObject <Variance <int> >(); Variance_LQ.ConnectOnSet(LQ); GenPassAppear = InitModelObject <ExpStream>("Генератор времени появления пассажиров"); GenBusAppear = InitModelObject <UniformStream>("Генератор времени прибытия автобуса на остановку"); GenPassOut = InitModelObject <UniformStream>("Генератор времени высадки пассажира"); GenPassIn = InitModelObject <UniformStream>("Генератор времени посадки пассажира"); }
public SMOModel(Model parent, string name) : base(parent, name) { KVZS = InitModelObject<TIntVar>(); KVZ = InitModelObjectArray<TIntVar>(3, ""); KPZ = InitModelObjectArray<TIntVar>(3, ""); KZ = InitModelObjectArray<TBoolVar>(2, ""); TZKO = InitModelObjectArray<TRealVar>(2, ""); KPZ = InitModelObjectArray<TIntVar>(3, ""); queue = InitModelObjectArray<SimpleModelList<QueueRec>>(3, ""); TimeIn_FirstFlow = InitModelObject<TRealVar>(); TimeIn_SecondFlow = InitModelObject<TRealVar>(); inFlowGenerator = InitModelObjectArray<PoissonStream>(2, ""); servFlowGenerator = InitModelObjectArray<ExpStream>(2, ""); repeateGenerator = InitModelObject<UniformStream>(); Variance_QueueCount = InitModelObjectArray<Variance<int>>(3, ""); Variance_QueueCount[0].ConnectOnSet(queue[0].Count); Variance_QueueCount[1].ConnectOnSet(queue[1].Count); Variance_QueueCount[2].ConnectOnSet(queue[2].Count); Variance_TimeIn_FirstFlow = InitModelObject<Variance<double>>(); Variance_TimeIn_FirstFlow.ConnectOnSet(TimeIn_FirstFlow); Variance_TimeIn_SecondFlow = InitModelObject<Variance<double>>(); Variance_TimeIn_SecondFlow.ConnectOnSet(TimeIn_SecondFlow); Min_TimeIn_FirstFlow = InitModelObject<Min<double>>(); Min_TimeIn_FirstFlow.ConnectOnSet(TimeIn_FirstFlow); Min_TimeIn_SecondFlow = InitModelObject<Min<double>>(); Min_TimeIn_SecondFlow.ConnectOnSet(TimeIn_SecondFlow); Max_TimeIn_FirstFlow = InitModelObject<Max<double>>(); Max_TimeIn_FirstFlow.ConnectOnSet(TimeIn_FirstFlow); Max_TimeIn_SecondFlow = InitModelObject<Max<double>>(); Max_TimeIn_SecondFlow.ConnectOnSet(TimeIn_SecondFlow); Bool_Kanal = InitModelObjectArray<BoolCollector>(2, ""); Bool_Kanal[0].ConnectOnSet(KZ[0]); Bool_Kanal[1].ConnectOnSet(KZ[1]); }
TRealVar TOZ; //Время обработки заявки в системе #endregion Fields #region Constructors public VU(VS parent, string name) : base(parent, name) { ParentVS = parent; UVD = new UstroystvoVvoda(this, "УВД" + "(" + name + ")"); UR = new UstroystvoRabota(this, "УОД" + "(" + name + ")"); UV = new UstroystvoVyvoda(this, "УВР" + "(" + name + ")"); this.AddModelObject(UVD); this.AddModelObject(UR); this.AddModelObject(UV); #region Инициализация переменных объектов модели KVZ = InitModelObject<TIntVar>(); KOZ = InitModelObject<TIntVar>(); TOZ = InitModelObject<TRealVar>(); KPZ = new int[3]; Gener_Vhod = InitModelObject<ExpStream>(); Gener_RazmerVvod = InitModelObject<UniformStream>(); Gener_RazmerVyvoda = InitModelObject<NormalStream>(); // Gener_RazmerRabota = InitModelObject<ExpStream>(); #endregion #region Инициализация сборщиков статистики Variance_TOZ = InitModelObject<Variance<Double>>(); //создаем сборщик Variance_TOZ.ConnectOnSet(TOZ); //подключаем сборщик к переменной Min_TOZ = InitModelObject<Min<double>>(); //создаем сборщик Min_TOZ.ConnectOnSet(TOZ); //подключаем сборщик к переменной Max_TOZ = InitModelObject<Max<double>>(); //создаем сборщик Max_TOZ.ConnectOnSet(TOZ); //подключаем сборщик к переменной His_TOZ = InitModelObject<DynamicHistogram>(); His_TOZ.ConnectOnSet(TOZ); #endregion }
Variance<Double> Variance_TOZ; //МО и дисперсия #endregion Fields #region Constructors public VS(Model parent, string name) : base(parent, name) { #region Инициализация переменных объектов модели KVZ = InitModelObject<TIntVar>(); KOZ = InitModelObject<TIntVar>(); TOZ = InitModelObject<TRealVar>(); UZEL = new VU[3]; UZEL[0] = new VU(this, "ВУ1"); UZEL[1] = new VU(this, "ВУ2"); UZEL[2] = new VU(this, "ВУ3"); this.AddModelObject(UZEL[0]); this.AddModelObject(UZEL[1]); this.AddModelObject(UZEL[2]); KANAL = new KPD[3]; KANAL[0] = new KPD(this, "КПД(1,2)"); KANAL[1] = new KPD(this, "КПД(1,3)"); KANAL[2] = new KPD(this, "КПД(2,3)"); this.AddModelObject(KANAL[0]); this.AddModelObject(KANAL[1]); this.AddModelObject(KANAL[2]); KANAL[0].VU_1 = UZEL[0]; KANAL[0].VU_2 = UZEL[1]; KANAL[1].VU_1 = UZEL[0]; KANAL[1].VU_2 = UZEL[2]; KANAL[2].VU_1 = UZEL[1]; KANAL[2].VU_2 = UZEL[2]; #endregion #region Инициализация сборщиков статистики Variance_TOZ = InitModelObject<Variance<Double>>(); //создаем сборщик Variance_TOZ.ConnectOnSet(TOZ); //подключаем сборщик к переменной Min_TOZ = InitModelObject<Min<double>>(); //создаем сборщик Min_TOZ.ConnectOnSet(TOZ); //подключаем сборщик к переменной Max_TOZ = InitModelObject<Max<double>>(); //создаем сборщик Max_TOZ.ConnectOnSet(TOZ); //подключаем сборщик к переменной His_TOZ = InitModelObject<DynamicHistogram>(); His_TOZ.ConnectOnSet(TOZ); //-------------------------------------------------- allValuesTest = InitModelObject<AllValues<int>>("Сборщик полной статистики"); dhTest = InitModelObject<DynamicHistogram>("Динамическая гистограмма"); testAV = InitModelObject<TIntVar>("Тестовая переменная 1"); testDH = InitModelObject<TRealVar>("Тестовая переменная 2"); testAV.AddCollectors_OnSet(allValuesTest); testDH.AddCollectors_OnSet(dhTest); //-------------------------------------------------- #endregion /*Tracer.AddAutoTabModel(this); UZEL.ToList().ForEach(u => Tracer.AddAutoTabModel(u)); KANAL.ToList().ForEach(k => Tracer.AddAutoTabModel(k));*/ }