SlideShare a Scribd company logo
1 of 61
Download to read offline
A Graph Syntax for Processes and Services

                   Alberto Lluch Lafuente
    (joint-work with Roberto Bruni and Fabio Gadducci)

         Department of Computer Science, University of Pisa
    Software Engineering for Service-Oriented Overlay Computers


6th Int’l Workshop on Web Services and Formal Methods
             Bologna, September 4-5, 2009
Goal statement


   The spirit of our research is
        ”to conciliate algebraic and graph-based specifications”
Goal statement


   The spirit of our research is
        ”to conciliate algebraic and graph-based specifications”
   In this work we propose a graph syntax to
        ”Equip algebraic specifications with a graphical
           representation that is

                Intuitive
                Easy to define
                Easy to prove correct
Running Example: Sagas



  We shall consider a simple language for transactions with
      sequential composition;
      parallel (split-join) composition;
      compensations;
      saga scoping.
  This example is inspired by the Nested Sagas of [BMM05].
Modelling Sagas with Graphs (sketch)




       sequential composition
Modelling Sagas with Graphs (sketch)




       sequential composition
                                parallel composition
Modelling Sagas with Graphs (sketch)




       sequential composition
                                parallel composition




           compensation
Modelling Sagas with Graphs (sketch)




       sequential composition
                                parallel composition




           compensation                saga
Modelling Sagas with a Process Calculus (sketch)




      task1 ; task2 ; task3
Modelling Sagas with a Process Calculus (sketch)




      task1 ; task2 ; task3
                              task1 | task2 | task3
Modelling Sagas with a Process Calculus (sketch)




      task1 ; task2 ; task3
                              task1 | task2 | task3




          ordinary flow
       %compensation flow
Modelling Sagas with a Process Calculus (sketch)




      task1 ; task2 ; task3
                              task1 | task2 | task3




          ordinary flow              [flow]
       %compensation flow
Calculi vs Graphs

 Algebraic                     Graph-based
     Terms          elements       Graphs (diagrams)
     a|b                           flat, hierarchical, etc.
Calculi vs Graphs

 Algebraic                          Graph-based
     Terms             elements         Graphs (diagrams)
     a|b                                flat, hierarchical, etc.
     Operations        vocabulary       Graph compositions
     ·|· : W × W → W                    Union, tensor, etc.
Calculi vs Graphs

 Algebraic                           Graph-based
     Terms             elements          Graphs (diagrams)
     a|b                                 flat, hierarchical, etc.
     Operations        vocabulary        Graph compositions
     ·|· : W × W → W                     Union, tensor, etc.
     Axioms            equivalence       Homomorphisms
     x|y≡y|x                             isomorphism, etc.
Calculi vs Graphs

 Algebraic                           Graph-based
     Terms             elements          Graphs (diagrams)
     a|b                                 flat, hierarchical, etc.
     Operations        vocabulary        Graph compositions
     ·|· : W × W → W                     Union, tensor, etc.
     Axioms            equivalence       Homomorphisms
     x|y≡y|x                             isomorphism, etc.
     Rewrite rules     dynamics          Transformation rules
     a −→ b
Main technical goal: mapping coherent wrt. equivalence

                                       graph1

  flow1
  a
  | b
  | [ c % d]
Main technical goal: mapping coherent wrt. equivalence

                                       graph1

  flow1
  a
  | b
  | [ c % d]
Main technical goal: mapping coherent wrt. equivalence

                                       graph1

  flow1
  a
  | b
  | [ c % d]


               congruent

  flow2
  b
  | [ c % d ]
  | a
Main technical goal: mapping coherent wrt. equivalence

                                       graph1

  flow1
  a
  | b
  | [ c % d]


               congruent

  flow2                                 graph2
  b
  | [ c % d ]
  | a
Main technical goal: mapping coherent wrt. equivalence

                                       graph1

  flow1
  a
  | b
  | [ c % d]


               congruent                        isomorphic

  flow2                                 graph2
  b
  | [ c % d ]
  | a
Main technical problem: representation distance




         grammar, structural
         congruence, etc.

               very different syntax!


         adjacency matrix,
         tuples, sets,
         morphisms
Main technical problem: representation distance

                                    similar syntax

         solution: graph algebras




                                                     similar syntax
Main application: encodings are facilitated

                                         graph1

  flow1
  a
  | b
  | [ c % d]


               congruent                          isomorphic
  flow2                                   graph2

  textttb
  | [ c % d ]
  | a
Main application: encodings are facilitated

                           graphterm1            graph1
                           W[ p q .
  flow1                      b(p)
  a                         | a(p)
  | b                       ...
  | [ c % d]               ]


               congruent             congruent            isomorphic
  flow2                                           graph2
                           graphterm2
  textttb                  W[ p q.
  | [ c % d ]               b(p)
  | a                       ...
                            | a(p)
                           ]
The syntax of the graph algebra


         G, H   ::=   0

                      the empty graph
The syntax of the graph algebra


         G, H   ::=   0 |x

                        a node called x
The syntax of the graph algebra


         G, H   ::=   0 | x | t(x)

           an (hyper)edge labelled with t attached to x




                      for instance, a(p,q,r)
The syntax of the graph algebra


          G, H     ::=   0 | x | t(x) | G|H

       parallel composition: disjoint union up to common nodes




                 for instance, a(p,q,r) | a(p,q,r)
The syntax of the graph algebra


          G, H     ::=   0 | x | t(x) | G|H

       parallel composition: disjoint union up to common nodes




                 for instance, a(p,q,r) | a(p,q,r)
The syntax of the graph algebra


         G, H   ::=     0 | x | t(x) | G|H | (νx)G

                      declaration of a new node x




           for instance, (νs) (a(p,s,r) | b(s,q,r))
