Ugo Montanari Università di Pisa

Preview:

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

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

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

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

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

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

(?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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Recommended