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
© Copyright 2025 Paperzz