The syntax of the graph algebra

            D   ::=   Tx [G]
         G, H   ::=   0 | x | t(x) | G|H | (νx)G
           graph G with interface of type T exposing x




            for instance, Sp,q,s [(νr)flow(p, q, r, q, s)]
The syntax of the graph algebra

            D   ::=   Tx [G]
         G, H   ::=   0 | x | t(x) | G|H | (νx)G | D y

                  a nested graph attached to y




                      for instance, D a,b,c
The syntax of the graph algebra

             D    ::=   Tx [G]
          G, H    ::=   0 | x | t(x) | G|H | (νx)G | D y
                     a nested graph attached to y




     for instance, D a,b,c , with D=Sp,q,s [(νr)flow(p, q, r, q, s)]
Identifying equivalent graphs
   The actual model of hierarchical graphs has some notion of
   hierarchical isomorphism.
Identifying equivalent graphs
   The actual model of hierarchical graphs has some notion of
   hierarchical isomorphism.
Identifying equivalent graphs
   Isomorphism is elegantly captured by structural axioms.

            G || H ≡ H || G                          (PARALLEL1)
      G || (H || I) ≡ (G || H) || I                  (PARALLEL2)




                             is equivalent to
Identifying equivalent graphs
   Isomorphism is elegantly captured by structural axioms.

            G || H ≡ H || G                                  (PARALLEL1)
      G || (H || I) ≡ (G || H) || I                          (PARALLEL2)

              G || 0   ≡   G                                      (NODES1)
        (νx)(νy )G     ≡   (νy )(νx)G                             (NODES2)
              (νx)0    ≡   0                                      (NODES5)
             (νx)G     ≡   (νy )G{y /x }    if   y ∈ fn(G)        (NODES3)
              Lx [G]   ≡   Ly [G{y /x }]    if   |y | ∩ fn(G) = ∅ (NODES4)
        G || (νx)H     ≡   (νx)(G || H)     if   x ∈ fn(G)        (NODES5)
     Lx [(νy )G](z)    ≡   (νy )Lx [G](z)   if   y ∈ |x| ∪ |z|    (NODES6)
              x || G   ≡   G                if   x ∈ fn(G)        (NODES7)


   These axioms are rather standard and thus intuitive to those
   familiar with algebraic specifications.
Sagas encoding: sagas as calculus



   Let us assume the following syntax for our sagas language

         S    ::=    a | S; S | S|S | [P]          (sagas)
         P    ::=    S%S | P; P | P|P              (processes)
   with the usual following axioms holding
       associativity for sequential composition;
       associativity and commutativity for parallel composition.
Sagas encoding: key ideas I


    1. Algebraic reading of the calculus
           Syntactical categories as Sorts
           Productions as Operators
       for instance
       S ::= S ; S ====>          ;   :S×S→S
    2. Each sort becomes a design label




                   Sagas sort S              Process sort P
Sagas encoding: key ideas II

    3. Each production becomes a derived operator




               X ; Y def Sp,q,r [(νs)(X p, s, r | Y s, q, r )]
                     =
    4. Some symbols should be material, i.e. represented by graph
       items like edges




                          for instance, an activity
Sagas encoding: key ideas III
    5. Some symbols should be immaterial. For instance, a material
       parallel operator yields non isomorphic graphs
                ( a | b ) | c              a | ( b | c )




       To capture associativity with iso we need something like
Sagas encoding: key ideas IV

    6. Flattening dissolves composition frames.
       For instance, without flattening associativity is not captured
       by isomorphism
               ( a ; b ) ; c                      a ; ( b ; c )




       With flattening of sagas we get




       in both cases.
Sagas encoding: main productions




                X ; Y def=
   Sp,q,r [(νs)(X p, s, r | Y s, q, r )]
Sagas encoding: main productions




                X ; Y def=
   Sp,q,r [(νs)(X p, s, r | Y s, q, r )]             X | Y def=
                                           Sp,q,r [X p, q, r | Y p, q, r ]
Sagas encoding: main productions




                X ; Y def=
   Sp,q,r [(νs)(X p, s, r | Y s, q, r )]             X | Y def=
                                           Sp,q,r [X p, q, r | Y p, q, r ]




                X % Y def=
    Pp,q,r,s,t [X p, q, s | Y r, s, t ]
Sagas encoding: main productions




                X ; Y def=
   Sp,q,r [(νs)(X p, s, r | Y s, q, r )]             X | Y def=
                                           Sp,q,r [X p, q, r | Y p, q, r ]




                        def
                                                      [X] def
                                                           =
                X%Y =                       Sp,q,r [(νs)X p, q, s, q, r ]
    Pp,q,r,s,t [X p, q, s | Y r, s, t ]
Sagas encoding: coherence proof

   At the end we point at a result like
   Theorem
   Two sagas S and R are congruent exactly when they are isomorphic.

       The proof of soundness is reduced to show that in each axiom
       of the structural congruence the lhs and rhs are isomorphic,
       which is facilitated by the similarity of the axioms.
                      X | Y def Sp,q,r [X p, q, r | Y p, q, r ]
                              =
                             par1
       For instance,          = Sp,q,r [Y p, q, r | X p, q, r ]
                             def
                              =Y | X
       The proof of completeness is done as usual by structural
       induction on the normal form of sagas terms. Still not easy,
       but at least we deal with similar notations.
Outline


   Introduction
       A simple scenario
       Goal statement


   An algebra of hierarchical graphs
      A syntax for hierarchical graphs
      Identifying equivalent graphs
      Example encoding


   Conclusion
