Design by functional synonyms and antonyms: a structured creative technique based on functional analysis