28
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

Ugo Montanari Università di Pisa

  • Upload
    mika

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Ugo Montanari Università di Pisa

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

Page 2: Ugo Montanari Università di Pisa

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 developingmassively 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

Page 3: Ugo Montanari Università di Pisa

3

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

GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

www.sensoria-ist.eu

Page 4: Ugo Montanari Università di Pisa

4

SENSORIA Development Process (WP7)

SENSORIA Development Env.

Dissemination, Demonstration, Training, Project Managmnt (WP9-12)

SENSORIA WP Structure and Approach

Service-oriented Modelling (WP1)

DeploymentRuntime

(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

www.sensoria-ist.eu

Page 5: Ugo Montanari Università di Pisa

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

Page 6: Ugo Montanari Università di Pisa

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

6GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 7: Ugo Montanari Università di Pisa

(?x)P

vQ

(?x)PvQ

Intra-Session Communication I

Abstraction (?x)P

Concretion vQ

Intra-session

communication

7GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 8: Ugo Montanari Università di Pisa

Abstraction (?x)P

Concretion vQ

Intra-session

communication

(?x)P

vQ

P[v/x]Q

8GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Intra-Session Communication II

Page 9: Ugo Montanari Università di Pisa

CaSPiS allows only for a controlled form of inter-session communication vQ

vQ

9GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Inter-Session Communication I

Page 10: Ugo Montanari Università di Pisa

CaSPiS allows only a for limited form of inter-session communication vQ

Q

v

10GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Inter-Session Communication II

Page 11: Ugo Montanari Università di Pisa

Example: Successor I

!succ.(?x) x+1

succ. 5 (?n) n

11GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 12: Ugo Montanari Università di Pisa

Example: Successor II

5 (?n) n (?x) x+1

!succ.(?x) x+1

12GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 13: Ugo Montanari Università di Pisa

Example: Successor III

(?n) n 5+1

!succ.(?x) x+1

13GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 14: Ugo Montanari Università di Pisa

Example: Successor IV

(?n) n 6

!succ.(?x) x+1

14GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 15: Ugo Montanari Università di Pisa

Example: Successor V

6

!succ.(?x) x+1

15GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 16: Ugo Montanari Università di Pisa

Example: Successor VI

6

!succ.(?x) x+1

16GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 17: Ugo Montanari Università di Pisa

Sessions are Permeable to Service Invocation I

17GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 18: Ugo Montanari Università di Pisa

Sessions are Permeable to Service Invocation II

18GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 19: Ugo Montanari Università di Pisa

Sessions are Permeable to Service Invocation III

19GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 20: Ugo Montanari Università di Pisa

Pipeline I

(?x)Q

P

5 11

7

(?x)Q

20GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 21: Ugo Montanari Università di Pisa

Pipeline II

Pipeline P > Q

(?x)Q

P

5 7

(?x)Q

Q[11/x]

21GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 22: Ugo Montanari Università di Pisa

Pipeline

Pipeline P > Q

(?x)Q

P

(?x)Q

Q[11/x]

Q[5/x]

Q[7/x]

22GraMoT, February 11 – 12, 2010, TUB, Ugo Montanari, Modeling a Service and Session Calculus with Hierarchical Graph Transformation, 2nd part

Page 23: Ugo Montanari Università di Pisa

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

Page 24: Ugo Montanari Università di Pisa

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

Page 25: Ugo Montanari Università di Pisa

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

Page 26: Ugo Montanari Università di Pisa

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

Page 27: Ugo Montanari Università di Pisa

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

Page 28: Ugo Montanari Università di Pisa

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