183 f.
set({Feature::Sink, Feature::Source});
184 f.
set({Feature::ClassSwitch, Feature::Delay, Feature::DelayStation, Feature::Queue});
185 f.
set({Feature::APH, Feature::Coxian, Feature::Cox2, Feature::Erlang, Feature::Exp,
186 Feature::HyperExp, Feature::BMAP});
187 f.
set({Feature::Pareto, Feature::Weibull, Feature::Lognormal, Feature::Uniform, Feature::Det});
188 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer, Feature::SharedServer,
189 Feature::Buffer, Feature::Dispatcher});
190 f.
set({Feature::CacheClassSwitcher, Feature::Cache});
191 f.
set(Feature::CacheRetrieval);
192 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::ServiceTunnel});
193 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS});
194 f.
set({Feature::SchedStrategy_DPS, Feature::SchedStrategy_FCFS, Feature::SchedStrategy_SIRO,
195 Feature::SchedStrategy_HOL, Feature::SchedStrategy_FCFSPRPRIO});
196 f.
set({Feature::SchedStrategy_LCFS, Feature::SchedStrategy_LCFSPR,
197 Feature::SchedStrategy_POLLING});
198 f.
set({Feature::SchedStrategy_OI, Feature::SchedStrategy_PAS});
200 f.
set(Feature::SchedStrategy_SJF);
203 f.
set({Feature::SchedStrategy_SRPT, Feature::SchedStrategy_PSJF,
204 Feature::SchedStrategy_FB, Feature::SchedStrategy_LRPT,
205 Feature::SchedStrategy_SETF});
208 f.
set({Feature::Fork, Feature::Forker, Feature::Join, Feature::Joiner,
209 Feature::JoinPartial});
210 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND});
211 f.
set({Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO,
212 Feature::ReplacementStrategy_LRU, Feature::ReplacementStrategy_HLRU});
213 f.
set({Feature::MMAP, Feature::MPH});
214 f.
set({Feature::ClosedClass, Feature::SelfLoopingClass, Feature::OpenClass, Feature::Replayer});
216 f.
set({Feature::LoadDependence, Feature::ClassDependence});
217 f.
set(Feature::JointDependence);
223 f.
set(Feature::MultiServer);
232 f.
unset(Feature::OpenClass);
243 f.
unset(Feature::LoadDependence);
244 f.
unset(Feature::ClassDependence);
245 f.
unset(Feature::JointDependence);
252 static const char* kLdRefused[] = {
"sum",
"esum",
"mvac",
"qli",
"fli",
253 "gflin",
"egflin",
"qna",
"rqna",
"rqt",
"mvablo"};
255 for (
const char* n : kLdRefused)
256 if (method == n) ld_refused =
true;
258 f.
unset(Feature::LoadDependence);
259 f.
unset(Feature::ClassDependence);
260 f.
unset(Feature::JointDependence);
261 }
else if (method ==
"mva" || method ==
"exact") {
262 f.
unset(Feature::ClassDependence);
263 f.
unset(Feature::JointDependence);
266 if (method !=
"default" && method !=
"exact") {
270 f.
unset(Feature::SchedStrategy_OI);
271 f.
unset(Feature::SchedStrategy_PAS);
273 if (method ==
"sum" || method ==
"esum") {
277 }
else if (method ==
"mvac") {
280 f.
unset(Feature::OpenClass);
283 if (method ==
"exact") {
286 f.
unset(Feature::ReplacementStrategy_LRU);
287 f.
unset(Feature::ReplacementStrategy_HLRU);
288 }
else if (method ==
"marie") {
291 for (
Feature x : {Feature::OpenClass, Feature::Source, Feature::Sink, Feature::Fork, Feature::Forker,
292 Feature::Join, Feature::Joiner, Feature::JoinPartial, Feature::Cache,
293 Feature::CacheClassSwitcher, Feature::CacheRetrieval, Feature::SchedStrategy_SIRO})
296 }
else if (method ==
"sjn.mva" || method ==
"sjn.amva") {
299 for (
Feature x : {Feature::OpenClass, Feature::Source, Feature::Sink, Feature::Fork, Feature::Forker,
300 Feature::Join, Feature::Joiner, Feature::JoinPartial, Feature::Cache,
301 Feature::CacheClassSwitcher, Feature::CacheRetrieval})
304 f.
set(Feature::SchedStrategy_SJF);
306 if (method ==
"mapqn") {
309 f.
set({Feature::MAP, Feature::MMPP2});
310 for (
Feature x : {Feature::OpenClass, Feature::Source, Feature::Sink, Feature::Fork, Feature::Forker,
311 Feature::Join, Feature::Joiner, Feature::JoinPartial, Feature::ClassSwitch,
312 Feature::StatelessClassSwitcher, Feature::Cache, Feature::CacheClassSwitcher,
313 Feature::CacheRetrieval, Feature::LoadDependence, Feature::ClassDependence,
314 Feature::JointDependence, Feature::SchedStrategy_PS, Feature::SchedStrategy_SIRO,
315 Feature::SchedStrategy_LCFSPR, Feature::SchedStrategy_SRPT, Feature::SchedStrategy_PSJF,
316 Feature::SchedStrategy_FB, Feature::SchedStrategy_LRPT, Feature::SchedStrategy_SETF,
317 Feature::SchedStrategy_OI, Feature::SchedStrategy_PAS})
321 if (method ==
"rqna") {
323 f.
set({Feature::MAP, Feature::MMPP2, Feature::MMAP, Feature::MPH, Feature::RAP});
324 f.
unset(Feature::ClosedClass);
325 f.
unset(Feature::SelfLoopingClass);
326 }
else if (method ==
"rqt") {
329 f.
unset(Feature::ClosedClass);
330 f.
unset(Feature::SelfLoopingClass);
332 if (method ==
"qna") {
337 f.
set(Feature::RoutingStrategy_RROBIN);
338 f.
unset(Feature::ClosedClass);
339 f.
unset(Feature::SelfLoopingClass);
343 f.
unset(Feature::SchedStrategy_SIRO);
344 f.
unset(Feature::SchedStrategy_LCFSPR);
346 }
else if (method ==
"erlanga" || method ==
"mgisrgi") {
351 f.
set(Feature::Reneging);
352 f.
unset(Feature::ClosedClass);
353 f.
unset(Feature::SelfLoopingClass);
355 if (method ==
"rqna" || method ==
"rqt") {
361 f.
unset(Feature::Fork);
362 f.
unset(Feature::Forker);
363 f.
unset(Feature::Join);
364 f.
unset(Feature::Joiner);
365 f.
unset(Feature::JoinPartial);
369 for (
Feature x : {Feature::SchedStrategy_PS, Feature::SchedStrategy_SIRO, Feature::SchedStrategy_LCFSPR,
370 Feature::Cache, Feature::CacheClassSwitcher, Feature::CacheRetrieval})
382 static const char* kSingleServer[] = {
"aql",
"qsa",
"tay",
"sqni",
"mvac",
"rqna",
"sjn.mva",
383 "sjn.amva",
"mm1",
"mg1",
"mgi1",
"gm1",
"gim1"};
384 bool single = method.compare(0, 4,
"gig1") == 0;
385 for (
const char* n : kSingleServer)
386 if (method == n) single =
true;
387 if (single) f.
unset(Feature::MultiServer);
398 if (method ==
"default" || method ==
"sqd" || method ==
"mvablo") f.
set(Feature::FiniteCapacity);
431 f.
set({Feature::Sink, Feature::Source});
432 f.
set({Feature::ClassSwitch, Feature::Delay, Feature::DelayStation, Feature::Queue});
433 f.
set({Feature::APH, Feature::Coxian, Feature::Cox2, Feature::Erlang, Feature::Det,
434 Feature::Exp, Feature::HyperExp});
438 f.
set(Feature::Geometric);
439 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer});
440 f.
set({Feature::SharedServer, Feature::Buffer, Feature::Dispatcher});
441 f.
set(Feature::Region);
442 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::ServiceTunnel});
443 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS, Feature::SchedStrategy_SIRO});
444 f.
set({Feature::SchedStrategy_LCFS, Feature::SchedStrategy_LCFSPR});
449 f.
set(Feature::SchedStrategy_DPS);
452 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND,
453 Feature::RoutingStrategy_SDR});
454 f.
set({Feature::SchedStrategy_FCFS, Feature::SchedStrategy_OI, Feature::SchedStrategy_PAS});
457 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner,
458 Feature::JoinPartial});
459 f.
set({Feature::ClosedClass, Feature::SelfLoopingClass});
460 f.
set({Feature::Cache, Feature::CacheClassSwitcher, Feature::OpenClass});
461 f.
set(Feature::CacheRetrieval);
462 f.
set(Feature::CacheItemSize);
463 f.
set({Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO});
464 f.
set(Feature::ReplacementStrategy_HLRU);
469 f.
set({Feature::Place, Feature::Transition, Feature::Linkage, Feature::Enabling,
470 Feature::Inhibiting, Feature::Timing, Feature::Firing, Feature::Storage});
471 f.
set({Feature::LoadDependence, Feature::ClassDependence});
472 f.
set(Feature::JointDependence);
477 f.
set(Feature::MultiServer);
491 if (method !=
"default" && method !=
"exact") {
492 f.
unset(Feature::ClassDependence);
493 f.
unset(Feature::JointDependence);
494 }
else if (method ==
"exact") {
495 f.
unset(Feature::JointDependence);
511 if (method ==
"divdiff") {
517 f.
unset(Feature::SchedStrategy_INF);
518 }
else if (method ==
"rd" || method ==
"nrp" || method ==
"nrl" || method ==
"nre" ||
519 method ==
"comomld" || method ==
"panald" || method ==
"is") {
527 f.
unset(Feature::OpenClass);
533 if (method ==
"divdiff") f.
unset(Feature::MultiServer);
539 if (method ==
"mem" || method ==
"default" || method ==
"exact")
540 f.
set(Feature::FiniteCapacity);
552 if (method ==
"cftp" || method ==
"cftp.approx" || method ==
"cftp.exact") {
553 f.
unset(Feature::OpenClass);
555 f.
unset(Feature::Source);
556 f.
unset(Feature::Sink);
557 f.
unset(Feature::RandomSource);
558 f.
unset(Feature::JobSink);
559 f.
unset(Feature::ClassSwitch);
560 f.
unset(Feature::StatelessClassSwitcher);
561 f.
unset(Feature::Cache);
562 f.
unset(Feature::CacheClassSwitcher);
563 f.
unset(Feature::CacheRetrieval);
564 f.
unset(Feature::CacheItemSize);
565 f.
unset(Feature::ReplacementStrategy_RR);
566 f.
unset(Feature::ReplacementStrategy_FIFO);
567 f.
unset(Feature::ReplacementStrategy_SFIFO);
568 f.
unset(Feature::ReplacementStrategy_LRU);
569 f.
unset(Feature::ReplacementStrategy_HLRU);
570 f.
unset(Feature::ReplacementStrategy_CLIMB);
571 f.
unset(Feature::ReplacementStrategy_QLRU);
572 f.
unset(Feature::Fork);
573 f.
unset(Feature::Join);
574 f.
unset(Feature::Forker);
575 f.
unset(Feature::Joiner);
576 f.
unset(Feature::JoinPartial);
577 f.
unset(Feature::Place);
578 f.
unset(Feature::Transition);
579 f.
unset(Feature::Linkage);
580 f.
unset(Feature::Enabling);
581 f.
unset(Feature::Inhibiting);
582 f.
unset(Feature::Timing);
583 f.
unset(Feature::Firing);
584 f.
unset(Feature::Storage);
588 f.
unset(Feature::SchedStrategy_DPS);
589 f.
unset(Feature::SchedStrategy_GPS);
590 f.
unset(Feature::SchedStrategy_SEPT);
591 f.
unset(Feature::SchedStrategy_LEPT);
592 f.
unset(Feature::SchedStrategy_HOL);
593 f.
unset(Feature::SchedStrategy_LCFS);
594 f.
unset(Feature::SchedStrategy_LCFSPRPRIO);
595 f.
unset(Feature::SchedStrategy_FCFSPRPRIO);
596 f.
unset(Feature::SchedStrategy_FCFSPR);
597 f.
unset(Feature::SchedStrategy_LCFSPI);
598 f.
unset(Feature::SchedStrategy_FCFSPI);
599 f.
unset(Feature::SchedStrategy_LCFSPIPRIO);
600 f.
unset(Feature::SchedStrategy_FCFSPIPRIO);
601 f.
unset(Feature::SchedStrategy_PSPRIO);
602 f.
unset(Feature::SchedStrategy_DPSPRIO);
603 f.
unset(Feature::SchedStrategy_GPSPRIO);
604 f.
unset(Feature::SchedStrategy_LPS);
605 f.
unset(Feature::SchedStrategy_PAS);
606 f.
unset(Feature::SchedStrategy_OI);
607 f.
unset(Feature::SchedStrategy_POLLING);
608 f.
unset(Feature::Region);
609 f.
unset(Feature::LoadDependence);
610 f.
unset(Feature::ClassDependence);
611 f.
unset(Feature::JointDependence);
612 f.
unset(Feature::GlobalDependence);
615 f.
unset(Feature::RoutingStrategy_RROBIN);
616 f.
unset(Feature::RoutingStrategy_WRROBIN);
617 f.
unset(Feature::RoutingStrategy_JSQ);
618 f.
unset(Feature::RoutingStrategy_SQ);
619 f.
unset(Feature::RoutingStrategy_SDR);
621 f.
unset(Feature::Geometric);
625 f.
unset(Feature::FiniteCapacity);
641 f.
set({Feature::Source, Feature::Sink});
646 f.
set({Feature::ClassSwitch, Feature::Delay, Feature::DelayStation, Feature::Queue,
649 f.
set({Feature::MAP, Feature::APH, Feature::MMPP2, Feature::MMAP, Feature::MPH, Feature::PH,
650 Feature::Coxian, Feature::Cox2, Feature::Erlang, Feature::Exp, Feature::HyperExp,
652 f.
set({Feature::Det, Feature::Gamma, Feature::Lognormal, Feature::Pareto, Feature::Uniform,
654 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer, Feature::SharedServer,
655 Feature::Buffer, Feature::Dispatcher});
657 f.
set(Feature::Region);
658 f.
set({Feature::Cache, Feature::CacheClassSwitcher});
659 f.
set(Feature::CacheRetrieval);
660 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::ServiceTunnel});
661 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS});
662 f.
set({Feature::SchedStrategy_DPS, Feature::SchedStrategy_GPS});
663 f.
set({Feature::SchedStrategy_SIRO, Feature::SchedStrategy_SEPT});
664 f.
set({Feature::SchedStrategy_LEPT, Feature::SchedStrategy_FCFS});
665 f.
set({Feature::SchedStrategy_HOL, Feature::SchedStrategy_LCFS});
668 f.
set(Feature::SchedStrategy_LCFSPRIO);
669 f.
set({Feature::SchedStrategy_LCFSPR, Feature::SchedStrategy_LCFSPRPRIO,
670 Feature::SchedStrategy_FCFSPRPRIO});
676 f.
set({Feature::SchedStrategy_LCFSPI, Feature::SchedStrategy_FCFSPR,
677 Feature::SchedStrategy_FCFSPI});
678 f.
set({Feature::SchedStrategy_LCFSPIPRIO, Feature::SchedStrategy_FCFSPIPRIO});
679 f.
set({Feature::SchedStrategy_PSPRIO, Feature::SchedStrategy_DPSPRIO,
680 Feature::SchedStrategy_GPSPRIO});
681 f.
set({Feature::SchedStrategy_LPS, Feature::SchedStrategy_PAS, Feature::SchedStrategy_OI,
682 Feature::SchedStrategy_POLLING});
690 f.
set({Feature::RoutingStrategy_SDR, Feature::RoutingStrategy_JSQ, Feature::RoutingStrategy_SQ});
691 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND});
698 f.
set({Feature::RoutingStrategy_RROBIN, Feature::RoutingStrategy_WRROBIN});
699 f.
set({Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO,
700 Feature::ReplacementStrategy_SFIFO, Feature::ReplacementStrategy_LRU});
701 f.
set({Feature::ReplacementStrategy_HLRU, Feature::ReplacementStrategy_CLIMB,
702 Feature::ReplacementStrategy_QLRU});
703 f.
set({Feature::ClosedClass, Feature::SelfLoopingClass, Feature::OpenClass, Feature::Replayer});
704 f.
set({Feature::OpenSignal, Feature::ClosedSignal});
705 f.
set({Feature::SignalType_NEGATIVE, Feature::SignalType_CATASTROPHE,
706 Feature::SignalType_REPLY});
707 f.
set({Feature::SignalBatchRemoval, Feature::SignalRemovalPolicy});
708 f.
set({Feature::Place, Feature::Transition, Feature::Linkage, Feature::Enabling,
709 Feature::Inhibiting, Feature::Timing, Feature::Firing, Feature::Storage});
710 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner});
711 f.
set(Feature::Retrial);
726 f.
set({Feature::Balking, Feature::Reneging, Feature::Breakdown});
727 f.
set({Feature::LoadDependence, Feature::ClassDependence, Feature::JointDependence});
729 f.
set(Feature::GlobalDependence);
733 f.
set({Feature::MultiServer, Feature::FiniteCapacity});
736 f.
set(Feature::HeteroServers);
744 if (method ==
"mdd") {
755 f.
unset(Feature::OpenClass);
756 f.
unset(Feature::Source);
757 f.
unset(Feature::Sink);
758 f.
unset(Feature::RandomSource);
759 f.
unset(Feature::JobSink);
760 f.
unset(Feature::Fork);
761 f.
unset(Feature::Join);
762 f.
unset(Feature::Forker);
763 f.
unset(Feature::Joiner);
764 f.
unset(Feature::JoinPartial);
767 f.
unset(Feature::FiniteCapacity);
769 f.
unset(Feature::HeteroServers);
772 for (
Feature x : {Feature::Cache, Feature::CacheClassSwitcher, Feature::CacheRetrieval,
773 Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO,
774 Feature::ReplacementStrategy_SFIFO, Feature::ReplacementStrategy_LRU,
775 Feature::ReplacementStrategy_HLRU, Feature::ReplacementStrategy_CLIMB,
776 Feature::ReplacementStrategy_QLRU})
845 f.
set({Feature::Sink, Feature::Source, Feature::Router});
846 f.
set({Feature::ClassSwitch, Feature::Delay, Feature::DelayStation, Feature::Queue});
847 f.
set({Feature::MAP, Feature::MMPP2, Feature::MMAP, Feature::MPH, Feature::APH, Feature::PH,
849 f.
set({Feature::Coxian, Feature::Cox2, Feature::Erlang, Feature::Exp, Feature::HyperExp});
850 f.
set({Feature::Det, Feature::Gamma, Feature::Lognormal, Feature::Pareto, Feature::Uniform,
852 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer});
853 f.
set({Feature::SharedServer, Feature::Buffer, Feature::Dispatcher});
854 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::ServiceTunnel});
855 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS});
856 f.
set({Feature::SchedStrategy_DPS, Feature::SchedStrategy_FCFS});
857 f.
set({Feature::SchedStrategy_GPS, Feature::SchedStrategy_LPS, Feature::SchedStrategy_SIRO});
858 f.
set({Feature::SchedStrategy_HOL, Feature::SchedStrategy_LCFS});
859 f.
set({Feature::SchedStrategy_SEPT, Feature::SchedStrategy_LEPT});
860 f.
set(Feature::SchedStrategy_LCFSPR);
870 f.
set({Feature::SchedStrategy_LCFSPI, Feature::SchedStrategy_FCFSPR,
871 Feature::SchedStrategy_FCFSPI});
872 f.
set({Feature::SchedStrategy_LCFSPIPRIO, Feature::SchedStrategy_FCFSPIPRIO,
873 Feature::SchedStrategy_LCFSPRIO});
874 f.
set({Feature::SchedStrategy_LCFSPRPRIO, Feature::SchedStrategy_FCFSPRPRIO});
875 f.
set({Feature::SchedStrategy_PSPRIO, Feature::SchedStrategy_DPSPRIO,
876 Feature::SchedStrategy_GPSPRIO});
881 f.
set({Feature::SchedStrategy_PAS, Feature::SchedStrategy_OI,
882 Feature::SchedStrategy_POLLING});
885 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner});
888 f.
set(Feature::Region);
891 f.
set({Feature::Cache, Feature::CacheClassSwitcher, Feature::CacheRetrieval});
894 f.
set({Feature::Place, Feature::Transition, Feature::Linkage, Feature::Enabling,
895 Feature::Inhibiting, Feature::Timing, Feature::Firing, Feature::Storage});
898 f.
set(Feature::FluidPlace);
899 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND});
903 f.
set(Feature::RoutingStrategy_SDR);
909 f.
set({Feature::RoutingStrategy_RROBIN, Feature::RoutingStrategy_WRROBIN,
910 Feature::RoutingStrategy_JSQ, Feature::RoutingStrategy_SQ});
911 f.
set({Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO,
912 Feature::ReplacementStrategy_SFIFO, Feature::ReplacementStrategy_LRU});
913 f.
set({Feature::ReplacementStrategy_HLRU, Feature::ReplacementStrategy_CLIMB,
914 Feature::ReplacementStrategy_QLRU});
915 f.
set({Feature::SchedStrategy_EXT, Feature::ClosedClass, Feature::SelfLoopingClass,
916 Feature::OpenClass});
917 f.
set({Feature::OpenSignal, Feature::ClosedSignal});
918 f.
set({Feature::SignalType_NEGATIVE, Feature::SignalType_CATASTROPHE});
922 f.
set(Feature::SignalType_REPLY);
923 f.
set({Feature::SignalBatchRemoval, Feature::SignalRemovalPolicy});
924 f.
set(Feature::Retrial);
926 f.
set({Feature::Balking, Feature::Reneging});
927 f.
set(Feature::LoadDependence);
931 f.
set({Feature::ClassDependence, Feature::JointDependence});
934 f.
set(Feature::GlobalDependence);
938 f.
set({Feature::MultiServer, Feature::FiniteCapacity});
973 f.
set({Feature::ClassSwitch, Feature::Delay, Feature::DelayStation, Feature::Queue});
974 f.
set({Feature::Cache, Feature::CacheClassSwitcher});
975 f.
set({Feature::Cox2, Feature::Coxian, Feature::Erlang, Feature::Exp, Feature::HyperExp});
976 f.
set({Feature::APH, Feature::Det, Feature::MAP, Feature::MMPP2, Feature::NHPP});
980 f.
set({Feature::MAPt, Feature::PHt});
982 f.
set({Feature::Gamma, Feature::Lognormal, Feature::Pareto, Feature::Uniform,
984 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer, Feature::SharedServer,
985 Feature::Buffer, Feature::Dispatcher});
986 f.
set({Feature::Server, Feature::ServiceTunnel});
987 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS});
988 f.
set({Feature::SchedStrategy_DPS, Feature::SchedStrategy_FCFS, Feature::SchedStrategy_HOL});
989 f.
set({Feature::SchedStrategy_GPS});
990 f.
set({Feature::SchedStrategy_SIRO, Feature::SchedStrategy_LCFS,
991 Feature::SchedStrategy_LCFSPR});
992 f.
set(Feature::LoadDependence);
993 f.
set({Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO});
994 f.
set(Feature::ReplacementStrategy_SFIFO);
995 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND});
996 f.
set({Feature::ClosedClass, Feature::SelfLoopingClass, Feature::Replayer});
997 f.
set({Feature::RandomSource, Feature::Sink, Feature::Source, Feature::OpenClass,
1005 f.
set({Feature::Fork, Feature::Forker, Feature::Join, Feature::Joiner,
1006 Feature::JoinPartial});
1009 f.
set(Feature::MultiServer);
1016 f.
set(Feature::FiniteCapacity);
1029 (method.size() > 4 && method.compare(0, 4,
"fld.") == 0) ? method.substr(4) : method;
1030 if (m ==
"aoi") m =
"mfq";
1031 const bool closing_family =
1032 m ==
"closing" || m ==
"statedep" || m ==
"softmin" || m ==
"tbi" || m ==
"minnormal" ||
1033 m ==
"refined" || m ==
"dae";
1038 if (!(m ==
"closing" || m ==
"minnormal" || m ==
"refined" || m ==
"dae"))
1039 f.
unset(Feature::LoadDependence);
1045 if (closing_family) {
1046 f.
unset(Feature::SchedStrategy_SIRO);
1047 f.
unset(Feature::SchedStrategy_LCFS);
1048 f.
unset(Feature::SchedStrategy_LCFSPR);
1057 if (m !=
"minnormal") f.
unset(Feature::SchedStrategy_GPS);
1061 if (m !=
"mfq") f.
unset(Feature::SchedStrategy_HOL);
1066 if (m ==
"matrix" || m ==
"pnorm" || m ==
"rmf" || m ==
"kp" || m ==
"diffusion")
1067 f.
unset(Feature::SchedStrategy_DPS);
1073 if (m ==
"diffusion" || m ==
"mfq") f.
unset(Feature::MultiServer);
1092 f.
set(Feature::Region);
1093 f.
unset(Feature::SchedStrategy_DPS);
1110 f.
set({Feature::Place, Feature::Transition, Feature::Linkage, Feature::Enabling,
1111 Feature::Inhibiting, Feature::Timing, Feature::Firing, Feature::Storage,
1112 Feature::FluidPlace});
1141 if (m ==
"diffusion" || m ==
"kp") {
1142 f.
unset(Feature::Fork);
1143 f.
unset(Feature::Forker);
1144 f.
unset(Feature::Join);
1145 f.
unset(Feature::Joiner);
1146 f.
unset(Feature::JoinPartial);
1170 if (m ==
"ggisgi" || m ==
"ggingi" || m ==
"tvms") {
1175 f.
set(Feature::Reneging);
1177 if (m ==
"ggisgi" || m ==
"ggingi" || m ==
"tvms" || m ==
"mtginf" ||
1181 f.
unset(Feature::ClosedClass);
1182 f.
unset(Feature::SelfLoopingClass);
1190 if (m ==
"refined") {
1191 f.
unset(Feature::OpenClass);
1192 f.
unset(Feature::Source);
1193 f.
unset(Feature::Sink);
1194 f.
unset(Feature::RandomSource);
1195 f.
unset(Feature::JobSink);
1202 if (m ==
"diffusion") {
1203 f.
unset(Feature::OpenClass);
1204 f.
unset(Feature::Source);
1205 f.
unset(Feature::Sink);
1206 f.
unset(Feature::RandomSource);
1207 f.
unset(Feature::JobSink);
1218 f.
unset(Feature::ClosedClass);
1219 f.
unset(Feature::SelfLoopingClass);
1220 f.
unset(Feature::Cache);
1221 f.
unset(Feature::CacheClassSwitcher);
1222 f.
unset(Feature::ClassSwitch);
1223 f.
unset(Feature::StatelessClassSwitcher);
1224 f.
unset(Feature::ReplacementStrategy_RR);
1225 f.
unset(Feature::ReplacementStrategy_FIFO);
1226 f.
unset(Feature::ReplacementStrategy_SFIFO);
1233 f.
unset(Feature::OpenClass);
1234 f.
unset(Feature::Source);
1235 f.
unset(Feature::Sink);
1236 f.
unset(Feature::RandomSource);
1237 f.
unset(Feature::JobSink);
1238 f.
unset(Feature::Cache);
1239 f.
unset(Feature::CacheClassSwitcher);
1240 f.
unset(Feature::ReplacementStrategy_RR);
1241 f.
unset(Feature::ReplacementStrategy_FIFO);
1242 f.
unset(Feature::ReplacementStrategy_SFIFO);
1274 f.
set({Feature::Sink, Feature::Source});
1275 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner});
1276 f.
set({Feature::Delay, Feature::DelayStation, Feature::Queue});
1278 f.
set({Feature::APH, Feature::Coxian, Feature::Cox2, Feature::Erlang, Feature::Exp,
1279 Feature::HyperExp, Feature::MMPP2, Feature::MAP, Feature::MMAP, Feature::MPH,
1280 Feature::DMAP, Feature::ME, Feature::RAP});
1285 f.
set({Feature::Geometric, Feature::DiscreteUniform});
1286 f.
set({Feature::Det, Feature::Gamma, Feature::Lognormal, Feature::Pareto, Feature::Uniform,
1288 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer});
1289 f.
set(Feature::ClassSwitch);
1290 f.
set({Feature::SharedServer, Feature::Buffer, Feature::Dispatcher});
1291 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::ServiceTunnel});
1292 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS, Feature::SchedStrategy_HOL});
1293 f.
set({Feature::SchedStrategy_FCFS, Feature::SchedStrategy_FCFSPRPRIO});
1294 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND});
1295 f.
set({Feature::ClosedClass, Feature::SelfLoopingClass});
1296 f.
set(Feature::OpenClass);
1302 f.
set({Feature::Retrial, Feature::BMAP, Feature::PH});
1304 f.
set(Feature::SetupDelayOff);
1310 f.
set({Feature::MultiServer, Feature::FiniteCapacity});
1324 if (method ==
"dec.mmap")
1325 for (
Feature ff : {Feature::ClosedClass, Feature::SelfLoopingClass,
1326 Feature::SchedStrategy_INF, Feature::Fork, Feature::Join,
1327 Feature::Forker, Feature::Joiner})
1330 if (method ==
"default" || method ==
"ldqbd") f.
set(Feature::LoadDependence);
1335 if (method ==
"default" || method ==
"retrial") f.
set(Feature::Reneging);
1340 if (method ==
"mna") f.
set(Feature::RoutingStrategy_RROBIN);
1346 if (method ==
"ldqbd" || method ==
"bgchain") f.
unset(Feature::FiniteCapacity);
1348 if (method ==
"sync.faster" || method ==
"sync.slower")
1349 for (
Feature ff : {Feature::SetupDelayOff, Feature::SchedStrategy_HOL,
1350 Feature::SchedStrategy_FCFSPRPRIO, Feature::Fork, Feature::Join,
1351 Feature::Forker, Feature::Joiner})
1371 f.
set({Feature::Sink, Feature::Source});
1372 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner});
1373 f.
set({Feature::Delay, Feature::DelayStation, Feature::Queue});
1374 f.
set({Feature::APH, Feature::Coxian, Feature::Erlang, Feature::Exp, Feature::HyperExp,
1375 Feature::MAP, Feature::MMPP2});
1376 f.
set({Feature::Det, Feature::Gamma, Feature::Lognormal, Feature::Pareto, Feature::Uniform,
1380 f.
set({Feature::ClassSwitch, Feature::StatelessClassSwitcher, Feature::InfiniteServer});
1381 f.
set({Feature::SharedServer, Feature::Buffer, Feature::Dispatcher});
1382 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::ServiceTunnel});
1383 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS, Feature::SchedStrategy_FCFS});
1384 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND});
1390 f.
set({Feature::ClosedClass, Feature::SelfLoopingClass, Feature::OpenClass});
1391 f.
set({Feature::OpenSignal, Feature::ClosedSignal});
1392 f.
set({Feature::SignalType_NEGATIVE, Feature::SignalType_CATASTROPHE});
1393 f.
set(Feature::SignalBatchRemoval);
1440 f.
set({Feature::Sink, Feature::Source, Feature::Queue, Feature::Delay});
1443 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner,
1444 Feature::JoinPartial});
1450 f.
set({Feature::ForkFanoutVector, Feature::ForkFanoutRandom,
1451 Feature::ForkBranchProbability});
1452 f.
set({Feature::Place, Feature::Transition, Feature::QueueingPlace});
1453 f.
set({Feature::Linkage, Feature::Enabling, Feature::Inhibiting, Feature::Timing,
1454 Feature::Firing, Feature::Storage});
1455 f.
set({Feature::Logger, Feature::LogTunnel, Feature::Buffer, Feature::Region});
1456 f.
set({Feature::Exp, Feature::Erlang, Feature::HyperExp, Feature::PH, Feature::APH,
1457 Feature::Coxian, Feature::Cox2});
1458 f.
set({Feature::MAP, Feature::DMAP, Feature::MMAP, Feature::MPH, Feature::BMAP,
1459 Feature::MMPP2, Feature::ME, Feature::RAP});
1460 f.
set({Feature::Immediate, Feature::Disabled, Feature::Replayer, Feature::Trace});
1461 f.
set({Feature::Det, Feature::Uniform, Feature::Gamma, Feature::Pareto, Feature::Weibull,
1462 Feature::Lognormal});
1466 f.
set({Feature::Geometric, Feature::Bernoulli, Feature::Binomial, Feature::Poisson});
1470 f.
set(Feature::DiscreteUniform);
1473 f.
set(Feature::BatchArrival);
1479 f.
set({Feature::NHPP, Feature::MAPt, Feature::PHt, Feature::MMAPt, Feature::MPHt});
1486 f.
set(Feature::BMMAPt);
1487 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::InfiniteServer,
1488 Feature::SharedServer, Feature::ServiceTunnel, Feature::DelayStation});
1489 f.
set({Feature::SchedStrategy_FCFS, Feature::SchedStrategy_INF, Feature::SchedStrategy_HOL,
1490 Feature::SchedStrategy_FCFSPRIO});
1491 f.
set({Feature::SchedStrategy_PS, Feature::SchedStrategy_DPS, Feature::SchedStrategy_GPS});
1492 f.
set({Feature::SchedStrategy_LCFS, Feature::SchedStrategy_LCFSPR,
1493 Feature::SchedStrategy_LCFSPI});
1494 f.
set({Feature::SchedStrategy_FCFSPR, Feature::SchedStrategy_FCFSPI,
1495 Feature::SchedStrategy_LPS, Feature::SchedStrategy_SIRO});
1496 f.
set({Feature::SchedStrategy_SJF, Feature::SchedStrategy_LJF, Feature::SchedStrategy_LEPT,
1497 Feature::SchedStrategy_SEPT});
1498 f.
set({Feature::SchedStrategy_SRPT, Feature::SchedStrategy_SRPTPRIO,
1499 Feature::SchedStrategy_PSJF, Feature::SchedStrategy_FB, Feature::SchedStrategy_LRPT});
1500 f.
set({Feature::SchedStrategy_EXT, Feature::SchedStrategy_POLLING});
1501 f.
set({Feature::SchedStrategy_PSPRIO, Feature::SchedStrategy_DPSPRIO,
1502 Feature::SchedStrategy_GPSPRIO});
1503 f.
set({Feature::SchedStrategy_LCFSPRIO, Feature::SchedStrategy_LCFSPRPRIO,
1504 Feature::SchedStrategy_LCFSPIPRIO});
1505 f.
set({Feature::SchedStrategy_FCFSPRPRIO, Feature::SchedStrategy_FCFSPIPRIO});
1506 f.
set({Feature::SchedStrategy_FSP, Feature::SchedStrategy_PAS, Feature::SchedStrategy_OI});
1507 f.
set({Feature::SchedStrategy_EDD, Feature::SchedStrategy_EDF, Feature::SchedStrategy_SETF});
1508 f.
set({Feature::Router, Feature::Dispatcher, Feature::ClassSwitch,
1509 Feature::StatelessClassSwitcher});
1510 f.
set({Feature::Cache, Feature::CacheClassSwitcher, Feature::CacheRetrieval,
1511 Feature::CacheItemSize});
1512 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND,
1513 Feature::RoutingStrategy_RROBIN, Feature::RoutingStrategy_WRROBIN,
1514 Feature::RoutingStrategy_JSQ, Feature::RoutingStrategy_SQ});
1519 f.
set(Feature::HeteroServers);
1527 f.
set(Feature::RoutingStrategy_SDR);
1528 f.
set({Feature::OpenClass, Feature::ClosedClass, Feature::SelfLoopingClass});
1529 f.
set({Feature::OpenSignal, Feature::ClosedSignal, Feature::SignalType_NEGATIVE,
1530 Feature::SignalType_REPLY, Feature::SignalType_CATASTROPHE,
1531 Feature::SignalBatchRemoval, Feature::SignalRemovalPolicy});
1532 f.
set({Feature::LoadDependence, Feature::ClassDependence, Feature::JointDependence,
1533 Feature::SetupDelayOff});
1540 f.
set(Feature::GlobalDependence);
1547 f.
set(Feature::ServerParallelism);
1548 f.
set({Feature::Balking, Feature::Reneging, Feature::Retrial});
1551 f.
set(Feature::Breakdown);
1552 f.
set({Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO,
1553 Feature::ReplacementStrategy_SFIFO, Feature::ReplacementStrategy_LRU,
1554 Feature::ReplacementStrategy_HLRU, Feature::ReplacementStrategy_CLIMB,
1555 Feature::ReplacementStrategy_QLRU});
1559 f.
set({Feature::MultiServer, Feature::FiniteCapacity});
1602 f.
set({Feature::Sink, Feature::Source, Feature::Queue, Feature::Delay, Feature::DelayStation});
1603 f.
set({Feature::Router, Feature::ClassSwitch, Feature::StatelessClassSwitcher,
1604 Feature::Dispatcher});
1606 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner,
1607 Feature::JoinPartial});
1611 f.
set({Feature::ForkFanoutVector, Feature::ForkFanoutRandom,
1612 Feature::ForkBranchProbability});
1613 f.
set({Feature::Logger, Feature::LogTunnel, Feature::Buffer, Feature::Region,
1615 f.
set({Feature::Enabling, Feature::Inhibiting, Feature::Timing, Feature::Firing,
1616 Feature::Storage, Feature::Place, Feature::Transition});
1617 f.
set({Feature::Server, Feature::JobSink, Feature::RandomSource, Feature::InfiniteServer,
1618 Feature::SharedServer, Feature::ServiceTunnel});
1625 f.
set(Feature::HeteroServers);
1626 f.
set({Feature::Exp, Feature::Erlang, Feature::HyperExp, Feature::PH, Feature::APH,
1627 Feature::Coxian, Feature::Cox2});
1628 f.
set({Feature::Det, Feature::Gamma, Feature::Lognormal, Feature::Pareto, Feature::Weibull,
1630 f.
set({Feature::MAP, Feature::MMPP2, Feature::Replayer, Feature::Trace, Feature::Immediate,
1631 Feature::Disabled});
1632 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_FCFS, Feature::SchedStrategy_PS,
1633 Feature::SchedStrategy_DPS, Feature::SchedStrategy_GPS, Feature::SchedStrategy_LPS});
1634 f.
set({Feature::SchedStrategy_SIRO, Feature::SchedStrategy_HOL,
1635 Feature::SchedStrategy_FCFSPRIO});
1636 f.
set({Feature::SchedStrategy_PSPRIO, Feature::SchedStrategy_DPSPRIO,
1637 Feature::SchedStrategy_GPSPRIO});
1638 f.
set({Feature::SchedStrategy_LCFS, Feature::SchedStrategy_LCFSPR,
1639 Feature::SchedStrategy_LCFSPI, Feature::SchedStrategy_LCFSPRIO,
1640 Feature::SchedStrategy_LCFSPRPRIO, Feature::SchedStrategy_LCFSPIPRIO});
1641 f.
set({Feature::SchedStrategy_FCFSPR, Feature::SchedStrategy_FCFSPI,
1642 Feature::SchedStrategy_FCFSPRPRIO, Feature::SchedStrategy_FCFSPIPRIO});
1646 f.
set(Feature::ServerParallelism);
1647 f.
set({Feature::SchedStrategy_SEPT, Feature::SchedStrategy_LEPT, Feature::SchedStrategy_SJF,
1648 Feature::SchedStrategy_LJF});
1649 f.
set({Feature::SchedStrategy_SRPT, Feature::SchedStrategy_SRPTPRIO,
1650 Feature::SchedStrategy_POLLING, Feature::SchedStrategy_EXT});
1654 f.
set({Feature::SchedStrategy_EDD, Feature::SchedStrategy_EDF});
1655 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND,
1656 Feature::RoutingStrategy_RROBIN, Feature::RoutingStrategy_WRROBIN,
1657 Feature::RoutingStrategy_JSQ});
1659 f.
set({Feature::OpenClass, Feature::ClosedClass, Feature::SelfLoopingClass});
1660 f.
set({Feature::Cache, Feature::CacheClassSwitcher});
1661 f.
set({Feature::ReplacementStrategy_RR, Feature::ReplacementStrategy_FIFO,
1662 Feature::ReplacementStrategy_SFIFO, Feature::ReplacementStrategy_LRU});
1663 f.
set({Feature::SetupDelayOff, Feature::Reneging, Feature::Balking});
1669 f.
set(Feature::Retrial);
1675 f.
set({Feature::MultiServer, Feature::FiniteCapacity});
1681 f.
set(Feature::LoadDependence);
1698 if (method.compare(0, 4,
"jmva") == 0) {
1700 {Feature::Cache, Feature::CacheClassSwitcher, Feature::ReplacementStrategy_RR,
1701 Feature::ReplacementStrategy_FIFO, Feature::ReplacementStrategy_SFIFO,
1702 Feature::ReplacementStrategy_LRU,
1704 Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner,
1705 Feature::JoinPartial, Feature::ForkFanoutVector, Feature::ForkFanoutRandom,
1706 Feature::ForkBranchProbability,
1708 Feature::Place, Feature::Transition, Feature::Enabling, Feature::Inhibiting,
1709 Feature::Timing, Feature::Firing, Feature::Storage, Feature::Region,
1712 Feature::Reneging, Feature::Balking, Feature::Retrial,
1714 Feature::FiniteCapacity,
1716 Feature::SetupDelayOff, Feature::ServerParallelism, Feature::HeteroServers,
1721 Feature::SchedStrategy_DPS, Feature::SchedStrategy_GPS, Feature::SchedStrategy_HOL,
1722 Feature::SchedStrategy_FCFSPRIO, Feature::SchedStrategy_PSPRIO,
1723 Feature::SchedStrategy_DPSPRIO, Feature::SchedStrategy_GPSPRIO,
1724 Feature::SchedStrategy_LCFSPI, Feature::SchedStrategy_LCFSPIPRIO,
1725 Feature::SchedStrategy_LCFSPRIO, Feature::SchedStrategy_LCFSPRPRIO,
1726 Feature::SchedStrategy_FCFSPR, Feature::SchedStrategy_FCFSPI,
1727 Feature::SchedStrategy_FCFSPRPRIO, Feature::SchedStrategy_FCFSPIPRIO,
1728 Feature::SchedStrategy_SEPT, Feature::SchedStrategy_LEPT,
1729 Feature::SchedStrategy_SJF, Feature::SchedStrategy_LJF,
1730 Feature::SchedStrategy_SRPT, Feature::SchedStrategy_SRPTPRIO,
1731 Feature::SchedStrategy_LPS, Feature::SchedStrategy_POLLING,
1732 Feature::SchedStrategy_EDD, Feature::SchedStrategy_EDF,
1735 Feature::RoutingStrategy_RROBIN, Feature::RoutingStrategy_WRROBIN,
1736 Feature::RoutingStrategy_JSQ, Feature::RoutingStrategy_SQ})
1742 {Feature::OpenClass, Feature::LoadDependence, Feature::MultiServer})
1816 f.
set({Feature::ClassSwitch, Feature::Delay, Feature::DelayStation, Feature::Queue,
1817 Feature::Sink, Feature::Source, Feature::Router});
1818 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer, Feature::SharedServer,
1819 Feature::Buffer, Feature::Dispatcher, Feature::Server, Feature::JobSink,
1820 Feature::RandomSource, Feature::ServiceTunnel});
1823 f.
set({Feature::ClosedClass, Feature::SelfLoopingClass, Feature::OpenClass});
1824 f.
set({Feature::APH, Feature::Coxian, Feature::Cox2, Feature::Erlang, Feature::Exp,
1825 Feature::HyperExp, Feature::PH});
1826 f.
set({Feature::Det, Feature::Lognormal, Feature::Pareto, Feature::Uniform,
1830 f.
set({Feature::MAP, Feature::MMPP2});
1831 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS, Feature::SchedStrategy_FCFS,
1832 Feature::SchedStrategy_LCFSPR});
1833 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND});
1842 f.
set({Feature::Place, Feature::Transition, Feature::Linkage, Feature::Enabling,
1843 Feature::Inhibiting, Feature::Timing, Feature::Firing, Feature::Storage});
1873 if (fam ==
"bpt" || fam ==
"bgt" || fam ==
"snc") {
1874 f.
unset(Feature::ClosedClass);
1875 f.
unset(Feature::Delay);
1876 f.
unset(Feature::DelayStation);
1877 f.
unset(Feature::InfiniteServer);
1878 f.
unset(Feature::SchedStrategy_INF);
1897 f.
unset(Feature::APH);
1898 f.
unset(Feature::Coxian);
1899 f.
unset(Feature::Cox2);
1900 f.
unset(Feature::Erlang);
1901 f.
unset(Feature::HyperExp);
1902 f.
unset(Feature::PH);
1903 f.
unset(Feature::Det);
1904 f.
unset(Feature::Lognormal);
1905 f.
unset(Feature::Pareto);
1906 f.
unset(Feature::Uniform);
1907 f.
unset(Feature::Weibull);
1909 }
else if (fam ==
"sb" || fam ==
"harel" || fam ==
"sib" || fam ==
"scb" || fam ==
"lr") {
1910 f.
unset(Feature::Delay);
1911 f.
unset(Feature::DelayStation);
1912 f.
unset(Feature::InfiniteServer);
1913 f.
unset(Feature::SchedStrategy_INF);
1929 if (fam ==
"mapamva") {
1930 f.
unset(Feature::Delay);
1931 f.
unset(Feature::DelayStation);
1932 f.
unset(Feature::SchedStrategy_INF);
1933 }
else if (fam !=
"qrf" && fam !=
"snc") {
1934 f.
unset(Feature::MAP);
1935 f.
unset(Feature::MMPP2);
1945 if (fam ==
"ssd" || fam ==
"ldac" || fam ==
"auto" || resolved ==
"qrf.mmi.ld" ||
1946 resolved ==
"qrf.mmi.linear")
1947 f.
set(Feature::MultiServer);
1953 if (resolved.compare(0, 7,
"qrf.bas") == 0 || resolved.compare(0, 8,
"qrf.rsrd") == 0)
1954 f.
set(Feature::FiniteCapacity);
1984 f.
set({Feature::Sink, Feature::Source, Feature::Router, Feature::ClassSwitch,
1985 Feature::Delay, Feature::DelayStation, Feature::Queue});
1986 f.
set({Feature::Fork, Feature::Join, Feature::Forker, Feature::Joiner});
1987 f.
set({Feature::Logger, Feature::LogTunnel});
1988 f.
set({Feature::Coxian, Feature::Cox2, Feature::APH, Feature::Erlang, Feature::Exp,
1989 Feature::HyperExp, Feature::PH});
1990 f.
set({Feature::Det, Feature::Gamma, Feature::Lognormal, Feature::Pareto, Feature::Uniform,
1992 f.
set({Feature::MAP, Feature::MMPP2, Feature::Replayer, Feature::Trace});
1993 f.
set({Feature::StatelessClassSwitcher, Feature::InfiniteServer, Feature::SharedServer,
1994 Feature::Buffer, Feature::Dispatcher, Feature::Server, Feature::JobSink,
1995 Feature::RandomSource, Feature::ServiceTunnel, Feature::Linkage});
1996 f.
set({Feature::Enabling, Feature::Timing, Feature::Firing, Feature::Storage,
1997 Feature::Place, Feature::Transition});
1998 f.
set({Feature::SchedStrategy_INF, Feature::SchedStrategy_PS, Feature::SchedStrategy_DPS,
1999 Feature::SchedStrategy_FCFS, Feature::SchedStrategy_GPS, Feature::SchedStrategy_SIRO,
2000 Feature::SchedStrategy_HOL, Feature::SchedStrategy_LCFS,
2001 Feature::SchedStrategy_LCFSPR});
2002 f.
set({Feature::SchedStrategy_SEPT, Feature::SchedStrategy_LEPT, Feature::SchedStrategy_SJF,
2003 Feature::SchedStrategy_LJF, Feature::SchedStrategy_EXT});
2004 f.
set({Feature::RoutingStrategy_PROB, Feature::RoutingStrategy_RAND,
2005 Feature::RoutingStrategy_RROBIN, Feature::RoutingStrategy_WRROBIN,
2006 Feature::RoutingStrategy_SQ});
2007 f.
set({Feature::ClosedClass, Feature::OpenClass});
2013 f.
set(Feature::MultiServer);