Input: the preprocessing results Output: the output of Map in the first cycle of MapReduce for variable violation Input: key=offset, value=tuple Map (Object, Data_Text, Data_Text, Data_Text, Data-Text) FOR each cfd r = (R:X→Y, tp) DO IF tuple[X] = tp[X] and tuple[Y] ≠tp[Y] THEN tuple[Y] = tp[Y] FOR each cfd r = (R:X→Y,Tp) DO IF fixFlag THEN output_key := (cfdseq, ptseq, propseq,1) output_value := (offset, tuple) FOR tuples not match cfd with varialbles DO output_key := (cfdseq, ptseq, propseq, 0) output_value := (offset, tuple) |