Petri net (PN) synthesis can avoid the state exploration problem, which is of exponential complexity, by guaranteeing the correctness in the Petri net while incrementally expanding the net. The conventional Petri net synthesis approaches, in general, suffer the drawback of only being able to synthesize a few classes of nets. However, the knitting technique, originally proposed by Chao [1-4], can synthesize Petri nets beyond assymetricchoice nets. In addition, one major advantage of the knitting technique is that the resultant Petri net is guaranteed to be live, bounded, and reversible -the well-behaved properties. Therefore, the cumbersome reanalysis and modification procedures that are inevitable for the conventional Petri net synthesis methods can be avoided. Most current synthesis techniques cannot handle systems with shared resources. Zhou et al. [5] presented the conditions for a PN containing Sequential Mutual Exclusion (SME) to be live, bounded, and deadlock-free. The major motivation of this work is to generalize Zho et al.'s pioneering work [5] and to extend the knitting technique to construction of classes of PNs that involve synchronization and shared resources according to the synthesis rules. In addition, the knitting technique developed prior to this work concentrated on the structural relationships among the pseudo-processes only and was not related to the marking. This paper is the first work to consider marking in the PN synthesis with the knitting technique.