Applicability of Patterns to Architecting Complex Systems: Making Implicit Knowledge Explicit
The human mind perceives patterns without conscious thought. Today patterns are used in a number of engineering disciplines such as software engineering, requirements engineering and mechanical engineering, to name a few.However, the value and use of patterns in architecting and engineering complex systems has had very limited exploration. The purpose of this research is to focus on understanding the motivations for using patterns in architecting and engineering complex systems, and to understand whether patterns for this purpose have unique requirements. Developing the notion and utility of complex patterns for the systems engineering community, this research develops a framework for their documentation, classification, and management. This approach enables complex pattern use and reuse, evolution and improvement. By capturing intrinsic systems engineering knowledge and expertise, patterns allow the application of this knowledge by less experienced architects and systems engineers. The systems engineering community now has a vehicle to build a maturing source of patterns that can be leveraged to improve engineering effectiveness and efficiency.