Formal Specification Language For Design Patterns. - Taibi, Taufik (2003)
Patterns are abstractions generated from valuable experiences of developers in solving problems repeatedly encountered within certain contexts. Since patterns have been extensively tested and used in many developed efforts, reusing them may yield better quality software within a reduced time frame.