as stated in a comment on the original blog, work on things like these are done using rules engines ( based off rete algorithm http://en.wikipedia.org/wiki/Rete_algorithm )
Here is a example of monitoring for a fire in a room, and how one handles it -- similar concepts can be applied to infrastructure components as well ) -- http://blog.athico.com/2009/03/drools-quick-start-stateful-k...
Unfortunately, the author is pretty vague about exactly what pieces of infrastructure they imagine defining relationships between, and what triggers they might use. On the smaller side, they mention 'I changed a config, I must restart nginx' (micro level dependency between nginx and its config) and 'something changed in my app tier, need to tell my load balancer' (macro-level dependency between a service and its front-end). What kind of dependencies would be useful to define between services in a service oriented architecture, which are usually designed so as to minimize dependencies?