Despite the increased availability of affordable ATM hardware in recent years, the scientific research community has often found it difficult to engage in much needed basic research in the areas of ATM protocol design and network performance optimization. We believe that one major cause for this has been the absence of affordable, publicly available source-level implementations of the ATM switch protocol stack. The PNNI Routing and Simulation Toolkit (PRouST) attempts to remedy this. PRouST is a freely distributed, extensible environment for research and development in ATM switch signaling and routing. PRouST includes a complete source-level release of the ATM switch PNNI protocol stack, conformant to version 1.0 of the ATM Forum specification . It is our hope that PRouST will serve as the starting point for bold new initiatives in research and development for ATM technologies. In this paper, we describe the design of PRouST and the features it supports.