Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari Università di Pisa GraMoT, International Colloquium on Graph and Model Transformation on the occasion of the 65th birthday of Hartmut Ehrig February 11 –12, 2010, Technische Universität Berlin
2 Service-Oriented Systems Selling services is the biggest growth business in the IT industry Service autonomous, platform-independent computational entity that can be described, published, categorised, discovered services can be dynamically assembled for developing massively distributed, interoperable, evolvable systems and applications Service-Oriented Computing Common to develop systems using methods from a “static” point-of-view of component architecture SoC emphasises dynamic communication, semantics and quality assurance Service-Oriented Computing Challenges Specifying and querying services Correctness and consistency Composition of services requires availability and reliability Design for verifiable SLAs Functional and non-functional properties Evaluating and implementing security, sustained performance, adaptive behaviour, … Deployment and re-engineering GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
3 2. The SENSORIA Project IST-FET Integrated Project /10 Coordinator: LMU München 19 Partners: U. Pisa, Florence, Bologna, Trento, Leicester, Edinburgh, Imperial College, University College, Lisbon, Warsaw, Budapest, DTU, ISTI Pisa, FAST, S&N, Telecom Italia, MIP Politecnico di Milano, ATX Technologies SA, Cirquent (replacing FAST since ) Novel comprehensive approach to engineering of software systems for Service-Oriented Overlay Computers integrating foundational theories, techniques, and methods and pragmatic software engineering Application areas e-financeautomotive systems e-learningtelecommunications GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
4 SENSORIA Development Process (WP7) SENSORIA Development Env. Dissemination, Demonstration, Training, Project Managmnt (WP9-12) SENSORIA WP Structure and Approach Service-oriented Modelling (WP1) Deployment Runtime (WP6) Service-oriented Calculi (WP2+5) Transform (WP7) Qualitative Analysis (WP3) Quantitative Analysis (WP4) Case Studies (WP8) Legacy Code (WP6) GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
5 Hierarchical Graph Models of Extended Core Calculi Why graph models? More natural for distributed systems Built-in structural axioms Uniform treatment of most ordinary process algebras (e.g. via the SHR approach) Why hierarchical? Nested structures: ambients, block structure, sessions, transactions, etc. Interaction between siblings, without referring to the closest common ancestor Yet another graph model? Bigraphs by Robin Milner (2003) place graph for localities and link graph for connectivity Semantics via reduction rules and minimal contexts Gs-monoidal graphs (gs-graphs) by Ferrari and Montanari (1997) Based on gs-monoidal categories by Corradini and Gadducci Sensoria approach based on ADR metamodel An algebra of hierarchical graphs and its graphical representations Top view & side view (see presentation by Andrea Corradini) Applications to Sensoria Transaction workflows (Sagas) Service sessions (CaSPiS) GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Key Ingredients of CaSPiS Service definition s.P Service invocation s.Q Session bi-directional, nested ( r)(r Q | r P) s.P s.Q PQ 6 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
(?x)P vQvQ vQvQ Intra-Session Communication I Abstraction (?x)P Concretion v Q Intra-session communication 7 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Abstraction (?x)P Concretion v Q Intra-session communication (?x)P vQvQ P[v/x] Q 8 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part Intra-Session Communication II
CaSPiS allows only for a controlled form of inter-session communication v Q vQvQ 9 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part Inter-Session Communication I
CaSPiS allows only a for limited form of inter-session communication v Q Q vv 10 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part Inter-Session Communication II
Example: Successor I !succ.(?x) x+1 succ. 5 (?n) n 11 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor II 5 (?n) n (?x) x+1 !succ.(?x) x+1 12 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor III (?n) n 5+1 !succ.(?x) x+1 13 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor IV (?n) n 66 !succ.(?x) x+1 14 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor V 66 !succ.(?x) x+1 15 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor VI 66 !succ.(?x) x+1 16 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Sessions are Permeable to Service Invocation I 17 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Sessions are Permeable to Service Invocation II 18 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Sessions are Permeable to Service Invocation III 19 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Pipeline I (?x)Q P 55 11 77 (?x)Q 20 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Pipeline II Pipeline P > Q (?x)Q P 55 77 Q[11/x] 21 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Pipeline Pipeline P > Q (?x)Q P Q[11/x] Q[5/x] Q[7/x] 22 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Syntax and Stuctural Axioms of CaSPiS GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part 23
CaSPiS encoding over the Design Algebra, I GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part 24
CaSPiS encoding over the Design Algebra, II GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part 25
Transformation Rules for CaSPiS Reduction Semantics, I GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part 26
Transformation Rules for CaSPiS Reduction Semantics, II GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part 27
Transformation Rules for CaSPiS Reduction Semantics, III GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part 28