Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.

Slides:



Advertisements
Similar presentations
SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.
Advertisements

Pi4soa Implementation Issues WS-CDL Candidate Recommendation December 2005 Pi4 Technologies Ltd.
Design by Contract.
1 Ivan Lanese Computer Science Department University of Bologna Italy Types for deadlock avoidance in SSCC.
1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.
1 Intention of slide set Inform WSMOLX of what is planned for Choreography & Orhestration in DIP CONTENTS Terminology Clarification / what will be described.
Foundational Certified Code in a Metalogical Framework Karl Crary and Susmit Sarkar Carnegie Mellon University.
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
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.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
UI Standards & Tools Khushroo Shaikh.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
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.
Software Testing and Quality Assurance
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 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.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Error Handling: From Theory to Practice Joint work with Fabrizio Montesi italianaSoftware.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Joint work with Claudio Antares Mezzina (INRIA), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Controlling Reversibility in Rhopi Ivan Lanese.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Course Instructor: Aisha Azeem
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
CS101 Introduction to Computing Lecture Programming Languages.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
1 Causal-Consistent Reversible Debugging Ivan Lanese Focus research group Computer Science and Engineering Department University of Bologna/INRIA Bologna,
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Language Joint work with Elena.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
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.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Towards Anonymous Communication Infrastructure There are many existing anonymous communication solutions each having advantages and disadvantages and most.
1 Joint work with Claudio Antares Mezzina and Jean-Bernard Stefani Controlled Reversibility and Compensations Ivan Lanese Focus research group Computer.
Geoinformatics 2006 A Virtual Data Product Toolkit Based on Geospatial Web Service Orchestration Peisheng Zhao, Liping Di, Yaxing Wei Center for Spatial.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
CS223: Software Engineering Lecture 13: Software Architecture.
CS223: Software Engineering
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Distributed Language Joint work.
Deadlock Freedom by Construction
Distribution and components
Choreographies: the idea
Internet of Things A Process Calculus Approach
Chapter 20 Object-Oriented Analysis and Design
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Chapter 5 Architectural Design.
Refinement Refine a formal specification by adding more information
Presentation transcript:

Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio Gabbrielli

Choreographies

Choreography projection l Allow to automatically derive from a choreography the description of the behavior of each participant l Nearer to the implementation l Preserves the semantics: when interacting, the participants behave as specified by the choreography

Participants description

Examples

Adaptation l Systems should live for long periods of time in ever changing environments l Users can change their minds l The system should adapt to satisfy new requirements

Grey box adaptation l Adaptation happens at runtime l Adaptation details not known when the system has been designed or even started l The system should provide an interface to interact with an adaptation middleware l At runtime the adaptation middleware will send new code to the system

Adaptation and choreographies l Lots of works on adaptation exist l Not many formal approaches l Very little guarantees on the properties of the system after adaptation takes place –Which parts of the behavior are changed and which are preserved? –Is it still safe? l Using choreographies we can guarantee safe adaptation

Our approach, architecturally l A system is obtained as projection of a choreography l The system may run on its own l The system may interact with an adaptation middleware –Composed by possibly distributed adaptation servers –Requires a dedicated interface from the application l A single adaptation may involve many participants –Need for some coordination protocol

Adaptation rules l The adaptation servers contain rules which can be applied to update the running system –Conditions checking whether adaptation is applicable/useful can be specified –Each rule may involve multiple participants –New rules can be added at any moment l Application of a rule involves code mobility from the adaptation server to the system Rules can be added at any time + rules contain code → the system may not contain code to cope with every possible adaptation when it is started

Our approach, semantically l Extend choreographies with adaptation scopes –Part of the choreography to which a rule may be applied –But the choreography does not specify which rule l The system is executed together with a set of applicable rules (abstracting adaptation servers) and an environment l Adaptation rules include –The new code for the scope –Information on when and where the rule can be applied l Using projection we can derive the new code for each participant l A coordination protocol is required to apply the updates

Our approach, graphically a a→a→ a

a a→a→ a proj

Our approach, graphically a a→a→ a a→a→ proj

Advantages of the approach l The effect of adaptation at the choreography level is clearer –Abstract, global view –Good properties by construction l Adaptation is applied to the running system –Projection allows to bridge the gap

Adaptation scopes

Adaptation rules

Projecting a scope l Essentially homomorphic –On the leader we also keep the set of involved participants –On other roles, ∆ is not needed l Semantics of the leader –Check whether there is a rule targeting the scope whose applicability condition holds –If so, download the code for all the participants and send it to them –If not, tells the other participants that no adaptation is needed l Semantics of other participants –Wait for instruction from the leader –If adaptation is needed, execute the new code –If not, execute the current code

Results l A choreography and its projection have the same traces –Under all possible adaptations –With environments and sets of applicable rules that may change at any moment during the computation l The adapted system is deadlock free by construction l Note that we are adapting in a coordinated way a distributed system

Current and future work l Going towards an implementation –Language with data, if-then-else and while –More at the level of choreographies according to Montesi & Carbone terminology –Projecting to Jolie l Current choreographies can be seen as types for the new ones l Which is the impact of adaptation on refinement? l Different design choices on adaptation to be explored –When is adaptation applied? –Which applicability conditions are allowed?

End of talk