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.Diagram→Diagram.Arbitrary ID

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

Formalization:
Link.Diagram→Diagram.Arbitrary ID

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

Formalization:
Link.Diagram→Shape.Diagram
Link.Source Shape→Shape.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.Diagram→Link.Diagram
Binary Link.Link→Link.Link ID
Binary Link.Source Shape→Link.Source Shape
Child Link.Diagram→Link.Diagram
Child Link.Link→Link.Link ID
Child Link.Source Shape→Link.Source Shape
Unary Link.Diagram→Link.Diagram
Unary Link.Link→Link.Link ID
Unary Link.Source Shape→Link.Source Shape

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

Formalization:
Binary Link.Diagram→Shape.Diagram
Binary Link.Target Shape→Shape.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.Diagram→Unary Link.Diagram
Parent Link.Unary Link→Unary Link.Link
Simple Unary Link.Diagram→Unary Link.Diagram
Simple Unary Link.Unary Link→Unary Link.Link
Spur Link.Diagram→Unary Link.Diagram
Spur Link.Unary Link→Unary Link.Link

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

Formalization:
Spur Link.Diagram→Binary Link.Diagram
Spur Link.Unary Link→Binary Link.Link

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

Formalization:
Child Link.Diagram→Parent Link.Diagram
Child Link.Link→Parent Link.Unary Link

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

Formalization:
Point.Diagram→Diagram.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.Diagram→Link.Diagram
Way Point.Link→Link.Link ID
Way Point.Source Shape→Link.Source Shape
Way Point.Diagram→Point.Diagram
Way Point.Point→Point.Arbitrary ID

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

Formalization:
Unary Link.Diagram→Point.Diagram
Unary Link.Target Point→Point.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.