We study the design of distributed control for discrete-event systems (DES) in the framework of supervisory control theory. We view a DES as comprised of a group of agents, acting independently except for specifications on global (group) behavior. The central problem investigated is how to synthesize local controllers for individual agents such that the resultant controlled behavior is identical with that achieved by global supervision. In the case of small-scale DES, a supervisor localization algorithm is developed that solves the problem in a top-down fashion: first, compute a global supervisor, then decompose it to local controllers while preserving the global controlled behavior. In the case of large-scale DES where owing to state explosion a global supervisor might not be feasibly computable, a decomposition-aggregation solution procedure is developed that combines the supervisor localization algorithm with an efficient modular control theory.