/// <summary> /// Return AutomataBDD of the process which is composed of some choices /// tick transition could not resolve the choice /// </summary> /// <param name="choices">List of AutomataBDD of choices</param> /// <param name="tauEvent">Event' = Tau Event Index</param> /// <param name="model"></param> /// <returns></returns> public static AutomataBDD ExternalChoice(List <AutomataBDD> choices, Model model) { AutomataBDD result = AutomataBDD.ExternalChoice(choices, model); ExternalChoiceEncodeTick(choices, model, result); // return(result); }
/// <summary> /// Could not support GenerateSymbolicLTS because if tau transition happen, choice is not resolve. Diffcult to track current state /// </summary> /// <param name="encoder"></param> /// <returns></returns> public override AutomataBDD EncodeComposition(BDDEncoder encoder) { List <Process> newnewListProcess = Processes; if (Processes == null) { newnewListProcess = IndexedProcessDefinition.GetIndexedProcesses(new Dictionary <string, Expression>()); } List <AutomataBDD> processAutomataBDDs = new List <AutomataBDD>(); foreach (Process process in newnewListProcess) { processAutomataBDDs.Add(process.Encode(encoder)); } // return(AutomataBDD.ExternalChoice(processAutomataBDDs, encoder.model)); }