Ejemplo n.º 1
0
        public override AutomataBDD EncodeComposition(BDDEncoder encoder)
        {
            List <Process> newnewListProcess = Processes;

            if (Processes == null)
            {
                newnewListProcess = IndexedProcessDefinition.GetIndexedProcesses(new Dictionary <string, Expression>());
            }

            List <AutomataBDD> processBDDs = new List <AutomataBDD>();
            List <CUDDNode>    alphabets   = new List <CUDDNode>();

            foreach (Process process in newnewListProcess)
            {
                processBDDs.Add(process.Encode(encoder));
                alphabets.Add(encoder.GetAlphabetInBDD(process.GetAlphabets(new Dictionary <string, string>())));
            }

            //
            return(AutomataBDD.Parallel(processBDDs, alphabets, encoder.model));
        }