Higraphs: Visualising Information

Higraphs: Visualising Information
• complex
• non-quantitative, structural
• topological, not geometrical
• Euler
– Venn diagrams (Jordan curve: inside/outside):
enclosure, intersection
– graphs (nodes, edges: binary relation); hypergraphs
David Harel. On Visual Formalisms.
Communications of the ACM. Volume 31, No. 5. 1988. pp. 514 - 530.
Hans Vangheluwe
[email protected]
Higraphs
1/22
Venn diagrams, Euler circles
Q
P
B
A
R
• topological notions (syntax):
enclosure, exclusion, intersection
• Used to represent (denote) mathematical set operations:
union, difference, intersection
Hans Vangheluwe
[email protected]
Higraphs
2/22
Hypergraphs
a
c
b
d
e f
h
g
i
a hypergraph
a graph
• topological notion (syntax): connectedness
• Used to represent (denote) relations between sets.
• Hyperedges: non longer binary relation (⊆ X × X):
⊆ 2X (undirected), ⊆ 2X × 2X (directed).
Hans Vangheluwe
[email protected]
Higraphs
3/22
Higraphs: combining graphs and Venn diagrams
• sets + cartesian product
• hypergraphs
Hans Vangheluwe
[email protected]
Higraphs
4/22
Blobs: set inclusion, not membership
A
D
E
Hans Vangheluwe
[email protected]
Higraphs
5/22
Unique Blobs (atomic sets, no intersection)
A
C
D
W
B
X
P
Q
V
T
K
R
U
N
L
O
F
S
M
P
E
• atomic blobs are identifiable sets
• other blobs are union of enclosed sets (e.g.,
K = L∪M ∪N ∪O∪P)
Hans Vangheluwe
[email protected]
Higraphs
6/22
• empty space meaningless, identify intersection (e.g., N = K ∩ W )
Hans Vangheluwe
[email protected]
Higraphs
7/22
Unordered Cartesian Product:
Orthogonal Components
A
C
D
W
B
X
Y
P
Q
V
T
K
R
U
N
L
O
F
S
M
G
P
H
E
K = G × H = H × G = (L ∪ M ) × (N ∪ O ∪ P )
Hans Vangheluwe
[email protected]
Higraphs
8/22
Meaningless syntactic constructs
C
A
D
B
Hans Vangheluwe
[email protected]
Higraphs
9/22
Simple Higraph
blobs
orthogonal
components
A
B
C
D
E
K
L
F
G
J
M
H
I
Hans Vangheluwe
[email protected]
Higraphs
10/22
Induced Acyclic Graph (blob/orth comp
alternation)
0
1
0
1
0
g1
0
01
1
0
1
a 111111
0
1
1111
0000
000000
0
1
0000
1111
000000
111111
0
1
0000
1111
000000
111111
0
1
0000
1111
000000
111111
0
1
0000
1111
000000
111111
0
1
0000
1111
000000
111111
0
1
0000
1111
000000
111111
1
1111
111111
0
0000
000000
0
1
0000
1111
000000
111111
0
1
0000
1111
000000
111111
00000000000
11111111111
0
1
00
11
0
1
0
1
000000
111111
00
11
0000
1111
0
1
00000000000
11111111111
0
1
00
11
0
0
1
000000
111111
00
11
0000
1111
01
1
00000000000
11111111111
0
1
000000
111111
00
11
0000
1111
0
1
11111111111
00000000000
0
1
000000
111111
00
11
0000
1111
0
1
00000000000
11111111111
0
1
000000
111111
00
11
0000
1111
0
1
00000000000
11111111111
0
1
000000
111111
00
11
0000
1111
0
1
00000000000
11111111111
0
1
000000
111111
00
11
0000
1111
0
1
00000000000
11111111111
1
111111
11
1111
1
0
000000
00
0000
0
11111111111
00000000000
0
1
000000
111111
00
11
0000
1111
0
1
00000000000
11111111111
0
1
000000
111111
00
11
00001
1111
01
1
00000000000
11111111111
0
1
00
11
00
11
0
0
c
b
0
1
00
11
00
11
0
1
0j
1
0
1
0
1
00
11
000
111
0
1
0
1
00
11
000
111
0
1
0
1
00
11
000
111
i
h
0
1
0
1
00
11
000
111
0
1
0
1
00
11
000
111
0
1
0
1
00
11
000
111
0
1
0
1
00
11
000
111
0
1
0
1
00
11
000
111
00
11
0
1
0
1
00
11
0
1
0
1
00
11
000
00
11
0
1
0 111
1
00
11
00
11
0
1
0
1
00
11
0000
1111
0
1
000
111
0
1
00
11
000
111
0000
1111
0
1
000
111
0
1
00
11
000
111
0000
1111
0 111
1
000
0
1
00
11
000
111
0000
1111
0
1
000
111
0
1
00
11
000
111
0000
1111
0 111
1
000
0
1
00
11
000
111
0000
1111
0
1
000
111
0
1
00
11
000
111
0000
1111
0
1
000
111
0
1
00
11
000
111
0000
1111
0
1
000
111
0
1
00
11
000
111
00
11
00
00
11
0
1
0
00
11
0000
1111
0 11
1
000
111
0
1
001
11
000
111
00
11
00
11
00
11
0
1
0
1
00
11
00 11
11
0011
00
0 1
1
0
00
11
d
Hans Vangheluwe
e f
k l
[email protected]
OR level (blob level)
AND level (orthogonal component level)
OR level
AND level
OR level
m
Higraphs
11/22
Adding (hyper) edges
A
C
D
W
B
X
Y
P
Q
K
R
N
U
L
O
V
F
T
S
M
P
E
• hyperedges
• attach to contour of any blob
• inter-level possible (e.g., denote global variables binding)
Hans Vangheluwe
[email protected]
Higraphs
12/22
Clique Example
B
C
A
E
Hans Vangheluwe
D
[email protected]
Higraphs
13/22
Clique: fully connected semantics
A
B
D
Hans Vangheluwe
[email protected]
C
E
Higraphs
14/22
Entity Relationship Diagram (is-a)
DATES
EMPLOYEES
WORKS
FOR
IS
A
PAID ON
IS
A
SALARIES
SECRETARIES
CAN
FLY
AIRCRAFT
PILOTS
Hans Vangheluwe
[email protected]
Higraphs
15/22
Higraph version of E-R diagram
dates
works
for
months
...
paid
on
employees
years
secretaries
...
salaries
others
arrived
in
pilots
equipment
can
fly
aircraft
nuts
bolts
Hans Vangheluwe
[email protected]
Higraphs
16/22
Extending the E-R diagram
works
for
employees
men
women
secretaries
paid
on
others
pilots
married
Hans Vangheluwe
[email protected]
can
fly
Higraphs
17/22
Formally (syntax)
A higraph H is a quadruple
H = (B, E, σ, π)
B: finite set of all unique blobs
E: set of hyperedges
⊆ 2X ,
⊆ X × X,
⊆ 2X × 2 X
The subblob (direct descendants) function σ
σ : B → 2B
[
σ 0 (x) = {x}, σ i+1 =
σ(y), σ + (x) =
+∞
[
i=1
y∈σ i (x)
Hans Vangheluwe
[email protected]
σ i (x)
Higraphs
18/22
Subblobs+ cycle free
x 6∈ σ + (x)
The partitioning function π associates equivalence relationship with x
π : B → 2B×B
Equivalence classes πi are orthogonal components of x
π1 (x), π2 (x), . . . , πkx (x)
kx = 1 means a single orthogonal component (no partitioning)
Blobs in different orthogonal components of x are disjoint
∀y, z ∈ σ(x) : σ + (y) ∩ σ + (z) = ∅
unless in the same equivalence class
Hans Vangheluwe
[email protected]
Higraphs
19/22
Simple Higraph
blobs
orthogonal
components
A
B
C
D
E
K
L
F
G
J
M
H
I
Hans Vangheluwe
[email protected]
Higraphs
20/22
Induced Orthogonal Components
B = {A, B, C, D, E, F, C, G, H, I, J, K, L, M }
E = {(I, H), (B, J), (L, C)}
ρ(A) = {B, C, H, J}, ρ(G) = {H, I}, ρ(B) = {D, E}, ρ(C) = {E, F },
ρ(J) = {K, L, M }
ρ(D) = ρ(E) = ρ(F ) = ρ(H) = ρ(I) = ρ(K) = ρ(L) = ρ(M ) = ∅
π(J) = {(K, K), (K, L), (L, L), (L, K), (M, M )}
Induces equivalence classes π1 (J) = {K, L} and π2 (J) = {M }, . . .
These are the orthogonal components
Hans Vangheluwe
[email protected]
Higraphs
21/22
Higraph applications (add specific meaning)
1. E-R diagrams
2. data-flow diagrams (activity diagrams)
edges represent (flow of) data
3. inheritance
4. Statecharts
Hans Vangheluwe
[email protected]
Higraphs
22/22