ugo montanari università di pisa
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 PresentationTRANSCRIPT
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