Possible scenario where the graph syntax could live



          sagas
                                             graphs

                             graph
       pi-calculus
                           algebra


         caspis
Possible scenario where the graph syntax could live



          sagas
                                             graphs

                             graph
       pi-calculus
                           algebra
                                            bigraphs?

         caspis

                             graph
          etc.              logic?
Implementation snapshot (a simple visualiser)




               Available at www.albertolluch.com/adr2graphs
One further goal
   Our hope is to find a notion of graph rewriting such that graph
   transformations are directly inferred from
       the original semantic rules of the calculus
       the graphical encoding of terms.
Concluding remarks

   The graphical syntax . . .
        Grounds on widely-accepted models;
        Simplifies the graphical representation of process calculi;
        Hides the complexity of hierarchical graphs;
        Enables proofs by structural induction;
        Has been evaluated on various calculi;
        Nesting and sharing features suitable for modelling soc
        features such as transactions or sessions.
        Natural implementation in RL/Maude (support for theorem
        proving, model checking, simulation, etc.)
        Offers a technique for complementing textual and visual
        notations in formal tools;
Credits and references I
   [BGL09]    Roberto Bruni, Fabio Gadducci, and Alberto Lluch Lafuente.
              A graph syntax for processes and services.
              In WS-FM’09, 2009.
              To appear.
   [BL09]     Roberto Bruni and Alberto Lluch Lafuente.
              Ten virtues of structured graphs.
              In Invited paper at the 8th International Workshop on Graph Transformation and Visual Modeling
              Techniques (GT-VMT’09), Electronic Communications of the EASST, 2009.
              To appear.
   [BLM08]    Roberto Bruni, Alberto Lluch Lafuente, and Ugo Montanari.
              Hierarchical Design Rewriting with Maude.
              In Proceedings of the 7th International Workshop on Rewriting Logic and its Applications (WRLA’08),
              Electronic Notes in Theoretical Computer Science. Elsevier, 2008.
              To appear.
   [BLME07] Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, and Emilio Tuosto.
            Service Oriented Architectural Design.
            In Proceedings of the 3rd International Symposium on Trustworthy Global Computing (TGC’07),
            volume 4912 of Lecture Notes in Computer Science, pages 186–203. Springer, 2007.
   [BMM05]    Roberto Bruni, Hern´n C. Melgratti, and Ugo Montanari.
                                  a
              Theoretical foundations for compensations in flow composition languages.
              In Jens Palsberg and Mart´ Abadi, editors, POPL, pages 209–220. ACM, 2005.
                                        ın
   [CG99]     Andrea Corradini and Fabio Gadducci.
              An algebraic presentation of term graphs, via gs-monoidal categories. applied categorical structures.
              Applied Categorical Structures, 7:7–299, 1999.
   [CMR94]    Andrea Corradini, Ugo Montanari, and Francesca Rossi.
              An abstract machine for concurrent modular systems: CHARM.
              Theoretical Compututer Science, 122(1&2):165–200, 1994.
Credits and references II



   [DHP02]    Frank Drewes, Berthold Hoffmann, and Detlef Plump.
              Hierarchical graph transformation.
              Journal on Computer and System Sciences, 64(2):249–283, 2002.

   [Gad03]    Fabio Gadducci.
              Term graph rewriting for the pi-calculus.
              In Atsushi Ohori, editor, Proceedings of the 1st Asian Symposium on Programming Languages and
              Systems, volume 2895 of Lecture Notes in Computer Science, pages 37–54. Springer, 2003.
   [JM03]     O. H. Jensen and R. Milner.
              Bigraphs and mobile processes.
              Technical Report 570, Computer Laboratory, University of Cambridge, 2003.

   Note: Some figures have been borrowed from the referred papers.
Related work

GS-Graphs [CG99]
    syntactical structure, algebraic
    presentation
    flat (hierarchy-as-tree)
Related work

GS-Graphs [CG99]
    syntactical structure, algebraic
    presentation
    flat (hierarchy-as-tree)
Ranked Graphs [Gad03]
    node sharing, calculi encoding
    no composition interface, flat
Related work

GS-Graphs [CG99]
    syntactical structure, algebraic
    presentation
    flat (hierarchy-as-tree)
Ranked Graphs [Gad03]
    node sharing, calculi encoding
    no composition interface, flat
Hierarchical Graphs [DHP02]
    basic model, composition
    interface
    no node sharing, no algebraic
    syntax
Related Work

Bigraphs [JM03]
    nesting + linking
    2 overlapping structures,
    complex syntax, no composition
    interface, flat
Related Work

Bigraphs [JM03]
    nesting + linking
    2 overlapping structures,
    complex syntax, no composition
    interface, flat
Graph Algebra, SHR [CMR94]
    basic algebra
    flat, no composition interface

More Related Content

What's hot

RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML
 
Masters Thesis Defense
Masters Thesis DefenseMasters Thesis Defense
Masters Thesis Defensessj4mathgenius
 
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRYON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRYFransiskeran
 
Analytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curvesAnalytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curvesmmasdeu
 
RBM from Scratch
RBM from Scratch RBM from Scratch
RBM from Scratch Hadi Sinaee
 
On the Jensen-Shannon symmetrization of distances relying on abstract means
On the Jensen-Shannon symmetrization of distances relying on abstract meansOn the Jensen-Shannon symmetrization of distances relying on abstract means
On the Jensen-Shannon symmetrization of distances relying on abstract meansFrank Nielsen
 
Testing Forest-Isomorphism in the Adjacency List Model
Testing Forest-Isomorphismin the Adjacency List ModelTesting Forest-Isomorphismin the Adjacency List Model
Testing Forest-Isomorphism in the Adjacency List Modelirrrrr
 
