Patent ID: 8717383

Claim:
A method comprising: determining, by a device, that an operation on a first layout instance will cause the first layout instance to overlap with a second layout instance in a same plane of a drawing space, wherein the first layout instance comprises at least one instance of a first diagram element associated with a first unique area in the drawing space and the second layout instance comprises at least one instance of a second diagram element associated with a second unique area in the drawing space; automatically pushing away, by the device, one of the first layout instance and the second layout instance to obviate all overlaps; detecting, by the device, selection of a new diagram element instance to be added to the drawing space; retrieving, by the device, diagram element notations for the new diagram element instance, the diagram element notations comprising a diagram element policy that defines conditions for customizing properties of the new diagram element instance relative to a drawing context for the drawing space, wherein the drawing context comprises at least one of a type of drawing being drawn in the drawing space and other drawing elements already in the drawing, other drawing elements in the drawing that the new diagram element instance is connected; responsive to determining that the diagram element policy is applicable to at least one of a current user creating the drawing and the type of drawing, by the device, a customized diagram element instance in the drawing based on the conditions defined by the diagram element policy, wherein the conditions comprise at least one of the type of drawing, other diagram elements existing in the drawing in the drawing space, and user interaction; and responsive to determining that the diagram element policy is not applicable to at least one of the current user creating the drawing and the type of drawing, by the device, a default diagram element instance in the drawing independent of the conditions defined by the diagram element policy.