ATM Available Bit Rate (ABR) service is intended to offer low cell loss for non-real-time data sources that can respond to closed-loop flow control. ATM Forum Traffic Management Specification Version 4.0 defines the various parameters used in the ABR flow control, as well as the source, destination, and switch behaviors. However, the switch designers and service providers are free to choose the method of congestion control to implement and the ABR Quality of Service (QoS) objective to offer. This paper addresses the interaction among the flow control algorithm, the switch resource requirements, and the resulting QoS characteristics. In this paper we propose and evaluate an Explicit Rate (ER) algorithm. The objective of this algorithm is to maintain the total buffer occupancy of all ABR connections to be close to a given threshold. By maintaining a non-zero queue, the ABR service can achieve a high utilization. The switch periodically determines its desirable ER value, based on the available capacity, the ABR buffer occupancy, and the number of active ABR sources. We develop analyses that relate ABR resources to QoS objectives for this algorithm. The first approach is a deterministic, conservative analysis. It provides formulas for determining the ABR buffer and capacity requirements that can achieve zero buffer overflow. The second analysis determines an upper bound on the buffer overflow probability when the above requirements are not met. The result is most effective when the number of active sources is a small fraction of the total ABR connections. Numerical examples show that by slightly relaxing the loss constraint, resource requirements can be significantly reduced.