/// <summary>
        /// Return AutomataBDD of the process which is composed of some choices
        /// </summary>
        /// <param name="choices">List of AutomataBDD of choices</param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static AutomataBDD InternalChoice(List <AutomataBDD> choices, Model model)
        {
            AutomataBDD result = AutomataBDD.InternalChoice(choices, model);

            ResolvedChoiceEncodeTick(choices, model, result);

            //
            return(result);
        }
Пример #2
0
        /// <summary>
        ///
        /// </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.InternalChoice(processAutomataBDDs, encoder.model));
        }