Csr2011 june16 16_30_golovach
Csr2011 june16 16_30_golovachCsr2011 june16 16_30_golovach
Csr2011 june16 16_30_golovachCSR2011
 
On algorithmic problems concerning graphs of higher degree of symmetry
On algorithmic problems concerning graphs of higher degree of symmetryOn algorithmic problems concerning graphs of higher degree of symmetry
On algorithmic problems concerning graphs of higher degree of symmetrygraphhoc
 
"On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen...
"On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen..."On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen...
"On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen...Quantopian
 
On Convolution of Graph Signals and Deep Learning on Graph Domains
On Convolution of Graph Signals and Deep Learning on Graph DomainsOn Convolution of Graph Signals and Deep Learning on Graph Domains
On Convolution of Graph Signals and Deep Learning on Graph DomainsJean-Charles Vialatte
 
Introduction to modern Variational Inference.
Introduction to modern Variational Inference.Introduction to modern Variational Inference.
Introduction to modern Variational Inference.Tomasz Kusmierczyk
 
Symbolic Solving of Extended Regular Expression Inequalities
Symbolic Solving of Extended Regular Expression InequalitiesSymbolic Solving of Extended Regular Expression Inequalities
Symbolic Solving of Extended Regular Expression InequalitiesMatthias Keil
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Abhimanyu Mishra
 
Kernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problemsKernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problemsAnthony Perez
 
Csr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatovCsr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatovCSR2011
 

What's hot (20)

RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?
 
Masters Thesis Defense
Masters Thesis DefenseMasters Thesis Defense
Masters Thesis Defense
 
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRYON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
ON ALGORITHMIC PROBLEMS CONCERNING GRAPHS OF HIGHER DEGREE OF SYMMETRY
 
Analytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curvesAnalytic construction of points on modular elliptic curves
Analytic construction of points on modular elliptic curves
 
10.1.1.630.8055
10.1.1.630.805510.1.1.630.8055
10.1.1.630.8055
 
RBM from Scratch
RBM from Scratch RBM from Scratch
RBM from Scratch
 
On the Jensen-Shannon symmetrization of distances relying on abstract means
On the Jensen-Shannon symmetrization of distances relying on abstract meansOn the Jensen-Shannon symmetrization of distances relying on abstract means
On the Jensen-Shannon symmetrization of distances relying on abstract means
 
pres_coconat
pres_coconatpres_coconat
pres_coconat
 
Testing Forest-Isomorphism in the Adjacency List Model
Testing Forest-Isomorphismin the Adjacency List ModelTesting Forest-Isomorphismin the Adjacency List Model
Testing Forest-Isomorphism in the Adjacency List Model
 
Csr2011 june16 16_30_golovach
Csr2011 june16 16_30_golovachCsr2011 june16 16_30_golovach
Csr2011 june16 16_30_golovach
 
On algorithmic problems concerning graphs of higher degree of symmetry
On algorithmic problems concerning graphs of higher degree of symmetryOn algorithmic problems concerning graphs of higher degree of symmetry
On algorithmic problems concerning graphs of higher degree of symmetry
 
Characterizing and mining numerical patterns, an FCA point of view
Characterizing and mining numerical patterns, an FCA point of viewCharacterizing and mining numerical patterns, an FCA point of view
Characterizing and mining numerical patterns, an FCA point of view
 
"On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen...
"On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen..."On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen...
"On the Bayesian Interpretation of Black–Litterman" by Dr. Gordon Ritter, Sen...
 
On Convolution of Graph Signals and Deep Learning on Graph Domains
On Convolution of Graph Signals and Deep Learning on Graph DomainsOn Convolution of Graph Signals and Deep Learning on Graph Domains
On Convolution of Graph Signals and Deep Learning on Graph Domains
 
Introduction to modern Variational Inference.
Introduction to modern Variational Inference.Introduction to modern Variational Inference.
Introduction to modern Variational Inference.
 
Symbolic Solving of Extended Regular Expression Inequalities
Symbolic Solving of Extended Regular Expression InequalitiesSymbolic Solving of Extended Regular Expression Inequalities
Symbolic Solving of Extended Regular Expression Inequalities
 
Integration
IntegrationIntegration
Integration
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3
 
Kernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problemsKernelization algorithms for graph and other structure modification problems
Kernelization algorithms for graph and other structure modification problems
 
Csr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatovCsr2011 june14 15_45_musatov
Csr2011 june14 15_45_musatov
 

Viewers also liked

Automated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service IntegrationAutomated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service IntegrationMartin Szomszor
 
12. ku gr.sem 2013: Syntactic processes and relations
12. ku gr.sem 2013: Syntactic processes and relations12. ku gr.sem 2013: Syntactic processes and relations
12. ku gr.sem 2013: Syntactic processes and relationsTikaram Poudel
 
Syntactic Mediation in Grid and Web Service Architectures
Syntactic Mediation in Grid and Web Service ArchitecturesSyntactic Mediation in Grid and Web Service Architectures
Syntactic Mediation in Grid and Web Service ArchitecturesMartin Szomszor
 
A Method for coordinative syntactic disambiguation in Spanish
A Method for coordinative syntactic disambiguation in SpanishA Method for coordinative syntactic disambiguation in Spanish
A Method for coordinative syntactic disambiguation in SpanishNervo Verdezoto
 
syntaxical process
syntaxical processsyntaxical process
syntaxical processTawarik
 

Viewers also liked (7)

Automated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service IntegrationAutomated Syntactic Mediation for Web Service Integration
Automated Syntactic Mediation for Web Service Integration
 
