SlideShare a Scribd company logo
1 of 24
Download to read offline
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
jgralab.uni-koblenz.de

              Overview

• Motivation       ➡ Why?
• DHHTGraphs       ➡ What?
• Details          ➡ How?
• Implementation   ➡ Does it work?
• Conclusion       ➡ Current state and
                     what comes next?

                                               2
jgralab.uni-koblenz.de




Why?
jgralab.uni-koblenz.de




                         4
jgralab.uni-koblenz.de


Simple 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
jgralab.uni-koblenz.de

Issues of graph representation
• Models contain ad modeling profits from:
 • N-ary relationships
 • Abstraction and refinement
 • Distribution
• Graphs are a suitable representation of models
• Above concepts are not supported by plain graphs
• Workarounds & existing solutions not sufficient
                                                     6
jgralab.uni-koblenz.de

Workarounds & 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 sufficient
  •   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
jgralab.uni-koblenz.de




What?
jgralab.uni-koblenz.de

Demands to a modern graph
      framework
• Seamless integration of distribution, hierarchy and
  hyperedges with established graph concepts
• Precise and well-defined graph formalism
• Ability to specify domain-specific aspects &
  constraints by graph schemas
• Efficient implementation to handle large graphs
• Seamless integration in modern software by API
                                                        9
jgralab.uni-koblenz.de

    Proposal: DHHTGraphs
• Distribution of graphs over networks
• Hierarchical structuring and refinement
 • Refinement of elements by nested graphs
 • Refinement 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
jgralab.uni-koblenz.de




How?
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
jgralab.uni-koblenz.de


Metamodeling Hypergraphs
•   Modeling language grUML                TransformationRule                  source              ModelElement

    (graph UML)                            name: String                                  0..* name: String
                                                0..1                           0..*                0..*
                                                       usedRule

•   Vertex- and Edge classes define                                    TraceabilityLink
                                                                                            0..*            target

    types and attributes         #vertices per edge
                                                               0..*        id: int

                                            #edges per vertex

•   Incidence classes define                                                                               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
jgralab.uni-koblenz.de


              Hierarchical graphs
                                                         v6: TransformationRule

•   Element refinement 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 refinement by visibility layers                     i8: target              i9: target
    for elements
                                                           v4: Activity

•   Refinements are DHHTGraphs on                        name=“pay order“

    their own                                                   v5: Activity
                                                       name=“enter credit card details“
                                                                                                  14
jgralab.uni-koblenz.de


        Metamodeling hierarchy
                                                                <<nested>>


•   Compositions define possible                                TraceabilityLink
    nesting relationships                                           id: int

                                                                        target

    •   Tree-like on instance level
                                                               ModelElement
                                                               constraints

    •   Stereotyped compositions                                {kappa=0..4}

        define edge nesting

    •
                                                        0..*    ActivityNode
        Compositions also define
        edge classes (compatibility to         partOf
        classical graph technology)
                                                0..1

•   Allowed visibility indicated by                Activity                       Branch
    constraints (kappa)
                                                                                           15
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 specific features,     v3: TransformationRule              v4: Activity
                                                                     name=“pay order“
    thus no metamodeling
                                                                                           16
jgralab.uni-koblenz.de




Does it work?
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,
  efficient access by element-ids identify machine
• In-memory storage
  •   1GB: 106 vertices, 106 edges, 5x106 incidences (creation 7s)

  •   Breadth first search on that graph in 2,5s on 2,3GHz
                                                                 18
jgralab.uni-koblenz.de
                                                                     TraceabilityLink
                                                                          id: int


          API                                  ModelElement                                            ModelElement
                                          BusinessProcess                                             Feature
                                                       0..*                                    0..*
                                             process                     Feature                      feature
                                      subsets source                 TraceabilityLink                 subsets source
                                                              0..*                      0..*


