1. A computing system comprising: at least one processor; and one or more storage medium having stored computer-executable instructions which, when executed by the at least one processor, implement a method of defining a layout of diagram elements, the method comprising: a computer system, which includes a processor, receiving user input, the user input comprising one or more declarative statements specifying conditional patterns based on attributes of diagram elements, the conditional patterns defining layouts of diagram elements, wherein implementation of the layouts is dependent on conditions defined in the declarative statements and one or more values of one or more of the attributes; the computer system organizing the conditional patterns as a pattern definition, wherein organizing the conditional patterns as a pattern definition comprises at least one of: combining conditional patterns together to create a higher order pattern with a previously defined pattern being included in a new pattern as a definition field, or breaking down a conditional pattern into the two or more patterns which are both applied to a same situation, but which define different aspects of a diagram; and the computer system storing the pattern definition on a computer readable medium, wherein the pattern definition is stored such that the pattern definition is retrievable by an application program that uses the pattern definition to evaluate the conditional patterns using values of attributes of one or more diagram elements, the application further being configured to display representations of the diagram elements according to the layouts when conditions for implementing the layouts are satisfied.