Eric MADELAINE1 A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july.

Slides:



Advertisements
Similar presentations
Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
Advertisements

Specification, Partitioning, and Composition Techniques for Web Applications in the Context of Event-B Abdolbaghi Rezazadeh Michael Butler University of.
European Commission Directorate-General Information Society Unit F2 – Grid Technologies INSERT PROJECT ACRONYM HERE BY EDITING THE MASTER SLIDE (VIEW.
Denis Caromel1 Joint work with Ludovic Henrio – Eric Madelaine et. OASIS members OASIS Team INRIA -- CNRS - I3S – Univ. of Nice Sophia-Antipolis, IUF.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
Π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
Course Instructor: Aisha Azeem
Optimisation of behaviour of component-based distributed systems INRIA - I3S - CNRS – University of Nice Sophia-Antipolis EPC SCALE Galyna Zholtkevych.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Safe composition of distributed adaptable components A distributed component model Behavioural specification and verification Ludovic Henrio and Eric Madelaine.
Speaking Bluntly about SharpHDL: Some Old Stuff and Some Other Proposed Future Extensions Gordon J. Pace & Christine Vella Synchron’05 Malta, November.
INRIA Sophia-Antipolis, Oasis team INRIA Rhône-Alpes, Vasy team Feria–IRIT/LAAS, SVF team Toulouse GET - ENST Paris, LTCI team FIACRE Models and Tools.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Programming and Verifying Distributed and Adaptable Autonomous Components with GCM/ProActive Ludovic Henrio SCALE Team INRIA – UNS – I3S – CNRS Sophia.
DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component.
Semantic Web Fred: Project Objectives & SWF Framework Michael Stollberg Reinhold Herzog Peter Zugmann - 07 April
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Formalism and Platform for Autonomous Distributed Components Bio-inspired Networks and Services A Distributed Component Model Formalisation in Isabelle.
Eric Madelaine FORTE ’04 -- Madrid sept /25 Parameterized Models for Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa.
Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Models for the Verification of Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa,
Denis Caromel1 Troisieme partie Cours EJC 2003, AUSSOIS, Denis Caromel OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis.
Objectives Functionalities and services Architecture and software technologies Potential Applications –Link to research problems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis (FACS’05), Fractal workshop, Grenoble.
A graphical specification environment for GCM component-based applications INRIA – I3S – CNRS – University of Nice-Sophia Antipolis EPC OASIS Oleksandra.
Asynchronous Components with Futures: Semantics, Specification, and Proofs in a Theorem Prover Components (Distributed) Futures Formalisations (and proofs)
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Behavioural Verification of Distributed Components Ludovic Henrio and Eric Madelaine ICE Florence 1.
Behavioural Verification of Distributed Components Ludovic Henrio and Eric Madelaine ICE
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
Mastère RSD - TC4 2005/20061 Distributed Components –ProActive-Fractal : main concepts –Behaviour models for components –Deployment, management, transformations.
Parameterized Models for Distributed Java Objects Tomás Barros & Rabéa Boulifa OASIS Project INRIA Sophia Antipolis April 2004.
ProActive components and legacy code Matthieu MOREL.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Eric MadelaineOSCAR Workshop -- Santiago Nov Verification of Distributed Applications Eric Madelaine work with Isabelle Attali, Tomás Barros, Rabéa.
Transparent First-class Futures and Distributed Components Introduction: components, futures, and challenges Statically Representing Futures An Example.
Eric MADELAINE ---- OASIS1 E. Madelaine Oasis team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis RESECO ’08 Santiago – Nov. 24, 2008 Specification.
RESECO - Montevideo - 22 nov 2007Reseco, Montevideo, 22 nov 2007 Eric Madelaine - OASIS Team1 Specifying and Generating Safe GCM Components INRIA – Sophia.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
Eric MADELAINE ---- OASIS1 E. Madelaine Oasis team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis ECNU Dept of Software Engineering October 2010.
Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
Distributed Components and Futures: Models and Challenges A Distributed Component Model Distributed Reconfiguration Calculi for Components and Futures.
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
Eric MADELAINE -- GridComp -- OASIS 1 E. Madelaine (A. Cansado) GridComp project OASIS team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis GridComp.
Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis DCC, University.
Mastère RSD - TC4 2005/20061 Distributed JAVA Aims and Principles The ProActive library Models of behaviours Generation of finite (parameterized) models.
GCM/ProActive: a distributed component model, its implementation, and its formalisation Ludovic Henrio OASIS Team INRIA – UNS – I3S – CNRS Sophia Antipolis.
2. CALCULUS: A S P. A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes.
Model Generation for Distributed Java Programs Rabéa Boulifa Eric Madelaine Oasis Team INRIA, Sophia-Antipolis France, I3S, UNSA Luxembourg, November 28,
Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis (FACS’05), Fractal workshop, Grenoble.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Behavioural Models for Distributed Hierarchical Components
Formal Specification and Verification of Distributed Component Systems
Distributed Components and Futures: Models and Challenges
Logical architecture refinement
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Eric MADELAINE1 A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july 2006 Verification of Distributed Components : A Case - study

Eric MADELAINE2 Context Behaviour Specifications for Components The ADL and the Specifications A Proposal for Fractal ADL V3 The AirPort Case-study Presentation, and Zoom-in Specification and Verification with the Vercors platform Conclusion & Perspectives Agenda

Eric MADELAINE3 Applications : Build complex systems from off-the-shelf components Check behavioural compatibility between sub-components Check correctness of component deployment and behaviour Check correctness of the transformation inside a running application. Specification of Software Components Aim : Build reliable components from the composition of smaller pieces by the use of their formal specifications. Component paradigm : only observe activity at interfaces. Behavioural properties: Deadlock freeness, progress/termination, safety and liveness.

Eric MADELAINE4 Specification of Software Components Behaviour Specifications : Interface Signatures are not Sufficient, we need formal Behaviour Specifications of Components for: => detection of composition errors (deadlocks, progress, termination) => correctness of deployment and component update => compliance Contributions : Behavior Protocols (SOFA, Fractal) : Parameterized Networks (ProActive, Fractal) :

Eric MADELAINE5 Context Behaviour Specifications for Components The ADL and the Specifications A Proposal for Fractal ADL V3 The AirPort Case-study Presentation, and Zoom-in Specification and Verification with the Vercors platform Group communication Conclusion & Perspectives Agenda

Eric MADELAINE6 Extension of Fractal ADL : A Proposal Integration into the standard is important : To foster the usage of behaviour specification, and of formal verification of component composition To enable comparison of approaches on common examples Minimal Changes and Openness : The Behaviour specification itself can be big, and left to an external Parser. Let the syntax OPEN to other formalisms.

Eric MADELAINE7 Extension of Fractal ADL : A Proposal A behavior element nested inside component, interface, or binding elements with : A language attribute, with current possible values FC2, Lotos, behavior-protocol A file or a values attribute, Specialized parsers, often already existing, for behaviour languages, and for additional environment information (linking the ADL and interface signature elements with the behaviour specification)

Eric MADELAINE8 Extension of Fractal ADL : A Proposal Examples: <behaviour file="Alarm.lotos" language=“Lotos"/> <interface name=“IFirewall” role = “server” /> value = “ ? IF.Enable* | ? IF.Disable* "/>

Eric MADELAINE9 Context Behaviour Specifications for Components The ADL and the Specifications A Proposal for Fractal ADL V3 The AirPort Case-study Presentation, and Zoom-in Specification and Verification with the Vercors platform Group Communication Conclusion & Perspectives Agenda

Eric MADELAINE10 The AIRPORT Wifi Network Case-study Origin : France-Telecom / Sofa (Charles U. Prague) Component Reliability Extensions for the Fractal Model Description : Bibliography : FACS’05: Model Checking of Component Behavior Specification: A Real Life Example

Eric MADELAINE11 Internet and Databases Users Firewall and Airport web server Ticket, FrequentFlyer, and Card management DHCP server

Eric MADELAINE12 FACS’05 study (SOFA) Zooming in … This presentation Login session Firewall+Web server Arbitrator / Token dispenser Ticket Classifier Frequent Flyer Classifier

Eric MADELAINE13 Login to the airport network : simple scenario Choices : Specify User and Firewall as components Abstract away from time constraint (Token lease)

Eric MADELAINE14 Vercors Platform Tool set : Code analysis(prototype, partial) Model generation (V0.8 available) Interactions with model-checking and the CADP verification toolbox (available) Supported by FIACRE, An ACI-Security Action of the French research ministry

Eric MADELAINE15 Model Generation : the ADL2N tool Semantic formalism : pNets = parameterized synchronisation networks (Forte’04) Primitive Components : Behaviour Specification (Lotos) / Code analysis Composite Components : Generation of pNets from the Architectural Description + Interface signatures Spin’05 : Behavioural Models for Hierarchical Components Facs’05 : Behavioural Models for Distributed Components

Eric MADELAINE16 Model Generation : the ADL2N tool ADL files + signatures Purely Functional B(Max,S) !B.Q_g et() !B.R_g et(v) C(c) … … … S Q_get( ) R_get(v ) Primitive behaviour (lotos)

Eric MADELAINE17 Model Generation : the ADL2N tool ADL files + signatures + Controllers Primitive behaviour (lotos) Body ProxyQueue LFLF Resp… Req… C( c) B !Err(xxx) P( p) !start ?bind Selection of non functional features, asynchronous mechanisms, errors, etc

Eric MADELAINE18 Building the global model Simple scenario, Branching minimization, keeping all upper level events visible. Instantiation : 1 single user 3 web pages, 2 tickets, 2 databases Sizes : global system = 2152 st / 6553 trs minimized = 57 st / 114 trs biggest primitive component = 5266 st / trs Mastering the complexity :  Smaller representations (i.e. partial orders, symmetries)  Reduce the number of visible events  Use distributed verification tools  Reason at component level

Eric MADELAINE19 Proving Properties Press-button verification : Finding Deadlocks Absence of usual errors : –J. Adamek “Composition Errors” –ProActive “Deployment Errors” Logical languages : –CADP : regular μ-calculus –Specification patterns Custom scenarios specifying the execution environment Equivalence / Compliance with a specification

Eric MADELAINE20 Proving Properties Deadlock : our initial specification has one. Diagnostic : ""loginWithFlyTicketId(IAccess)(0,1,1)"" ""loginWithFlyTicketId(ILogin)(0,1,1)"" ""loginWithFlyTicketId(IAccess)(0,1,1)"" ""CreateToken_req(IFTAuth)(1,1)"" ""GetFlyTicketValidity_req(IFTAuth)(1,1)"" ""GetFlyTicketValidity_resp(IFTAuth)(1,1)"" ""CreateToken_resp(IFTAuth)(1)"" Asks twice for loggin The Arbitrator (synchronous and monothreaded) gets the first answer, but blocks on the second request.

Eric MADELAINE21 Restrict the possible behaviours of our User component : (Specified in LOTOS and compiled with CAESAR (CADP)) => Result : no deadlock. Custom Scenario / Environment

Eric MADELAINE22 Proving Properties Functional property: If user is not logged in, it will always be redirected [not(‘login(0,1)’)*.’get_resp(0,1)’] false If the user asks for loggin, will he inevitably get it ? [""loginWithFlyTicketId(IAccess)(0,1,1)""] μ X. ( true Λ [not ""disablePortBlock(IReconfiguration)(0)""] X) You don’t like μ-calculus ? Use specification patterns…

Eric MADELAINE23 Context Behaviour Specifications for Components The ADL and the Specifications A Proposal for Fractal ADL V3 The AirPort Case-study Presentation, and Zoom-in Specification and Verification with the Vercors platform Group Communication Conclusion & Perspectives Agenda

Eric MADELAINE24 Second Scenario Multicast / gathercast interface to several DBs Complexity contained inside a composite component states trans. 91 labels Minimised 7 states 90 trans states trans. 118 labels Minimised 98 states 360 trans. After composition : states trans. 39 labels Minimised 12 states 92 trans. Instantiation domains: Each ticket has 2 values Each DB sends 0 or 1 ticket The Query returns 0 to 2 tickets

Eric MADELAINE25 Proposal for ADL Extension: GRID’S Specifics Collective Interfaces (Matthieu Morel) Distributed, parallel components require specific methods for distributing and gathering information. New attribute : cardinality = “multicast”( 1 to n ) cardinality = “gathercast”( n to 1 )  ProActive implementation  Model generation for behaviour verification

Eric MADELAINE26 Ongoing work Model generation : Including NF-controllers, asynchronous semantics Multicast Interfaces Expression of Properties : Pattern language specific to Grid Application Perspectives: Parameterized components at specification level

Eric MADELAINE27 Conclusions Formalisms for specifying the dynamic behaviour of components Tools for building finite models of behaviours from the Architecture Description Realistic Use-case Question (to FT & Sofa) : Available for comparisons of formalisms, methods, tools ? Papers, Use-cases and Tools at :

Eric MADELAINE28 Thank you. Papers, Use-cases and Tools at :

Eric MADELAINE29 Fractive Behavioural Models

Eric MADELAINE30 Fractive implementation Primitive component => Active object Composite membrane => Active object

Eric MADELAINE31 Previous work: ProActive behavioural models (presented at Forte 2004) T. Barros, R. Boulifa, E. Madelaine: Parameterized Models for Distributed Java Objects, Forte'2004 Conference, Madrid, Sep. 2004, LNCS 3235, © Springer-Verlag

Eric MADELAINE32 Fractive composites

Eric MADELAINE33 3) Membrane for primitive Asynchronous components = request queues, future proxies 4) … and also for composites components