•   Object-oriented access to all
                                               via KM3-like                     DSL tg
    DHHTGraph properties
                                  public interface TraceabilityLink extends Edge {


•   Equal treatment of complete       public int get_id();

    graphs and all subgraphs          public void set_id(int _id);

                                      public TraceabilityLink getNextTraceabilityLink();


•   Seamless integration in           public TraceabilityLink_source getFirst_source();

    applications by generated         public TraceabilityLink_rule getFirst_rule();
                                  }
    schema-specific API
    (interface+implementation)    public interface FeatureTraceabilityLink extends TraceabilityLink {

                                      public FeatureTraceabilityLink getNextFeatureTraceabilityLink();

                                      public FeatureTraceabilityLink_process getFirst_process();
                                  	
                                      public FeatureTraceabilityLink_activity getFirst_activity();
                                  }
                                                                                                                  19
jgralab.uni-koblenz.de




 Current state &
what comes next?
jgralab.uni-koblenz.de

       Main design decisions

• Vertices and edges are dual
 • Vertices represent entities, edges their relations
• Distribution and hierarchy are compatible
 • Subgraphs are DHHTGraphs on their own
• Nested vertices and edges have only vertices or
  edges on their border, respectively
• Seamless from definition to implementation
                                                        21
jgralab.uni-koblenz.de

      The future: Querying
         DHHTGraphs
• Based on existing TGraph query language GReQL
  from process:V{Process}
  with process (-->{FeatureTraceabilityLink_process}
               <--{TraceabiliyLink_rule})+
                 & {TransformationRule @
                    thisVertex.name=“MyRule“}
  report process -->{FeatureTraceabilityLink} end

                                                   22
jgralab.uni-koblenz.de

               Conclusion
• Seamless realization of
 • Hyperedges with labeled ends
 • Nesting of graphs in elements
 • Abstraction levels by visibility layers
 • Distribution
• Based on formal mathematical definition
• Metamodeling of domain-specific aspects
• Efficient implementation & convenient APIs
• Available soon at jgralab.uni-koblenz.de under GPL
                                                       23
jgralab.uni-koblenz.de




Thanks for your
  attention!
Any questions?

More Related Content

Viewers also liked

Farm Subsidy Transparency
Farm Subsidy TransparencyFarm Subsidy Transparency
Farm Subsidy Transparencyjackthur
 
Jack Thurston: Agra Europe Outlook
Jack Thurston: Agra Europe OutlookJack Thurston: Agra Europe Outlook
Jack Thurston: Agra Europe Outlookjackthur
 
Gray Routes Company Profile
Gray Routes Company ProfileGray Routes Company Profile
Gray Routes Company ProfileSoubhagya Sahoo
 
ECAWA Keynote
ECAWA KeynoteECAWA Keynote
ECAWA Keynotemrrobbo
 
Tbfs uc commercial presentation
Tbfs uc commercial presentationTbfs uc commercial presentation
Tbfs uc commercial presentationraj638
 
Bankruptcy Information
Bankruptcy InformationBankruptcy Information
Bankruptcy Informationcole collins
 
E-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ Γυμνασίου
E-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ ΓυμνασίουE-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ Γυμνασίου
E-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ ΓυμνασίουLiana Lignou
 
Comparative study and non comparative study
Comparative study and non comparative studyComparative study and non comparative study
Comparative study and non comparative studyAbdullah al-kharusi
 
Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008
Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008
Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008Eugenio Agnello
 

Viewers also liked (20)

Software evaluation
Software evaluationSoftware evaluation
Software evaluation
 
Satellite Videoconferencing
Satellite VideoconferencingSatellite Videoconferencing
Satellite Videoconferencing
 
Farm Subsidy Transparency
Farm Subsidy TransparencyFarm Subsidy Transparency
Farm Subsidy Transparency
 
Jack Thurston: Agra Europe Outlook
Jack Thurston: Agra Europe OutlookJack Thurston: Agra Europe Outlook
Jack Thurston: Agra Europe Outlook
 
Cloud a Km. 0
Cloud a Km. 0Cloud a Km. 0
Cloud a Km. 0
 
A Ri Zona Powerpoint
A Ri Zona PowerpointA Ri Zona Powerpoint
A Ri Zona Powerpoint
 
Gray Routes Company Profile
Gray Routes Company ProfileGray Routes Company Profile
Gray Routes Company Profile
 
