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

Similar to DHHTGraphs - 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 DHHTGraphs - 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
 

Recently uploaded

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

DHHTGraphs - 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?