Diagramming

Part I: Graphical Model

Graphical Model

Part II: Objects and Attributes

1. DIAGRAM (D)

Diagram ( Arbitrary ID, Width, Height, Font )

Identifiers:
Arbitrary ID

1.1. Diagram.Arbitrary ID

1.2. Diagram.Width

Data Type: Non-Negative Integer

1.3. Diagram.Height

Data Type: Non-Negative Integer

1.4. Diagram.Font

Data Type: Font

2. SHAPE (S)

Shape ( Diagram, Name, X, Y, Width, Height, Preferred Size Usage )

Identifiers:
Diagram + Name

2.1. Shape.Diagram (R)

References:
Diagram.Arbitrary ID (across R1)

2.2. Shape.Name

Data Type: String

2.3. Shape.X

Data Type: Integer

2.4. Shape.Y

Data Type: Integer

2.5. Shape.Width

Data Type: Non-Negative Integer

2.6. Shape.Height

Data Type: Non-Negative Integer

2.7. Shape.Preferred Size Usage

Data Type: Preferred Size Usage

3. LINK (L)

Link ( Diagram, Link ID, Source Shape )

Identifiers:
Diagram + Link ID + Source Shape

3.1. Link.Diagram (R)

References:
Diagram.Arbitrary ID (across R2)
Shape.Diagram (across R3)

3.2. Link.Link ID

Data Type: String

3.3. Link.Source Shape (R)

References:
Shape.Name (across R3)

4. BINARY LINK (BL)

Binary Link ( Diagram, Link, Source Shape, Target Shape, Label Anchor Flipped )

Identifiers:
Diagram + Link

4.1. Binary Link.Diagram (R)

References:
Link.Diagram (across R4)
Shape.Diagram (across R5)

4.2. Binary Link.Link (R)

References:
Link.Link ID (across R4)

4.3. Binary Link.Source Shape (R)

References:
Link.Source Shape (across R4)

4.4. Binary Link.Target Shape (R)

References:
Shape.Name (across R5)

4.5. Binary Link.Label Anchor Flipped

Data Type: Boolean

5. UNARY LINK (UL)

Unary Link ( Diagram, Link, Source Shape, Target Point )

Identifiers:
Diagram + Link

5.1. Unary Link.Diagram (R)

References:
Link.Diagram (across R4)
Point.Diagram (across R11)

5.2. Unary Link.Link (R)

References:
Link.Link ID (across R4)

5.3. Unary Link.Source Shape (R)

References:
Link.Source Shape (across R4)

5.4. Unary Link.Target Point (R)

References:
Point.Arbitrary ID (across R11)

6. SIMPLE UNARY LINK (SUL)

Simple Unary Link ( Diagram, Unary Link )

Identifiers:
Diagram + Unary Link

6.1. Simple Unary Link.Diagram (R)

References:
Unary Link.Diagram (across R6)

6.2. Simple Unary Link.Unary Link (R)

References:
Unary Link.Link (across R6)

7. SPUR LINK (SL)

Spur Link ( Diagram, Unary Link )

Identifiers:
Diagram + Unary Link

7.1. Spur Link.Diagram (R)

References:
Unary Link.Diagram (across R6)
Binary Link.Diagram (across R7)

7.2. Spur Link.Unary Link (R)

References:
Unary Link.Link (across R6)
Binary Link.Link (across R7)

8. PARENT LINK (PL)

Parent Link ( Diagram, Unary Link )

Identifiers:
Diagram + Unary Link

8.1. Parent Link.Diagram (R)

References:
Unary Link.Diagram (across R6)

8.2. Parent Link.Unary Link (R)

References:
Unary Link.Link (across R6)

9. CHILD LINK (CL)

Child Link ( Diagram, Link, Source Shape )

Identifiers:
Diagram + Link + Source Shape

9.1. Child Link.Diagram (R)

References:
Link.Diagram (across R4)
Parent Link.Diagram (across R8)

9.2. Child Link.Link (R)

References:
Link.Link ID (across R4)
Parent Link.Unary Link (across R8)

9.3. Child Link.Source Shape (R)

References:
Link.Source Shape (across R4)

10. POINT (P)

Point ( Diagram, Arbitrary ID, X, Y )

Identifiers:
Diagram + Arbitrary ID

10.1. Point.Diagram (R)

References:
Diagram.Arbitrary ID (across R9)

10.2. Point.Arbitrary ID

10.3. Point.X

Data Type: Integer

10.4. Point.Y

Data Type: Integer

11. WAY POINT (WP)