ECAWA Keynote
ECAWA KeynoteECAWA Keynote
ECAWA Keynote
 
Tbfs uc commercial presentation
Tbfs uc commercial presentationTbfs uc commercial presentation
Tbfs uc commercial presentation
 
My project show
My project showMy project show
My project show
 
Bankruptcy Information
Bankruptcy InformationBankruptcy Information
Bankruptcy Information
 
J query
J queryJ query
J query
 
WeConnect
WeConnectWeConnect
WeConnect
 
Dex
DexDex
Dex
 
E-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ Γυμνασίου
E-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ ΓυμνασίουE-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ Γυμνασίου
E-learning: Ενίσχυση & Κινητοποίηση των μαθητών στα Μαθηματικά Β΄ Γυμνασίου
 
Parámetros
ParámetrosParámetros
Parámetros
 
Nase Zoo
Nase ZooNase Zoo
Nase Zoo
 
Comparative study and non comparative study
Comparative study and non comparative studyComparative study and non comparative study
Comparative study and non comparative study
 
25 Novembre09
25 Novembre0925 Novembre09
25 Novembre09
 
Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008
Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008
Verifica Di Strutture In Acciaio. Nuove Norme Tecniche 2008
 

Similar to DHHT - Modeling beyond plain graphs

1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real WorldAchim Friedland
 
Esoteric LINQ and Structural Madness
Esoteric LINQ and Structural MadnessEsoteric LINQ and Structural Madness
Esoteric LINQ and Structural MadnessChris Eargle
 
10266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 201010266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 2010bestip
 
D3 : Data driven documents with Data visualization principles .
D3 : Data driven documents with Data visualization principles .D3 : Data driven documents with Data visualization principles .
D3 : Data driven documents with Data visualization principles .Moahmed Sweelam
 
Erjang - A journey into Erlang-land
Erjang - A journey into Erlang-landErjang - A journey into Erlang-land
Erjang - A journey into Erlang-landKresten Krab Thorup
 
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 20072009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007Marc Smith
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Nilesh Panchal
 
Marco Mancuso - Data Context Interaction
Marco Mancuso - Data Context InteractionMarco Mancuso - Data Context Interaction
Marco Mancuso - Data Context InteractioncosenzaLab
 
Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...
Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...
Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...Agile Lietuva
 
CeedMath & CeedGL, Let's talk 3D...
CeedMath & CeedGL, Let's talk 3D...CeedMath & CeedGL, Let's talk 3D...
CeedMath & CeedGL, Let's talk 3D...rsebbe
 
Mobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big PictureMobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big PictureReza Rahimi
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updatesVinay H G
 
Can we predict dependencies using domain information?
Can we predict dependencies using domain information?Can we predict dependencies using domain information?
Can we predict dependencies using domain information?amiraryani
 
NoSQL overview #phptostart turin 11.07.2011
NoSQL overview #phptostart turin 11.07.2011NoSQL overview #phptostart turin 11.07.2011
NoSQL overview #phptostart turin 11.07.2011David Funaro
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel Alliance
 
MS.NET Training
MS.NET TrainingMS.NET Training
MS.NET TrainingDeccansoft
 
Software Development: Beyond Training wheels
Software Development: Beyond Training wheelsSoftware Development: Beyond Training wheels
Software Development: Beyond Training wheelsNaveenkumar Muguda
 
MathWorks Interview Lecture
MathWorks Interview LectureMathWorks Interview Lecture
MathWorks Interview LectureJohn Yates
 

Similar to DHHT - Modeling beyond plain graphs (20)

1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World
 
Esoteric LINQ and Structural Madness
Esoteric LINQ and Structural MadnessEsoteric LINQ and Structural Madness
Esoteric LINQ and Structural Madness
 
10266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 201010266 developing data access solutions with microsoft visual studio 2010
10266 developing data access solutions with microsoft visual studio 2010
 
D3 : Data driven documents with Data visualization principles .
D3 : Data driven documents with Data visualization principles .D3 : Data driven documents with Data visualization principles .
D3 : Data driven documents with Data visualization principles .
 
