A posteriori defensive programming: an annotation toolkit for DoS-resistant component-based architectures