Way Point ( Diagram, Link, Source Shape, Order, Point )

Identifiers:
Diagram + Link + Source Shape + Order

11.1. Way Point.Diagram (R)

References:
Link.Diagram (across R10)
Point.Diagram (across R10)

11.2. Way Point.Link (R)

References:
Link.Link ID (across R10)

11.3. Way Point.Source Shape (R)

References:
Link.Source Shape (across R10)

11.4. Way Point.Order

Data Type: Ordinal ID

11.5. Way Point.Point (R)

References:
Point.Arbitrary ID (across R10)

Part III: Relationships

R1.Diagram CONTAINS Shape (1:Mc)
Shape IS PART OF Diagram

Formalization:
Shape.DiagramDiagram.Arbitrary ID

R2.Diagram CONTAINS Link (1:Mc)
Link IS PART OF Diagram

Formalization:
Link.DiagramDiagram.Arbitrary ID

R3.Link HAS SOURCE Shape (Mc:1)
Shape IS SOURCE SHAPE FOR Link

Formalization:
Link.DiagramShape.Diagram
Link.Source ShapeShape.Name

R4.Link IS A (SUPERTYPE OF) Binary Link
Link IS A (SUPERTYPE OF) Child Link
Link IS A (SUPERTYPE OF) Unary Link

Binary Link IS A (SUBTYPE OF) Link
Child Link IS A (SUBTYPE OF) Link
Unary Link IS A (SUBTYPE OF) Link

Formalization:
Binary Link.DiagramLink.Diagram
Binary Link.LinkLink.Link ID
Binary Link.Source ShapeLink.Source Shape
Child Link.DiagramLink.Diagram
Child Link.LinkLink.Link ID
Child Link.Source ShapeLink.Source Shape
Unary Link.DiagramLink.Diagram
Unary Link.LinkLink.Link ID
Unary Link.Source ShapeLink.Source Shape

R5.Binary Link HAS TARGET Shape (Mc:1)
Shape IS TARGET SHAPE FOR Binary Link

Formalization:
Binary Link.DiagramShape.Diagram
Binary Link.Target ShapeShape.Name

R6.Unary Link IS A (SUPERTYPE OF) Parent Link
Unary Link IS A (SUPERTYPE OF) Simple Unary Link
Unary Link IS A (SUPERTYPE OF) Spur Link

Parent Link IS A (SUBTYPE OF) Unary Link
Simple Unary Link IS A (SUBTYPE OF) Unary Link
Spur Link IS A (SUBTYPE OF) Unary Link

Formalization:
Parent Link.DiagramUnary Link.Diagram
Parent Link.Unary LinkUnary Link.Link
Simple Unary Link.DiagramUnary Link.Diagram
Simple Unary Link.Unary LinkUnary Link.Link
Spur Link.DiagramUnary Link.Diagram
Spur Link.Unary LinkUnary Link.Link

R7.Spur Link IS ATTACHED TO Binary Link (1c:1)
Binary Link HAS ATTACHED Spur Link

Formalization:
Spur Link.DiagramBinary Link.Diagram
Spur Link.Unary LinkBinary Link.Link

R8.Child Link IS CHILD OF Parent Link (Mc:1)
Parent Link IS PARENT OF Child Link

Formalization:
Child Link.DiagramParent Link.Diagram
Child Link.LinkParent Link.Unary Link

R9.Diagram CONTAINS Point (1:Mc)
Point IS PART OF Diagram

Formalization:
Point.DiagramDiagram.Arbitrary ID

R10.Link HAS WAY Point (1c:Mc)
Point IS WAY POINT FOR Link
Way Point ASSOCIATES Link AND Point 1-(1c:Mc)

Formalization:
Way Point.DiagramLink.Diagram
Way Point.LinkLink.Link ID
Way Point.Source ShapeLink.Source Shape
Way Point.DiagramPoint.Diagram
Way Point.PointPoint.Arbitrary ID

R11.Unary Link HAS TARGET Point (1c:1)
Point IS TARGET POINT FOR Unary Link

Formalization:
Unary Link.DiagramPoint.Diagram
Unary Link.Target PointPoint.Arbitrary ID

Part IV: Data Types

1. Arbitrary ID

Predefined type for arbitrary identifiers.

2. Boolean

Predefined type for boolean values.

3. Font

4. Integer

Predefined type for integers.

5. Non-Negative Integer

6. Ordinal ID

Predefined type for ordinal identifiers.

7. Preferred Size Usage

8. String

Predefined type for character strings.