Пример #1
0
        /// <summary>
        /// Return AutomataBDD of Sequence process
        /// </summary>
        /// <param name="P1">AutomataBDD of the first process</param>
        /// <param name="P2">AutomataBDD of the second process</param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static AutomataBDD Sequence(AutomataBDD P1, AutomataBDD P2, Model model)
        {
            AutomataBDD result = new AutomataBDD();

            List <string> varNames = AutomataBDD.SequenceSetVariable(P1, P2, model, result);

            AutomataBDD.SequenceSetInit(varNames[0], P1, P2, result);

            CUDD.Ref(P1.transitionBDD);
            AutomataBDD.SequenceEncodeTransition(varNames[0], P1, P2, model, result);
            SequenceEncodeTick(varNames[0], P1, P2, model, result);
            //
            return(result);
        }