The Structure of Pattern Languages by Nikos A. Salingaros