Erjang - A journey into Erlang-land
Erjang - A journey into Erlang-landErjang - A journey into Erlang-land
Erjang - A journey into Erlang-land
 
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 20072009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
2009 - Node XL v.84+ - Social Media Network Visualization Tools For Excel 2007
 
Android IPC Mechanism
Android IPC MechanismAndroid IPC Mechanism
Android IPC Mechanism
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
 
Marco Mancuso - Data Context Interaction
Marco Mancuso - Data Context InteractionMarco Mancuso - Data Context Interaction
Marco Mancuso - Data Context Interaction
 
Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...
Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...
Darius Šilingas and Rokas Bartkevicius: Agile Modeling: from Anti-Patterns to...
 
CeedMath & CeedGL, Let's talk 3D...
CeedMath & CeedGL, Let's talk 3D...CeedMath & CeedGL, Let's talk 3D...
CeedMath & CeedGL, Let's talk 3D...
 
Mobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big PictureMobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big Picture
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
 
C Languagel Classroom Training
C Languagel Classroom TrainingC Languagel Classroom Training
C Languagel Classroom Training
 
Can we predict dependencies using domain information?
Can we predict dependencies using domain information?Can we predict dependencies using domain information?
Can we predict dependencies using domain information?
 
NoSQL overview #phptostart turin 11.07.2011
NoSQL overview #phptostart turin 11.07.2011NoSQL overview #phptostart turin 11.07.2011
NoSQL overview #phptostart turin 11.07.2011
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component Model
 
MS.NET Training
MS.NET TrainingMS.NET Training
MS.NET Training
 
Software Development: Beyond Training wheels
Software Development: Beyond Training wheelsSoftware Development: Beyond Training wheels
Software Development: Beyond Training wheels
 
MathWorks Interview Lecture
MathWorks Interview LectureMathWorks Interview Lecture
MathWorks Interview Lecture
 

More from University of New South Wales (10)

Declarative analysis of noisy information networks
Declarative analysis of noisy information networksDeclarative analysis of noisy information networks
Declarative analysis of noisy information networks
 
InfiniteGraph
InfiniteGraphInfiniteGraph
InfiniteGraph
 
Gremlin
Gremlin Gremlin
Gremlin
 
Ontological Conjunctive Query Answering over Large Knowledge Bases
Ontological Conjunctive Query Answering over Large Knowledge BasesOntological Conjunctive Query Answering over Large Knowledge Bases
Ontological Conjunctive Query Answering over Large Knowledge Bases
 
Key-Key-Value Stores for Efficiently Processing Graph Data in the Cloud
Key-Key-Value Stores for Efficiently Processing Graph Data in the CloudKey-Key-Value Stores for Efficiently Processing Graph Data in the Cloud
Key-Key-Value Stores for Efficiently Processing Graph Data in the Cloud
 
Allegograph
AllegographAllegograph
Allegograph
 
Neo4j
Neo4jNeo4j
Neo4j
 
Dependable Cardinality Forecast for XQuery
Dependable Cardinality Forecast for XQueryDependable Cardinality Forecast for XQuery
Dependable Cardinality Forecast for XQuery
 
GraphREL: A Relational Graph Query Processor
GraphREL: A Relational Graph Query ProcessorGraphREL: A Relational Graph Query Processor
GraphREL: A Relational Graph Query Processor
 
XML Compression Benchmark
XML Compression BenchmarkXML Compression Benchmark
XML Compression Benchmark
 

