SHReQ: Coordinating Application Level QoS Speaker: Ivan Lanese Dipartimento di Informatica Università di Pisa Authors: Dan Hirsch & Emilio Tuosto Dipartimento.

Slides:



Advertisements
Similar presentations
3° Workshop Nazionale del Gruppo di Interesse in Ingegneria del Software Genova, 2-3 ottobre 2006 CASE – Libera Università di Bolzano-Bozen RCOST – Università
Advertisements

CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September.
A component- and message-based architectural style for GUI software
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
Roberto Pisa, Italy 13 June 2008 WADT Tiles for Reo Roberto Bruni Dipartimento di Informatica Università di Pisa WADT th International.
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamic Software Architectures for Global Computing Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S.
A. Bucchiarone / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, Lucca (Italy)
1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation.
1 The SOCK SAGA Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro.
Regulatory Network (Part II) 11/05/07. Methods Linear –PCA (Raychaudhuri et al. 2000) –NIR (Gardner et al. 2003) Nonlinear –Bayesian network (Friedman.
1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization strategies for global computing models Ph.D. thesis discussion.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
1 Formal Models for Distributed Negotiations Description Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
Synchronization Algebras with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese.
1 SOCK and JOLIE from the formal basis to a service oriented programming language Ivan Lanese Computer Science Department University of Bologna Italy Joint.
1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization strategies for global computing models Ph.D. thesis discussion.
1 Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni, GianLuigi Ferrari, Hernan Melgratti, Emilio Tuosto (Pisa) Cosimo Laneve (Bologna)
1 Ivan Lanese Computer Science Department University of Bologna Italy Evolvable systems: some ideas for modelling With input from Davide Sangiorgi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations.
1 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari From Graph Rewriting to Logic Programming joint work with.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Synchronized Hyperedge Replacement for Heterogeneous Systems joint work with Emilio Tuosto Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
1 Ivan Lanese Computer Science Department University of Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
1 CoMeta, final workshop, /12/2003 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari A graphical Fusion Calculus Joint work.
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Roberto Bruni, Andrea Corradini, Ugo Montanari (based on joint work with.
A Klaim specification of the Handover protocol: logic-based and type-based analysis Michele Loreti and Daniele Gorla Dipartimento di Sistemi e Informatica.
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory at Work: Program Transformations in a Service-centred Calculus.
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
1 Ivan Lanese Computer Science Department University of Bologna Synchronization strategies for global computing models.
Complete Axioms for Stateless Connectors joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
Synchronizations with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
AMPol-Q: Adaptive Middleware Policy to support QoS Raja Afandi, Jianqing Zhang, Carl A. Gunter Computer Science Department, University of Illinois Urbana-Champaign.
A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Dynamic Software Architectures Verification using DynAlloy Antonio Bucchiarone IMT Graduate School of Lucca,
Objectives Functionalities and services Architecture and software technologies Potential Applications –Link to research problems.
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Towards A QoS Modeling and Modularization Framework for Component-based Systems Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Amogh Kavimandan (Presenter)
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Validating Reconfigurations of Reo Circuits
Software Connectors – A Taxonomy Approach
Internet of Things A Process Calculus Approach
Multiple Aspect Modeling of the Synchronous Language Signal
Presentation transcript:

SHReQ: Coordinating Application Level QoS Speaker: Ivan Lanese Dipartimento di Informatica Università di Pisa Authors: Dan Hirsch & Emilio Tuosto Dipartimento di Informatica Università di Pisa SEFM 2005, Koblenz, Germany, 6-9 September 2005

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Roadmap Motivations Background: c-semiring Background: SHR SHReQ An application Final remarks

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Roadmap Motivations Background: c-semiring Background: SHR SHReQ An application Final remarks

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Global computing Programming global systems is hard because: absence of centralised control client-server not enough: P2P different administrative domains (security) interoperability different platforms, devices (e.g. PDAs, laptops, mobile phones...) mobility network awareness applications are location dependent different locations have different features

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Service oriented computing (SOC) Applications are made by gluing services interconnected but independent (local choices, independently built) Interactions governed by programmable coordination policies Services are searched and bound... offline can search/bind be dynamic and at run-time? Search and bind depend on application level QoS not low-level performance (e.g., throughput, response time) but application-related price of services payment mode data available in a given format

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Our approach SOC modelling is not just normal programming + primitives for mobility or synchronization Lifting QoS issues to application level proof techniques and tools are also needed First steps extending Klaim [see biblio] We present SHReQ, an (hyper)graph model which exploits c-semiring for expressing application level QoS coordinating activities by synchronisation on c-semiring values

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Roadmap Motivations Background: c-semiring Background: SHR SHReQ An application Final remarks

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Constraint semirings C-semirings for abstracting application level QoS where A is a set (containing 0 and 1), +, ⋆ : A × A  A

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Constraint semirings + ⋆ x + y = y + x x ⋆ y = y ⋆ x (x + y) + z = x + (y + z) (x ⋆ y) ⋆ z = x ⋆ (y ⋆ z) x + 0 = x x ⋆ 0 = 0 x + 1 = 1 x ⋆ 1 = x x + x = x (x + y) ⋆ z = (x ⋆ z) + (y ⋆ z) Implicit partial order: a ≤ b  a + b = b “b is better than a”

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Example: priority semiring P = N is the set of natural numbers with infinity ≤ is the standard order on N

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Example: broadcast semiring B = A is a set of actions A = {a | a  A} are the coactions a ⋆ b obeys the axioms for 0 and 1 and a ⋆ a = a a ⋆ b =  otherwise a + b obeys the axioms for 0 and 1 and a + a = a a + b =  otherwise

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Other semirings (boolean): Availability (optimization): Price, propagation delay (max/min): Bandwidth (probabilistic): Performance and rates with N set (set-based): Capabilities and access rights

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) A key property Cartesian product of c-semirings is a c- semiring Allows to use multiple QoS dimensions at the same time

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Roadmap Motivations Background: c-semiring Background: SHR SHReQ An application Final remarks

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) The hypergraph model We aim at modeling new non-functional computational phenomena The metaphor is: “Global computers as hypergraphs” “Global computing as SHR” Components are represented by (hyper)edges Systems are bunches of edges connected through common nodes some nodes are declared as local Computing means to synchronously rewrite edges according to a synchronisation policy

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) The SHR approach Productions to describe the behaviour of single edges local effects edges rewritten into generic graphs constraints on surrounding nodes Global constraint-solving algorithm to derive transitions to select which productions can be applied allows to define complex transformations Finally transitions are applied

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Edge Replacement Systems R L H A production describes how the edge L is transformed into the graph R

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Edge Replacement Systems A production describes how the edge L is transformed into the graph R Many productions can be applied concurrently R R’ L L’ H

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Adding synchronization We associate actions to nodes attached to the rewritten edges Actions performed on the same node are composed according to a synchronization algebra A transition is allowed iff the synchronization constraints expressed by actions are satisfied (i.e., composition is defined) Many synchronization models are possible (point-to-point, broadcast, …)

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Adding mobility We use synchronization algebras with mobility [see biblio] Each action is equipped with a tuple of node references During synchronization we compute a fusion among nodes merging corresponding nodes from synchronized actions mobility in the Fusion Calculus style apply the fusion to the graph and to the references of the resulting action

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Roadmap Motivations Background: c-semiring Background: SHR SHReQ An application Final remarks

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) From SHR to SHReQ Graphs have weights associated to nodes values of the semiring Productions have an applicability condition the minimum (w.r.t. ≤) value of resources required on each node Actions are values of the semiring ⋆ is action composition

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Sample production a x x L y:v y RR z 1 Rewritten edge Final graph

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Sample production L a R x x y:v y R z 1 Action Applicability condition Action sending node

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) SHReQ synchronization Semiring set has the following structure NoSync Sync Fin 0 1 Synchronization errors Completed synchronizations

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Quasiproductions Obtained from productions by renaming nodes from the LHS If nodes are merged, + is used to compute the resulting applicability condition

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Synchronizing rules We select a quasiproduction matching each edge same label and attachment nodes we check that the applicability condition is satisfied We compute the product of the actions performed on each node we check that it is not in NoSync On local nodes we check that the resulting action is in Fin We compute the substitution on nodes we check that no old nodes are merged

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) The result Each edge is replaced by the RHS of the corresponding quasiproduction The new values on nodes are the result of the synchronization for old nodes 1 for new nodes We apply the induced substitution since no old nodes are merged, values from old nodes can be used We hide nodes if the environment is not aware of them not free before and not extruded as names in  -calculus

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) There is some math behind Graphs as terms in an algebra Productions and transitions as labelled rules Inference rules to derive transitions from productions

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Roadmap Motivations Background: c-semiring Background: SHR SHReQ An application Final remarks

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) TRMCS case study We apply SHReQ to Teleservice and Remote Medical Care System (TRMCS) studied by Parco Scientifico e Tecnologico d’Abruzzo and University of L’Aquila Hierarchical system with a server S, routers R connected to S and users U connected to routers Functionalities users send requests for assistance (remote or ambulance) to routers routers forward alarms to server server provides the required assistance Aimed at showing the rewriting mechanism for the use of c-semirings for multidimensional QoS see the bibliography

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Modelling the system The cartesian product of priority and broadcast is used All nodes are local (result must be a coaction) S R2R2 R1R1 U2U2 U3U3 U1U1

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) User productions UnUn (amb,n) wa U n x x 1 UnUn x x (amb,n) ua U n x x:(amb,n) z

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Router productions R (amb,∞) ra R x x (amb,∞) y y ra R (amb,∞) R x x y:(amb,0) y

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Server production x (amb,∞) y S w (rem,∞)(amb,∞) xy S w

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Sample computation S R2R2 R1R1 U2U2 U3U3 U1U1 (amb,1)(amb,3) (amb, ∞ ) (rem, ∞ ) x y w r s

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Sample computation S R2R2 R1R1 U2U2 wa U 3 wa U 1 x y w r s (amb,1) (amb, ∞ ) 1 (rem, ∞ )

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Sample computation S R2R2 R1R1 U2U2 wa U 3 wa U 1 (amb, ∞ ) (rem, ∞ ) x y w r s (amb,1)

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Sample computation S R2R2 R1R1 U2U2 U3U3 ua U 1 x y w r s

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Roadmap Motivations Background: c-semiring Background: SHR SHReQ An application Final remarks

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Final remarks We have presented the idea and an application of SHReQ The main features are general multiparty synchronisations based on c-semirings support for application level QoS Surprisingly, SHReQ fits the design principles for a good calculus from Milner [see biblio]

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Future work We plan to develop formal methods based on SHReQ for specifying distributed applications and their non-functional requirements Hopefully, develop verification techniques (e.g., model checking) on SHReQ logic for SHReQ already exists [see biblio]

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Bibliography On extending KLAIM with QoS: “A formal basis for reasoning on programmable QoS”, De Nicola et al., International Symposium on Verification, LNCS 2772 “A basic calculus for modelling service level agreements”, De Nicola et al., Coordination 2005, LNCS 3454 On c-semiring: “Semiring-based constraint satisfaction and optimization”, Bistarelli, Montanari, Rossi, JACM 44(2) On SHR: “A model of distributed systems based on graph rewriting”, Degano, Montanari, JACM 34 “Reconfiguration of software architecture styles with name mobility”, Hirsch, Inverardi, Montanari, Coordination 2000, LNCS 1906 Ph.D. thesis of Dan Hirsch and Emilio Tuosto

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese) Bibliography On synchronization algebras with mobility: “Synchronization algebras with mobility for graph transformations”, Lanese, Montanari, FGUC 2004, ENTCS, to appear On verification techniques for QoS: “A logic for graphs with QoS”, Ferrari, Lluch- Lafuente, VODCA 2004, ENTCS, to appear On a logic for SHReQ: “A logic for application level QoS”, Hirsch, Lluch- Lafuente, Tuosto, submitted to QAPL 2005 On design principles for calculi: “Process constructors and interpretations”, Milner, Information Processing, Elsevier

SEFM 2005, 5-9 September, Koblenz, Germany Hirsch, Tuosto (presented by Lanese)