280 likes | 390 Views
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
E N D
Modeling a Service and Session Calculus with Hierarchical Graph TransformationJoint 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
Service-Oriented Systems Selling servicesis 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
2. The SENSORIA Project IST-FET Integrated Project 2005-2009/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 1.1.2008) 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-finance automotive systems e-learning telecommunications www.sensoria-ist.eu GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
SENSORIA WP Structure and Approach Case Studies (WP8) Transform (WP7) Quantitative Analysis (WP4) Qualitative Analysis (WP3) SENSORIA Development Env. Legacy Code (WP6) www.sensoria-ist.eu SENSORIA Development Process (WP7) Deployment Runtime (WP6) Service-oriented Modelling (WP1) Service-oriented Calculi (WP2+5) Dissemination, Demonstration, Training, Project Managmnt (WP9-12) GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
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 Q P GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Intra-Session Communication I • Abstraction • (?x)P • Concretion • vQ • Intra-session communication (?x)P vQ (?x)P vQ GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Intra-Session Communication II • Abstraction • (?x)P • Concretion • vQ • Intra-session communication (?x)P vQ P[v/x] Q 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 for a controlled form of inter-session communication • vQ vQ GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Inter-Session Communication II • CaSPiS allows only a for limited form of inter-session communication • vQ v Q GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor I !succ.(?x) x+1 succ. 5(?n) n GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor II !succ.(?x) x+1 5(?n) n (?x) x+1 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor III !succ.(?x) x+1 (?n) n 5+1 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor IV !succ.(?x) x+1 (?n) n 6 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor V !succ.(?x) x+1 6 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Example: Successor VI !succ.(?x) x+1 6 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 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 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 GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Pipeline I P (?x)Q 7 5 11 (?x)Q 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 P (?x)Q 7 Q[11/x] 5 (?x)Q GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part
Pipeline • Pipeline • P > Q P (?x)Q Q[11/x] Q[7/x] (?x)Q Q[5/x] 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
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
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
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
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