The computer as software component: A mechanism for developing and testing resource management software