modeling a service and session calculus with hierarchical graph transformation joint work with...

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

Upload: douglas-summers

Post on 17-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

(?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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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: Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari

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