Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Models for the Verification of Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa,

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Advertisements

Semantic Formalisms 2: Software Components Eric Madelaine INRIA Sophia-Antipolis Oasis team UNICE – EdStic Mastère Réseaux.
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,
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
A component- and message-based architectural style for GUI software
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Marc Geilen, Eindhoven University of Technology, Information and Communication Systems 1 Object-Oriented Modelling and Specification.
Timed Automata.
Denis Caromel1 Joint work with Ludovic Henrio – Eric Madelaine et. OASIS members OASIS Team INRIA -- CNRS - I3S – Univ. of Nice Sophia-Antipolis, IUF.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
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.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
1 IFM 2005 – November 30, 2005 EXP.OPEN 2.0 A flexible tool integrating partial order, compositional, and on-the-fly verification methods Frédéric Lang.
.NET Mobile Application Development Remote Procedure Call.
Optimisation of behaviour of component-based distributed systems INRIA - I3S - CNRS – University of Nice Sophia-Antipolis EPC SCALE Galyna Zholtkevych.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Safe composition of distributed adaptable components A distributed component model Behavioural specification and verification Ludovic Henrio and Eric Madelaine.
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.
Oct Multi-threaded Active Objects Ludovic Henrio, Fabrice Huet, Zsolt Istvàn June 2013 –
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Formalism and Platform for Autonomous Distributed Components Bio-inspired Networks and Services A Distributed Component Model Formalisation in Isabelle.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Eric Madelaine FORTE ’04 -- Madrid sept /25 Parameterized Models for 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.
Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis (FACS’05), Fractal workshop, Grenoble.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
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.
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.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
ASPfun: A Distributed Object Calculus and its Formalization in Isabelle Work realized in collaboration with Florian Kammüller and Henry Sudhof (Technische.
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.
Eric MadelaineOSCAR Workshop -- Santiago Nov Verification of Distributed Applications Eric Madelaine work with Isabelle Attali, Tomás Barros, Rabéa.
Parameterized models for distributed objects Eric Madelaine, Rabéa Boulifa, Tomás Barros OASIS INRIA Sophia-Antipolis, I3S, UNSA
A visualisation and debugging tool for multi-active objects Ludovic Henrio, Justine Rochas LAMHA, Nov 2015.
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.
Eric MADELAINE1 A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july.
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.
Secure Composition of Untrusted Code: Wrappers and Causality Types Kyle Taylor.
Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.
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.
1 Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF July 2nd 2003 ProActive Architecture.
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.
ASYNCHRONOUS AND DETERMINISTIC OBJECTS ASP: Asynchronous Sequential Processes l Distributed objects l Asynchronous method calls l Futures and Wait-by-necessity.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Asynchronous Distributed Components: Concurrency and Determinacy I. Context: Distributed Components and Active Objects II. Asynchronous Distributed Components.
Behavioural Models for Distributed Hierarchical Components
Formal Specification and Verification of Distributed Component Systems
Distributed Components and Futures: Models and Challenges
Semantic Formalisms 3: Distributed Applications
Presentation transcript:

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Models for the Verification of Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa, Christophe Massol OASIS Project, INRIA Sophia Antipolis June 2004

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Goals Analysis and verification software platform for behavioural properties of distributed applications. Long term goal: full language, usable by non-specialists Automatic tools = static analysis, model-checkers, equivalence / preorder checkers. Graphical / Logical Specifications Code analysis Model Automatic tools, diagnostics, etc.

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Plan Distributed objects in ProActive Parameterized hierarchical models Extracting models Compositional verification Components

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 ProActive : distributed activities Active objects communicate by Remote Method Invocation. Each active object: has a request queue (always accepting incoming requests) has a body specifying its behaviour (local state and computation, service of requests, submission of requests) manages the « wait by necessity » of responses (futures)

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 !S_m(args) request served (executed and removed) response received !S_m(args) ProActive : communication method call Current objectRemote object request arriving in the queue !Q_m(args) ?Q_m(args) !R_m(val) ?R_m(val) !Q_m(args) ?Q_m(args) ?R_m(val) response sent back !R_m(val)

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 ProActive : High level semantics Independence wrt. distribution Guarantee and Synchrony of delivery : –RdV mechanism ensures the delivery of requests, and of responses. Determinism / Confluence : –Asynchronous communication and processing do not change the final result of computation. ASP Calculus: D. Caromel, L. Henrio, B. Serpette, “Asynchronous and Deterministic Objects”, POPL’2004

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Methodology: Challenges Specification language : » usable by non-specialists Automatic verification : » construction of models from source code » integrated software Standard, state-of-the-art model checkers : » finite state models, » hierarchical models, compositional construction

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Methodology : Snapshot Informal Requirements Model Checker Source Code Architecture (parameterized) Properties (parameterized) Instantiations (abstractions) Abstract Source Code Data Abstraction Architecture (parameterized) Static Analysis Validate the model Correctness of the implementation (model-checking) Correctness of the implementation (preorder)

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Model (1) : Synchronisation Networks Labelled Transition Systems (LTS) Synchronisation Network (Net) with T= with  v  L T, v=[l t,  1,…,  n ],  i  I i  idle,, l t  A G Synchronisation product : builds a global LTS from a Net of arity n, and n argument LTSs. Arnold 1992 : synchronisation networks Lakas 1996 : Lotos open expressions => Boulifa 2003, Model generation for distributed Java programs, Fidji’03

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Parameterized actions (with typed variables) pA Parameterized LTS (pLTS) with state variables v s, and labels l=(b,  (x), e) Synchronisation Network (Net) with pT = with H n = {(pI i,K i )} i a finite set of holes  v  L T, v=[l t,  1 k1,…,  n kn ],  i ki  pI i  idle, k i  K i, l t  A G Instantiation : for a finite abstract domain D v pLTS x D v  LTS pNet x D v  Net Barros, Boulifa, Madelaine “Parameterized Models for Distributed Java Objects”, Forte 2004, Madrid. (2) Parameterized Networks Finite Network

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Graphical Models

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Large case-study: Electronic Invoices in Chile

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Electronic Invoices in Chile Barros, Madelaine “Formalisation and Verification of the Chilean electronic invoice system”, INRIA report RR-5217, june parameterized automata / 4 levels of hierarchy state explosion: grouping, hiding, reduction by bisimulation : – instantiating 7 parameters yields > millions of states...

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Parameterized Properties True/False + diagnostic Logical parameterized LTS Parameterized temporal logics

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Extracting models by static analysis

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Extended Call Graphs Encodes both the usual control flow usual in MCG (resolution of class analysis and method calls), and the data flow relative to interesting parameters (pieces of bytecode instructions); identifies ProActive objets (activities, remote calls, futures). Complex static analysis : –class analysis –alias analysis –object topology

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Model generation : key points Static topology : finite number of parameterized activities. For each Active Object Class : –parameterized network of LTSs (one for each method) –method calls = synchronisation messages –remote calls : “wait by necessity” using proxy processes –requests queue : the main potential blow-up…! Property : starting from source code with abstracted data (simple types), we have a procedure that builds a finite parameterized model. AjAj QjQj serve PjPj Req use

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Consumer Network

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Buffer Network Buf.Body put Buf.Queue get

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Electronic Invoices in Chile Barros, Madelaine “Formalisation and Verification of the Chilean electronic invoice system”, INRIA report RR-5217, june parameterized automata / 4 levels of hierarchy state explosion: grouping, hiding, reduction by bisimulation

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Distributed Components

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Fractal hierarchical model : composites encapsulate primitives, which encapsulates Java code Component Identity Binding Controller Lifecycle Controller Content Controller Content Controller

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Fractal + ProActive Components for the GRID An activity, a process, … potentially in its own JVM 2. Composite component C 1. Primitive component Java + Legacy 3. Parallel and composite component D Composite: Hierarchical, and Distributed over machines Parallel: Composite + Broadcast (group)

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Components : correct composition Behaviour is an essential part of a component specification. Model of components : – primitive = pLTS – composite = pNet – state-less component = static pNet – controller = transducer Correctness of composition : – implementation preorder ? Content Controller

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Conclusions Parameterized, hierarchical model. Graphical language. Validated with a realistic case-study. Ongoing development : instantiation tool, graphical editor, generation of model from ProActive source code. Incorporation within a verification platform ( ACI-SI Fiacre : INRIA-Oasis, INRIA-Vasy, ENST-Paris, SVF )

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Perspectives Refine the graphical language, extend to other ProActive features, formalize the abstractions. (Direct) parameterized verification. Behavioural specifications of components, correct compositions.

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Algorithm… rules

Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Call rule If o is remote, we simply generate a send message ! o.Q_m(this, f, args) encoding the method name, its status and its (abstracted) param. with future var. else the message !o. Call_m(args) is sent to the method proccess and according to the return value is void or no the response is awaited or no.