The Diagram Interchange (DI) package enables interchange of graphical information that language users have control over, such as position of nodes and line routing points. Language specifications specialize elements of DI to define diagram interchange elements for a language. DiagramElement is the abstract super type of all elements that can be nested in a diagram. a reference to a depicted model element, which can be any MOF-based element a reference to the diagram element that directly owns this diagram element. The reference is set for all elements except Plane, which is the root diagram element. a collection of diagram elements that are directly owned by this diagram element. a reference to an optional locally-owned style for this diagram element. a reference to an optional shared style element for this diagram element. PlaneElement is an element that is laid out relative to its nesting plane's origin. the collection of labels owned by this plane element. Edge is a plane element that renders as a polyline, connecting a source plane element to a target plane element, and is positioned relative to the origin of the plane. the edge's source plane element, i.e. where the edge starts from. the edge's target plane element, i.e. where the edge ends at. a list of two or more points relative to the origin of the nesting plane that specifies the connected line segments of the edge. Diagram is a container of a graph of diagram elements that is rooted with a plane. a reference to an owned plane, which is the root of containment for all diagram elements in the diagram. the name of the diagram. the documentation of the diagram. the resolution of the diagram expressed in user units per inch. a collection of styles owned by the diagram and referenced by its nested diagram elements. Shape is a plane element with given bounds that is laid out relative to the origin of the plane. the bounds of the shape relative to the origin of its nesting plane. Plane is a diagram element with an origin point and infinite bounds in the x-y coordinate system. It owns a collection of plane elements that are laid out relative to its origin point. an ordered collection of plane elements owned by this plane with the order defining the z-order of the plane element relative to each other. a reference to the diagram that directly owns this plane. Label is a diagram element that is owned by a plane element and is positioned with separate bounds that are relative to the origin of that plane. the bounds (x, y, width and height) of the label relative to the origin of its containing plane. Style contains formatting properties that affect the appearance or style of diagram elements. a collection of edges that reference this diagram element as a target. a collection of edges that reference this diagram element as a source. DiagramCollection is a container for an ordered collection of related diagrams. an ordered collection of related diagrams a collection of styles owned by the diagram collection and referenced by its nested diagram elements.