The authors propose a new approach called UPPL, which uses procedural programming languages, such as Lisp and C, to explicitly describe the plans of controlling production systems. As the key idea of implementing this, the authors view production systems as a collection of concurrent rule processes, each of which continuously monitors the global database, and executes actions when its conditions match database entries. To bridge control plans and rule processes, the authors introduce the Procedural Control Macros (PCMs) to procedural languages. The PCMs are designed based on the communicating sequential processes' (CSPs') communication commands developed by C.A.R. Hoare (1978). Since PCMs include nondeterministic properties, the execution order of rules cannot be completely determined in advance, but is guided by the PCMs at run-time. The PCMs are functionally simple and easy to implement but they can effectively control production systems when combined with the original control facilities of procedural languages.