/// <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); }