12. ku gr.sem 2013: Syntactic processes and relations
12. ku gr.sem 2013: Syntactic processes and relations12. ku gr.sem 2013: Syntactic processes and relations
12. ku gr.sem 2013: Syntactic processes and relations
 
Syntactic Mediation in Grid and Web Service Architectures
Syntactic Mediation in Grid and Web Service ArchitecturesSyntactic Mediation in Grid and Web Service Architectures
Syntactic Mediation in Grid and Web Service Architectures
 
A Method for coordinative syntactic disambiguation in Spanish
A Method for coordinative syntactic disambiguation in SpanishA Method for coordinative syntactic disambiguation in Spanish
A Method for coordinative syntactic disambiguation in Spanish
 
syntaxical process
syntaxical processsyntaxical process
syntaxical process
 
Morphology presentation
Morphology presentationMorphology presentation
Morphology presentation
 
What is Syntax?
What is Syntax?What is Syntax?
What is Syntax?
 

Similar to A Graph Syntax for Processes and Services @ Workshop WS-FM 2009

Attributed Graph Matching of Planar Graphs
Attributed Graph Matching of Planar GraphsAttributed Graph Matching of Planar Graphs
Attributed Graph Matching of Planar GraphsRaül Arlàndez
 
Graph Introduction.ppt
Graph Introduction.pptGraph Introduction.ppt
Graph Introduction.pptFaruk Hossen
 
Fact checking using Knowledge graphs (course: CS584 @Emory U)

Fact checking using Knowledge graphs (course: CS584 @Emory U)
Fact checking using Knowledge graphs (course: CS584 @Emory U)

Fact checking using Knowledge graphs (course: CS584 @Emory U)
Ramraj Chandradevan
 
Typing quantum superpositions and measurement
Typing quantum superpositions and measurementTyping quantum superpositions and measurement
Typing quantum superpositions and measurementAlejandro Díaz-Caro
 
IB Maths SL Transformations of functions
IB Maths SL Transformations of functionsIB Maths SL Transformations of functions
IB Maths SL Transformations of functionsestelav
 
Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18
Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18
Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18Olga Zinkevych
 
2.7 Graphing Techniques
2.7 Graphing Techniques2.7 Graphing Techniques
2.7 Graphing Techniquessmiller5
 
Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFJose Emilio Labra Gayo
 
Graph theory concepts complex networks presents-rouhollah nabati
Graph theory concepts   complex networks presents-rouhollah nabatiGraph theory concepts   complex networks presents-rouhollah nabati
Graph theory concepts complex networks presents-rouhollah nabatinabati
 
A Hypocoloring Model for Batch Scheduling Problem
A Hypocoloring Model for Batch Scheduling ProblemA Hypocoloring Model for Batch Scheduling Problem
A Hypocoloring Model for Batch Scheduling ProblemIOSR Journals
 
Semantic Data Management in Graph Databases
Semantic Data Management in Graph DatabasesSemantic Data Management in Graph Databases
Semantic Data Management in Graph DatabasesMaribel Acosta Deibe
 
graphicascaaaaaaaaaa dsaaaaal models.pdf
graphicascaaaaaaaaaa dsaaaaal models.pdfgraphicascaaaaaaaaaa dsaaaaal models.pdf
graphicascaaaaaaaaaa dsaaaaal models.pdfshanmathews0007
 
Threshold network models
Threshold network modelsThreshold network models
Threshold network modelsNaoki Masuda
 
Alg II 2-7 Transformations
Alg II 2-7 TransformationsAlg II 2-7 Transformations
Alg II 2-7 Transformationsjtentinger
 

Similar to A Graph Syntax for Processes and Services @ Workshop WS-FM 2009 (20)

An Algebra of Hierarchical Graphs
An Algebra of Hierarchical GraphsAn Algebra of Hierarchical Graphs
An Algebra of Hierarchical Graphs
 
Attributed Graph Matching of Planar Graphs
Attributed Graph Matching of Planar GraphsAttributed Graph Matching of Planar Graphs
Attributed Graph Matching of Planar Graphs
 
Graph Introduction.ppt
Graph Introduction.pptGraph Introduction.ppt
Graph Introduction.ppt
 
Fact checking using Knowledge graphs (course: CS584 @Emory U)

Fact checking using Knowledge graphs (course: CS584 @Emory U)
Fact checking using Knowledge graphs (course: CS584 @Emory U)

Fact checking using Knowledge graphs (course: CS584 @Emory U)

 
Typing quantum superpositions and measurement
Typing quantum superpositions and measurementTyping quantum superpositions and measurement
Typing quantum superpositions and measurement
 
IB Maths SL Transformations of functions
IB Maths SL Transformations of functionsIB Maths SL Transformations of functions
IB Maths SL Transformations of functions
 
Cg 04-math
Cg 04-mathCg 04-math
Cg 04-math
 
Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18
Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18
Variational autoencoders for speech processing d.bielievtsov dataconf 21 04 18
 
2.7 Graphing Techniques
2.7 Graphing Techniques2.7 Graphing Techniques
2.7 Graphing Techniques
 
Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDF
 
Basics on Graph Theory
Basics on Graph TheoryBasics on Graph Theory
Basics on Graph Theory
 
Graph theory concepts complex networks presents-rouhollah nabati
Graph theory concepts   complex networks presents-rouhollah nabatiGraph theory concepts   complex networks presents-rouhollah nabati
Graph theory concepts complex networks presents-rouhollah nabati
 
A Hypocoloring Model for Batch Scheduling Problem
A Hypocoloring Model for Batch Scheduling ProblemA Hypocoloring Model for Batch Scheduling Problem
A Hypocoloring Model for Batch Scheduling Problem
 
ABC workshop: 17w5025
ABC workshop: 17w5025ABC workshop: 17w5025
ABC workshop: 17w5025
 
