We describe a decision support system called Mounties that is designed for managing applications and resources using rule-based
constraints in scalable mission-critical clustering environments. Mounties consists of four active service components: (1)
a repository of resource proxy objects for modeling and manipulating the cluster configuration; (2) an event notification
mechanism for monitoring and controlling interdependent and distributed resources; (3) a rule evaluation and decision processing
mechanism; and (4) a global optimization service for providing decision making capabilities. The focus of this paper is on
the design of the first three services that together connect and coordinate the distributed resources with the decision making
component. We discuss the overall architecture and design of these services. We describe in some detail the asynchronous,
concurrent, and pipelined nature of their interactions and the fault tolerance designed in the system. We also describe a
general programming paradigm that we have followed in designing these services.