Design Patterns for Complex Systems ===================================