Semantic Data Management in Graph Databases
Semantic Data Management in Graph DatabasesSemantic Data Management in Graph Databases
Semantic Data Management in Graph Databases
 
Exhaustive Combinatorial Enumeration
Exhaustive Combinatorial EnumerationExhaustive Combinatorial Enumeration
Exhaustive Combinatorial Enumeration
 
graphicascaaaaaaaaaa dsaaaaal models.pdf
graphicascaaaaaaaaaa dsaaaaal models.pdfgraphicascaaaaaaaaaa dsaaaaal models.pdf
graphicascaaaaaaaaaa dsaaaaal models.pdf
 
Threshold network models
Threshold network modelsThreshold network models
Threshold network models
 
12 - Overview
12 - Overview12 - Overview
12 - Overview
 
Alg II 2-7 Transformations
Alg II 2-7 TransformationsAlg II 2-7 Transformations
Alg II 2-7 Transformations
 

More from Alberto Lluch Lafuente

Many-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesMany-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesAlberto Lluch Lafuente
 
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAlberto Lluch Lafuente
 
Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...Alberto Lluch Lafuente
 
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Alberto Lluch Lafuente
 
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013Alberto Lluch Lafuente
 
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Alberto Lluch Lafuente
 
White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013Alberto Lluch Lafuente
 
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...Alberto Lluch Lafuente
 
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...Alberto Lluch Lafuente
 
A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011Alberto Lluch Lafuente
 
Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...Alberto Lluch Lafuente
 
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011Alberto Lluch Lafuente
 

More from Alberto Lluch Lafuente (15)

Many-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesMany-to-Many Information Flow Policies
Many-to-Many Information Flow Policies
 
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal Logic
 
A Semiring-valued Temporal Logic
A Semiring-valued Temporal LogicA Semiring-valued Temporal Logic
A Semiring-valued Temporal Logic
 
Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...
 
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
 
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
 
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
 
White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013
 
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
 
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
 
A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011A conceptual framework for behavioural adaptation @ Leicester 2011
A conceptual framework for behavioural adaptation @ Leicester 2011
 
Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...
 
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
 
Maude .:° ASCENS 2011
Maude .:° ASCENS 2011Maude .:° ASCENS 2011
Maude .:° ASCENS 2011
 
IMT Welcome Day 2011
IMT Welcome Day 2011IMT Welcome Day 2011
IMT Welcome Day 2011
 

Recently uploaded

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 

Recently uploaded (20)

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 