DHHT - Modeling beyond plain graphs

  • 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. jgralab.uni-koblenz.de Overview • Motivation ➡ Why? • DHHTGraphs ➡ What? • Details ➡ How? • Implementation ➡ Does it work? • Conclusion ➡ Current state and what comes next? 2
  • 5. jgralab.uni-koblenz.de Simple 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. jgralab.uni-koblenz.de Issues of graph representation • Models contain ad modeling profits from: • N-ary relationships • Abstraction and refinement • Distribution • Graphs are a suitable representation of models • Above concepts are not supported by plain graphs • Workarounds & existing solutions not sufficient 6
  • 7. jgralab.uni-koblenz.de Workarounds & 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 sufficient • 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
  • 9. jgralab.uni-koblenz.de Demands to a modern graph framework • Seamless integration of distribution, hierarchy and hyperedges with established graph concepts • Precise and well-defined graph formalism • Ability to specify domain-specific aspects & constraints by graph schemas • Efficient implementation to handle large graphs • Seamless integration in modern software by API 9
  • 10. jgralab.uni-koblenz.de Proposal: DHHTGraphs • Distribution of graphs over networks • Hierarchical structuring and refinement • Refinement of elements by nested graphs • Refinement 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
  • 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. jgralab.uni-koblenz.de Metamodeling Hypergraphs • Modeling language grUML TransformationRule source ModelElement (graph UML) name: String 0..* name: String 0..1 0..* 0..* usedRule • Vertex- and Edge classes define TraceabilityLink 0..* target types and attributes #vertices per edge 0..* id: int #edges per vertex • Incidence classes define 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. jgralab.uni-koblenz.de Hierarchical graphs v6: TransformationRule • Element refinement 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 refinement by visibility layers i8: target i9: target for elements v4: Activity • Refinements are DHHTGraphs on name=“pay order“ their own v5: Activity name=“enter credit card details“ 14
  • 15. jgralab.uni-koblenz.de Metamodeling hierarchy <<nested>> • Compositions define possible TraceabilityLink nesting relationships id: int target • Tree-like on instance level ModelElement constraints • Stereotyped compositions {kappa=0..4} define edge nesting • 0..* ActivityNode Compositions also define edge classes (compatibility to partOf classical graph technology) 0..1 • Allowed visibility indicated by Activity Branch constraints (kappa) 15
  • 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 specific features, v3: TransformationRule v4: Activity name=“pay order“ thus no metamodeling 16
  • 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, efficient access by element-ids identify machine • In-memory storage • 1GB: 106 vertices, 106 edges, 5x106 incidences (creation 7s) • Breadth first search on that graph in 2,5s on 2,3GHz 18
  • 19. jgralab.uni-koblenz.de TraceabilityLink id: int API ModelElement ModelElement BusinessProcess Feature 0..* 0..* process Feature feature subsets source TraceabilityLink subsets source 0..* 0..* • Object-oriented access to all via KM3-like DSL tg DHHTGraph properties public interface TraceabilityLink extends Edge { • Equal treatment of complete public int get_id(); graphs and all subgraphs public void set_id(int _id); public TraceabilityLink getNextTraceabilityLink(); • Seamless integration in public TraceabilityLink_source getFirst_source(); applications by generated public TraceabilityLink_rule getFirst_rule(); } schema-specific API (interface+implementation) public interface FeatureTraceabilityLink extends TraceabilityLink { public FeatureTraceabilityLink getNextFeatureTraceabilityLink(); public FeatureTraceabilityLink_process getFirst_process(); public FeatureTraceabilityLink_activity getFirst_activity(); } 19
  • 21. jgralab.uni-koblenz.de Main design decisions • Vertices and edges are dual • Vertices represent entities, edges their relations • Distribution and hierarchy are compatible • Subgraphs are DHHTGraphs on their own • Nested vertices and edges have only vertices or edges on their border, respectively • Seamless from definition to implementation 21
  • 22. jgralab.uni-koblenz.de The future: Querying DHHTGraphs • Based on existing TGraph query language GReQL from process:V{Process} with process (-->{FeatureTraceabilityLink_process} <--{TraceabiliyLink_rule})+ & {TransformationRule @ thisVertex.name=“MyRule“} report process -->{FeatureTraceabilityLink} end 22
  • 23. jgralab.uni-koblenz.de Conclusion • Seamless realization of • Hyperedges with labeled ends • Nesting of graphs in elements • Abstraction levels by visibility layers • Distribution • Based on formal mathematical definition • Metamodeling of domain-specific aspects • Efficient implementation & convenient APIs • Available soon at jgralab.uni-koblenz.de under GPL 23
  • 24. jgralab.uni-koblenz.de Thanks for your attention! Any questions?