Describir: Using a utility computing framework to develop utility systems