Design Patterns for Flexible Manufacturing