A Graph Syntax for Processes and Services @ Workshop WS-FM 2009

  • 1. A Graph Syntax for Processes and Services Alberto Lluch Lafuente (joint-work with Roberto Bruni and Fabio Gadducci) Department of Computer Science, University of Pisa Software Engineering for Service-Oriented Overlay Computers 6th Int’l Workshop on Web Services and Formal Methods Bologna, September 4-5, 2009
  • 2. Goal statement The spirit of our research is ”to conciliate algebraic and graph-based specifications”
  • 3. Goal statement The spirit of our research is ”to conciliate algebraic and graph-based specifications” In this work we propose a graph syntax to ”Equip algebraic specifications with a graphical representation that is Intuitive Easy to define Easy to prove correct
  • 4. Running Example: Sagas We shall consider a simple language for transactions with sequential composition; parallel (split-join) composition; compensations; saga scoping. This example is inspired by the Nested Sagas of [BMM05].
  • 5. Modelling Sagas with Graphs (sketch) sequential composition
  • 6. Modelling Sagas with Graphs (sketch) sequential composition parallel composition
  • 7. Modelling Sagas with Graphs (sketch) sequential composition parallel composition compensation
  • 8. Modelling Sagas with Graphs (sketch) sequential composition parallel composition compensation saga
  • 9. Modelling Sagas with a Process Calculus (sketch) task1 ; task2 ; task3
  • 10. Modelling Sagas with a Process Calculus (sketch) task1 ; task2 ; task3 task1 | task2 | task3
  • 11. Modelling Sagas with a Process Calculus (sketch) task1 ; task2 ; task3 task1 | task2 | task3 ordinary flow %compensation flow
  • 12. Modelling Sagas with a Process Calculus (sketch) task1 ; task2 ; task3 task1 | task2 | task3 ordinary flow [flow] %compensation flow
  • 13. Calculi vs Graphs Algebraic Graph-based Terms elements Graphs (diagrams) a|b flat, hierarchical, etc.
  • 14. Calculi vs Graphs Algebraic Graph-based Terms elements Graphs (diagrams) a|b flat, hierarchical, etc. Operations vocabulary Graph compositions ·|· : W × W → W Union, tensor, etc.
  • 15. Calculi vs Graphs Algebraic Graph-based Terms elements Graphs (diagrams) a|b flat, hierarchical, etc. Operations vocabulary Graph compositions ·|· : W × W → W Union, tensor, etc. Axioms equivalence Homomorphisms x|y≡y|x isomorphism, etc.
  • 16. Calculi vs Graphs Algebraic Graph-based Terms elements Graphs (diagrams) a|b flat, hierarchical, etc. Operations vocabulary Graph compositions ·|· : W × W → W Union, tensor, etc. Axioms equivalence Homomorphisms x|y≡y|x isomorphism, etc. Rewrite rules dynamics Transformation rules a −→ b
  • 17. Main technical goal: mapping coherent wrt. equivalence graph1 flow1 a | b | [ c % d]
  • 18. Main technical goal: mapping coherent wrt. equivalence graph1 flow1 a | b | [ c % d]
  • 19. Main technical goal: mapping coherent wrt. equivalence graph1 flow1 a | b | [ c % d] congruent flow2 b | [ c % d ] | a
  • 20. Main technical goal: mapping coherent wrt. equivalence graph1 flow1 a | b | [ c % d] congruent flow2 graph2 b | [ c % d ] | a
  • 21. Main technical goal: mapping coherent wrt. equivalence graph1 flow1 a | b | [ c % d] congruent isomorphic flow2 graph2 b | [ c % d ] | a
  • 22. Main technical problem: representation distance grammar, structural congruence, etc. very different syntax! adjacency matrix, tuples, sets, morphisms
  • 23. Main technical problem: representation distance similar syntax solution: graph algebras similar syntax
  • 24. Main application: encodings are facilitated graph1 flow1 a | b | [ c % d] congruent isomorphic flow2 graph2 textttb | [ c % d ] | a
  • 25. Main application: encodings are facilitated graphterm1 graph1 W[ p q . flow1 b(p) a | a(p) | b ... | [ c % d] ] congruent congruent isomorphic flow2 graph2 graphterm2 textttb W[ p q. | [ c % d ] b(p) | a ... | a(p) ]
  • 26. The syntax of the graph algebra G, H ::= 0 the empty graph
  • 27. The syntax of the graph algebra G, H ::= 0 |x a node called x
  • 28. The syntax of the graph algebra G, H ::= 0 | x | t(x) an (hyper)edge labelled with t attached to x for instance, a(p,q,r)
  • 29. The syntax of the graph algebra G, H ::= 0 | x | t(x) | G|H parallel composition: disjoint union up to common nodes for instance, a(p,q,r) | a(p,q,r)
  • 30. The syntax of the graph algebra G, H ::= 0 | x | t(x) | G|H parallel composition: disjoint union up to common nodes for instance, a(p,q,r) | a(p,q,r)
  • 31. The syntax of the graph algebra G, H ::= 0 | x | t(x) | G|H | (νx)G declaration of a new node x for instance, (νs) (a(p,s,r) | b(s,q,r))
  • 32. The syntax of the graph algebra D ::= Tx [G] G, H ::= 0 | x | t(x) | G|H | (νx)G graph G with interface of type T exposing x for instance, Sp,q,s [(νr)flow(p, q, r, q, s)]
  • 33. The syntax of the graph algebra D ::= Tx [G] G, H ::= 0 | x | t(x) | G|H | (νx)G | D y a nested graph attached to y for instance, D a,b,c
  • 34. The syntax of the graph algebra D ::= Tx [G] G, H ::= 0 | x | t(x) | G|H | (νx)G | D y a nested graph attached to y for instance, D a,b,c , with D=Sp,q,s [(νr)flow(p, q, r, q, s)]
  • 35. Identifying equivalent graphs The actual model of hierarchical graphs has some notion of hierarchical isomorphism.
  • 36. Identifying equivalent graphs The actual model of hierarchical graphs has some notion of hierarchical isomorphism.
  • 37. Identifying equivalent graphs Isomorphism is elegantly captured by structural axioms. G || H ≡ H || G (PARALLEL1) G || (H || I) ≡ (G || H) || I (PARALLEL2) is equivalent to
  • 38. Identifying equivalent graphs Isomorphism is elegantly captured by structural axioms. G || H ≡ H || G (PARALLEL1) G || (H || I) ≡ (G || H) || I (PARALLEL2) G || 0 ≡ G (NODES1) (νx)(νy )G ≡ (νy )(νx)G (NODES2) (νx)0 ≡ 0 (NODES5) (νx)G ≡ (νy )G{y /x } if y ∈ fn(G) (NODES3) Lx [G] ≡ Ly [G{y /x }] if |y | ∩ fn(G) = ∅ (NODES4) G || (νx)H ≡ (νx)(G || H) if x ∈ fn(G) (NODES5) Lx [(νy )G](z) ≡ (νy )Lx [G](z) if y ∈ |x| ∪ |z| (NODES6) x || G ≡ G if x ∈ fn(G) (NODES7) These axioms are rather standard and thus intuitive to those familiar with algebraic specifications.
  • 39. Sagas encoding: sagas as calculus Let us assume the following syntax for our sagas language S ::= a | S; S | S|S | [P] (sagas) P ::= S%S | P; P | P|P (processes) with the usual following axioms holding associativity for sequential composition; associativity and commutativity for parallel composition.
  • 40. Sagas encoding: key ideas I 1. Algebraic reading of the calculus Syntactical categories as Sorts Productions as Operators for instance S ::= S ; S ====> ; :S×S→S 2. Each sort becomes a design label Sagas sort S Process sort P
  • 41. Sagas encoding: key ideas II 3. Each production becomes a derived operator X ; Y def Sp,q,r [(νs)(X p, s, r | Y s, q, r )] = 4. Some symbols should be material, i.e. represented by graph items like edges for instance, an activity
  • 42. Sagas encoding: key ideas III 5. Some symbols should be immaterial. For instance, a material parallel operator yields non isomorphic graphs ( a | b ) | c a | ( b | c ) To capture associativity with iso we need something like
  • 43. Sagas encoding: key ideas IV 6. Flattening dissolves composition frames. For instance, without flattening associativity is not captured by isomorphism ( a ; b ) ; c a ; ( b ; c ) With flattening of sagas we get in both cases.
  • 44. Sagas encoding: main productions X ; Y def= Sp,q,r [(νs)(X p, s, r | Y s, q, r )]
  • 45. Sagas encoding: main productions X ; Y def= Sp,q,r [(νs)(X p, s, r | Y s, q, r )] X | Y def= Sp,q,r [X p, q, r | Y p, q, r ]
  • 46. Sagas encoding: main productions X ; Y def= Sp,q,r [(νs)(X p, s, r | Y s, q, r )] X | Y def= Sp,q,r [X p, q, r | Y p, q, r ] X % Y def= Pp,q,r,s,t [X p, q, s | Y r, s, t ]
  • 47. Sagas encoding: main productions X ; Y def= Sp,q,r [(νs)(X p, s, r | Y s, q, r )] X | Y def= Sp,q,r [X p, q, r | Y p, q, r ] def [X] def = X%Y = Sp,q,r [(νs)X p, q, s, q, r ] Pp,q,r,s,t [X p, q, s | Y r, s, t ]
  • 48. Sagas encoding: coherence proof At the end we point at a result like Theorem Two sagas S and R are congruent exactly when they are isomorphic. The proof of soundness is reduced to show that in each axiom of the structural congruence the lhs and rhs are isomorphic, which is facilitated by the similarity of the axioms. X | Y def Sp,q,r [X p, q, r | Y p, q, r ] = par1 For instance, = Sp,q,r [Y p, q, r | X p, q, r ] def =Y | X The proof of completeness is done as usual by structural induction on the normal form of sagas terms. Still not easy, but at least we deal with similar notations.
  • 49. Outline Introduction A simple scenario Goal statement An algebra of hierarchical graphs A syntax for hierarchical graphs Identifying equivalent graphs Example encoding Conclusion
  • 50. Possible scenario where the graph syntax could live sagas graphs graph pi-calculus algebra caspis
  • 51. Possible scenario where the graph syntax could live sagas graphs graph pi-calculus algebra bigraphs? caspis graph etc. logic?
  • 52. Implementation snapshot (a simple visualiser) Available at www.albertolluch.com/adr2graphs
  • 53. One further goal Our hope is to find a notion of graph rewriting such that graph transformations are directly inferred from the original semantic rules of the calculus the graphical encoding of terms.
  • 54. Concluding remarks The graphical syntax . . . Grounds on widely-accepted models; Simplifies the graphical representation of process calculi; Hides the complexity of hierarchical graphs; Enables proofs by structural induction; Has been evaluated on various calculi; Nesting and sharing features suitable for modelling soc features such as transactions or sessions. Natural implementation in RL/Maude (support for theorem proving, model checking, simulation, etc.) Offers a technique for complementing textual and visual notations in formal tools;
  • 55. Credits and references I [BGL09] Roberto Bruni, Fabio Gadducci, and Alberto Lluch Lafuente. A graph syntax for processes and services. In WS-FM’09, 2009. To appear. [BL09] Roberto Bruni and Alberto Lluch Lafuente. Ten virtues of structured graphs. In Invited paper at the 8th International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT’09), Electronic Communications of the EASST, 2009. To appear. [BLM08] Roberto Bruni, Alberto Lluch Lafuente, and Ugo Montanari. Hierarchical Design Rewriting with Maude. In Proceedings of the 7th International Workshop on Rewriting Logic and its Applications (WRLA’08), Electronic Notes in Theoretical Computer Science. Elsevier, 2008. To appear. [BLME07] Roberto Bruni, Alberto Lluch Lafuente, Ugo Montanari, and Emilio Tuosto. Service Oriented Architectural Design. In Proceedings of the 3rd International Symposium on Trustworthy Global Computing (TGC’07), volume 4912 of Lecture Notes in Computer Science, pages 186–203. Springer, 2007. [BMM05] Roberto Bruni, Hern´n C. Melgratti, and Ugo Montanari. a Theoretical foundations for compensations in flow composition languages. In Jens Palsberg and Mart´ Abadi, editors, POPL, pages 209–220. ACM, 2005. ın [CG99] Andrea Corradini and Fabio Gadducci. An algebraic presentation of term graphs, via gs-monoidal categories. applied categorical structures. Applied Categorical Structures, 7:7–299, 1999. [CMR94] Andrea Corradini, Ugo Montanari, and Francesca Rossi. An abstract machine for concurrent modular systems: CHARM. Theoretical Compututer Science, 122(1&2):165–200, 1994.
  • 56. Credits and references II [DHP02] Frank Drewes, Berthold Hoffmann, and Detlef Plump. Hierarchical graph transformation. Journal on Computer and System Sciences, 64(2):249–283, 2002. [Gad03] Fabio Gadducci. Term graph rewriting for the pi-calculus. In Atsushi Ohori, editor, Proceedings of the 1st Asian Symposium on Programming Languages and Systems, volume 2895 of Lecture Notes in Computer Science, pages 37–54. Springer, 2003. [JM03] O. H. Jensen and R. Milner. Bigraphs and mobile processes. Technical Report 570, Computer Laboratory, University of Cambridge, 2003. Note: Some figures have been borrowed from the referred papers.
  • 57. Related work GS-Graphs [CG99] syntactical structure, algebraic presentation flat (hierarchy-as-tree)
  • 58. Related work GS-Graphs [CG99] syntactical structure, algebraic presentation flat (hierarchy-as-tree) Ranked Graphs [Gad03] node sharing, calculi encoding no composition interface, flat
  • 59. Related work GS-Graphs [CG99] syntactical structure, algebraic presentation flat (hierarchy-as-tree) Ranked Graphs [Gad03] node sharing, calculi encoding no composition interface, flat Hierarchical Graphs [DHP02] basic model, composition interface no node sharing, no algebraic syntax
  • 60. Related Work Bigraphs [JM03] nesting + linking 2 overlapping structures, complex syntax, no composition interface, flat
  • 61. Related Work Bigraphs [JM03] nesting + linking 2 overlapping structures, complex syntax, no composition interface, flat Graph Algebra, SHR [CMR94] basic algebra flat, no composition interface