The development of a Flexible Manufacturing System (FMS) controller is a very complicated task, both in the aspects of hardware and software. The design and verification of the controller is crucial for the development of FMS prior to putting it into test and use. This paper presents a knowledge-based Petri net model for FMS and its application for design and verification of an FMS controller. The modelling of FMS is implemented through incorporating Petri net techniques with general problem-solving strategies in AI and knowledge-based system techniques. The places and transitions and their relations of the knowledge Petri nets are annotated, based on an object oriented representation and programming techniques, from which the knowledge Petri nets can be formulated. A template can be first defined for a knowledge Petri net model, and then the model for FMS individuals is established in the form of instances of the template. The design and verification of an FMS controller is based on the checking for the control parts of FMS with the help of temporal relationships between the specification and physical operations of the FMS controller. The approach makes it simple to express FMS controls, and procedural language can be used for knowledge and information processing. It is thus possible to make a computer programme generate a Petri net for a given FMS, which is envisaged as necessary for the design and verification of an FMS controller. The developed knowledge Petri net system for FMS is internetenabled and implemented through Java. It can be used for modelling and simulation of FMS, the design and verification of an FMS controller both as a standalone application and a www browser applet on the internet. Case studies are provided for the modelling and analysis of a FMS, and the design and verification of the FMS controller, to show the effectiveness over development with conventional methods and systems.