See PatternSystem, I think. It's related to, but not the same as, a PatternLanguage; see PatternLanguageTaxonomy.