Upcoming SlideShare
×

# DHHT - Modeling beyond plain graphs

503
-1

Published on

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
503
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
3
0
Likes
0
Embeds 0
No embeds

No notes for slide

### DHHT - Modeling beyond plain graphs

1. 1. Distributed Hierarchical Hyper-TGraphs :Modeling beyond plain graphs Daniel Bildhauer, Jürgen Ebert Institute for Software Technology University of Koblenz-Landau, Germany dbildh@uni-koblenz.de jgralab.uni-koblenz.de
2. 2. jgralab.uni-koblenz.de Overview• Motivation ➡ Why?• DHHTGraphs ➡ What?• Details ➡ How?• Implementation ➡ Does it work?• Conclusion ➡ Current state and what comes next? 2
3. 3. jgralab.uni-koblenz.deWhy?
4. 4. jgralab.uni-koblenz.de 4
5. 5. jgralab.uni-koblenz.deSimple graph representation• Symbols are represented by nodes• Lines connecting symbols are represented by edges• But: Some symbols are relation-like and some lines belong together 5
6. 6. jgralab.uni-koblenz.deIssues of graph representation• Models contain ad modeling proﬁts from: • N-ary relationships • Abstraction and reﬁnement • Distribution• Graphs are a suitable representation of models• Above concepts are not supported by plain graphs• Workarounds & existing solutions not sufﬁcient 6
7. 7. jgralab.uni-koblenz.deWorkarounds & existing solutions • Workarounds cause extra effort to handle graphs • Relation-like vertices simulate n-ary relations • Marking of elements simulates abstraction levels • Existing extended graph concepts are not sufﬁcient • Many variants of hyperedges, hierarchy and distribution, but no integrated solution • Graph model to restricted or to complex • Not fully implemented/no convenient API 7
8. 8. jgralab.uni-koblenz.deWhat?
9. 9. jgralab.uni-koblenz.deDemands to a modern graph framework• Seamless integration of distribution, hierarchy and hyperedges with established graph concepts• Precise and well-deﬁned graph formalism• Ability to specify domain-speciﬁc aspects & constraints by graph schemas• Efﬁcient implementation to handle large graphs• Seamless integration in modern software by API 9
10. 10. jgralab.uni-koblenz.de Proposal: DHHTGraphs• Distribution of graphs over networks• Hierarchical structuring and reﬁnement • Reﬁnement of elements by nested graphs • Reﬁnement of graphs by visibility layers• Hyperedges with labeled directed ends• Typing and attribution of vertices and edges• Ordering of incidences at vertices and edges• Compatibel to existing concepts as far as possible 10
11. 11. jgralab.uni-koblenz.deHow?
12. 12. jgralab.uni-koblenz.de Hypergraphs v2: Feature• Typing, attribution and v1: BusinessProcess name=“pay order“ name=“payment method“ ordering of vertices and edges [1] [1]• Connection by labeled, i1: realizedProcess {1} i3: realizedFeature directed & ordered incidences {2} traversable in both directions e1: FeatureTraceability Link• Equality and duality of vertices id=4711 {3} and edges {4} i2: usedRule i4: target• Vertices represent entities, [1] [1] edges their relationships v3: TransformationRule v4: Activity name=“pay order“ 12
13. 13. jgralab.uni-koblenz.deMetamodeling Hypergraphs• Modeling language grUML TransformationRule source ModelElement (graph UML) name: String 0..* name: String 0..1 0..* 0..* usedRule• Vertex- and Edge classes deﬁne TraceabilityLink 0..* target types and attributes #vertices per edge 0..* id: int #edges per vertex• Incidence classes deﬁne Activity labeled connections Feature• Specialization of vertex-, realizedProcess subsets source 0..* TraceabilityLink 0..* realizedFeature subsets source edge-, and incidence classes 0..* 0..* ModelElement ModelElement• Multiplicities and incidence BusinessProcess Feature inheritance for vertex- and edge classes 13
14. 14. jgralab.uni-koblenz.de Hierarchical graphs v6: TransformationRule• Element reﬁnement by tree-like nesting of graphs in elements i5: usedRule i7: usedRule • Connections across boundaries e1: e2: • Border of nested graphs are of same kind as nested elements FeatureTraceability Link FeatureTraceability Link• Graph reﬁnement by visibility layers i8: target i9: target for elements v4: Activity• Reﬁnements are DHHTGraphs on name=“pay order“ their own v5: Activity name=“enter credit card details“ 14
15. 15. jgralab.uni-koblenz.de Metamodeling hierarchy <<nested>>• Compositions deﬁne possible TraceabilityLink nesting relationships id: int target • Tree-like on instance level ModelElement constraints • Stereotyped compositions {kappa=0..4} deﬁne edge nesting • 0..* ActivityNode Compositions also deﬁne edge classes (compatibility to partOf classical graph technology) 0..1• Allowed visibility indicated by Activity Branch constraints (kappa) 15
16. 16. jgralab.uni-koblenz.de Distributed graphs v2: Feature• Partitioning and distribution v1: BusinessProcess name=“pay order“ name=“payment method“ across several stations• Treatment of local and global realizedProcess realizedFeature graphs in the same way e1:• Compatibility to hierarchy FeatureTraceability Link id=4711• Distributed graphs are full usedRule target DHHTGraphs with support of distribution and hierarchy• No domain speciﬁc features, v3: TransformationRule v4: Activity name=“pay order“ thus no metamodeling 16
17. 17. jgralab.uni-koblenz.deDoes it work?
18. 18. jgralab.uni-koblenz.de Implementation• Extension of Java library JGraLab for plain TGraphs• Typing, attribution... realized by native Java constructs• Extended symmetric incidence lists as datastructure• Distribution by Java Remote Method Invocation, efﬁcient access by element-ids identify machine• In-memory storage • 1GB: 106 vertices, 106 edges, 5x106 incidences (creation 7s) • Breadth ﬁrst search on that graph in 2,5s on 2,3GHz 18