Batch control is characterized by procedural control that is realized according to operating procedures to accomplish tasks. However, operating procedure synthesis takes considerable time and effort as the complexity of a batch process increases. To solve the operating procedure synthesis problem, a modeling technique is needed to represent the concurrent dynamics of a batch process. This paper aims at developing a method to synthesize operating procedures and procedural controllers for batch processes. For this purpose, it first views a batch control system as a discrete event system and next uses hierarchical Petri nets to represent information about process, plant, and schedule. It then presents a method to synthesize operating procedures. It also discusses the verification of synthesized operating procedures and last presents a method to synthesize procedural controllers.