Supervisory controller design to enforce boundedness, reversibility, and liveness in timed Petri nets with firing durations is considered. It is assumed that both controllable and uncontrollable transitions may be present and more than one transitions may fire simultaneously. The approach of stretching is used to represent the state of the system. Algorithms are presented to design a controller to enforce boundedness, reversibility, and liveness simultaneously. © 2009 IFAC.