public void DoOnDecide(EventArgsAllow args)
 {
     if (OnDecide != null)
     {
         OnDecide(this, args);
     }
 }
 public bool Eval()
 {
     EventArgsAllow args = new EventArgsAllow(false);
     DoOnDecide(args);
     return args.Allow;
 }
 public void decision_Receiving_Idle(IAutomataTransitionConditionFinite condition, EventArgsAllow args)
 {
     //Not measuring anything
     //Second step of cycle
     args.Allow = (BufferReceive.Count == 0);
 }
 public void decision_Idle_Sending(IAutomataTransitionConditionFinite condition, EventArgsAllow args)
 {
     args.Allow = (BufferSend.Count > 0);
 }
 public static void TransitionConditionRandom(IAutomataTransitionConditionFinite condition, EventArgsAllow args)
 {
     args.Allow = RandomnessFactory.GetSingleBinary();
 }
 public static void TransitionConditionNever(IAutomataTransitionConditionFinite condition, EventArgsAllow args)
 {
     args.Allow = false;
 }
 public static void TransitionConditionAlways(IAutomataTransitionConditionFinite condition, EventArgsAllow args)
 {
     args.Allow = true;
 }