Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine www.inria.fr/oasis/ OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis DCC, University.

Slides:



Advertisements
Similar presentations
Semantic Formalisms 2: Software Components Eric Madelaine INRIA Sophia-Antipolis Oasis team UNICE – EdStic Mastère Réseaux.
Advertisements

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,
Component Oriented Programming 1 Chapter 2 Theory of Components.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
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.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Component-Interaction Automata for Specification and Verification of Component Interactions P. Vařeková and B. Zimmerova Masaryk University in Brno Czech.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Optimisation of behaviour of component-based distributed systems INRIA - I3S - CNRS – University of Nice Sophia-Antipolis EPC SCALE Galyna Zholtkevych.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
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.
1 5/18/2007ã 2007, Spencer Rugaber Software Architecture (Informal Definition) The organization of a system into component subsystems or modules Box and.
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.
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.
1 Update Strategies for First Class Futures Khan Muhammad, Ludovic Henrio INRIA, Univ. Nice Sophia Antipolis,CNRS.
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.
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)
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
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.
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.
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.
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.
Eric MadelaineOSCAR Workshop -- Santiago Nov Verification of Distributed Applications Eric Madelaine work with Isabelle Attali, Tomás Barros, Rabéa.
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.
Denis Caromel1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF October
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.
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.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Mastère RSD - TC4 2005/20061 Distributed JAVA Aims and Principles The ProActive library Models of behaviours Generation of finite (parameterized) models.
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.
The Role of Reflection in Next Generation Middleware
Behavioural Models for Distributed Hierarchical Components
Formal Specification and Verification of Distributed Component Systems
Distributed Components and Futures: Models and Challenges
Logical architecture refinement
Presentation transcript:

Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis DCC, University of Chili University Of Westminster CoreGRID WP3 Workshop, Oct Behavioural Model and Safe Composition for Grid Components

Eric MADELAINE2 Context & Motivation Components and safe composition Fractive Building Behaviour models Checking Properties Conclusion & Perspectives Agenda

Eric MADELAINE3 Definition : Software modules, composable, with well-defined interfaces, well-defined black box behaviour Features : 1. Encapsulation Black boxes, offered and required services 2. Composition Design of complex systems, hierarchical organization into sub-systems 3. Separate administration Architecture Description Language (ADL), administration components 4. Distribution Interaction at interfaces through asynchronous method calls Software Components

Eric MADELAINE4 Scenarios : Build complex systems from off-the-shelf components Check protocol compatibility between sub-components Check compatibility of sub-components behaviour with deployment Check correctness of the replacement (update) of a sub-part of a running application. Take into account distribution and asynchrony. Behaviour specification and Safe composition Definition : Build reliable application using / re-using standard componants Build reliable components from the composition of smaller pieces Component paradigm : only observe activity at interfaces. Deadlock freeness, progress/termination, safety and liveness.

Eric MADELAINE5 Fractive’s components Fractive = FRACTAL Implementation using ProActive Fractal features: Hierarchical Components Model ADL description (Fractal’s XML Schema/DTD) Separation of functionality / management Proactive features: Distributed components (from distributed objects) Asynchronous communication (non-blocking) Strong Formal Semantics => properties and guarantees

Eric MADELAINE6 ATTRIBUTEBINDINGLIFE CYCLECONTENT Content Fractal’s Components

Eric MADELAINE7 A Fractive : Active objects Proxy Java Object A ag = newActive (“A”, […], VirtualNode) V v1 = ag.foo (param); V v2 = ag.bar (param);... v1.bar(); //Wait-By-Necessity V Wait-By-Necessity is a Dataflow Synchronization JVM A Active Object Future Object Request Req. Queue Thread v1 v2 ag WBN!

Eric MADELAINE8 Wait-By-Necessity: First Class Futures ba Futures are Global Single-Assignment Variables V= b.bar () c c c.gee (V) v v b

Eric MADELAINE9 getA() getB() getAandB()getA() getB() getAandB() getB() getA()getAandB() First-Class Futures and Components Asynchronous method calls with full-fledge Wait-By-Necessity Non-blocking method calls value of A value of B Compositions are not blocked with Asynchrony + WbN

Eric MADELAINE10 Fractal example <interface name="alarm" role="server" signature="components.AlarmInterface"/> <behaviour file="AlarmBehav" format="FC2Param"/> <binding client="BufferSystem.alarm" server="Alarm.alarm"/> <interface name="alarm" role="server" signature="components.AlarmInterface"/> <behaviour file="AlarmBehav" format="FC2Param"/> <binding client="BufferSystem.alarm" server="Alarm.alarm"/>

Eric MADELAINE11 Context & Motivation Building Behaviour Models Formal Model Configuration and Introspection Asynchrony Checking Properties Conclusion & Perspectives Agenda

Eric MADELAINE12 Parameterized LTS (pLTS) & Synchronisation Network (pNet) Guarded actions with parameters Parameters encoding data value passing Parameters encoding family of processes, and process reference passing Parameterized synchronisation vectors Simple Types : Integers, Intervals, Enumerations, Records. Behaviour: Parameterized Networks of synchronised Transitions Systems T. Barros, R. Boulifa, E. Madelaine: Parameterized Models for Distributed Java Objects, Forte'2004 Conference, Madrid, Sep. 2004, LNCS 3235, © Springer-Verlag

Eric MADELAINE13 Program semantics =(1)=> Behaviour Model =(2)=> Finite Model (1) user-specified abstract interpretation (2) In the Value Passing case: For a given formula, define an abstract representation from a finite partition of the value domains.  Preservation of safety and liveness properties [Cleaveland & Riely 93] Abstractions and Correctness (2) For Families of processes No hope for a similar generic result (but many results for specific topologies). E.g. many reachability properties on parameterized topologies of processes deeply requires induction reasoning and interactive theorem proving techniques. Practical approach : explore small finite configurations in a “bug search” fashion. use state-of-the art “infinite systems” techniques for decidable domains when available

Eric MADELAINE14 Build Fractive Behavioural Models Principles Compositionality Reasonning at each separate composition level Functional behaviour is known Given by the user Obtained by static analysis (primitive components, e.g. ProActive active objects) Computed from lower level… Non functional behaviour automatically added from the component’s ADL Automata within a synchronisation network Incorporate controllers for control/management Fractal features, and for asynchronous communication management Build the product, Hide, Minimize….

Eric MADELAINE15 Build Fractive Behavioural Models 1)add non-functional controls = one LTS for each internal or sub-component interface

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

Eric MADELAINE17 Result : The Static Automaton (technical details in FACS’2005) Deployment Automaton : Static Automaton = ( Controller || Deployment ) + hiding & minimisation Fine Tuning = Specify different hiding sets, depending on the properties we want to prove: deployment phase functional phase topology-preserving transformations

Eric MADELAINE18 Context & Motivation Behaviour models Checking Properties Tune model generation to various property classes Functional and management interactions Reconfiguration Conclusion & Perspectives Agenda

Eric MADELAINE19 Behaviour correctness (from the user point of view) Initial Composition Generic properties : successful deployment, presence of errors, deadlock freeness User Requirements expressed as temporal formulas Reconfiguration (preserving or changing the components structure) Preservation of properties (aka service interaction) New properties (new features) Compositionality The Static Automaton, after hiding/minimization, is the functional behaviour used at next level of composition => to be compared with the specification

Eric MADELAINE20 Deployment (on the Static Automaton with successful synchronisation visible) The deployment is always successful Reachability of Errors during deployment Properties Verification (ACTL) e.g. start Buffer without linking the alarm interface

Eric MADELAINE21 Functional behaviour (on the Static Automaton) Get from the buffer eventually gives an answer (inevitability of the Response) Properties Verification (regular  -calculus) [ true*.Request() ]  X. ( true  [  Response() ] X )

Eric MADELAINE22 Functional properties under reconfiguration (respecting the topology) Future update (asynchronous result messages) independent of life-cycle or binding reconfigurations E.g: Proved on an Extended Static Automaton allowing the following control operations: Properties Verification (regular  -calculus) [ true*.Request() ]  X. ( true  [  Response() ] X )

Eric MADELAINE23 Structural Transformations (ongoing work) Scenario : Running application, Need to Replace/Update one sub-component Check the protocol compatibility before replacement Principle : Use the formal Behaviour Specification Identify states of the application behaviour model in which the transformation is possible, … compute the corresponding states after transformation. Use the merged automaton to check properties. Benefits : Identifies prerequisite and rules for safe transformation.

Eric MADELAINE24 Context & Motivation Behaviour models Checking Properties Related Work, Conclusion & Perspectives Agenda

Eric MADELAINE25 Related Work Semantics : п-calculus, M-calculus, Kell calculus From Process Algebras to Components Inherit from PA semantics : LTSs, (pre-) congruences Processes, Connectors, and CSP refinement : Wright Hierarchical composition, weak bisimulation, Buchi automata : Darwin Sofa Frame (spec) vs. Architecture (implementation) compliance relation based on traces Hierarchical construction through parallel composition detection of errors: bad activity, no activity and divergence Behavioural Contracts (e.g. Carrez et al.) Behavioural typing (CSP like specification) Interface behavioural-type compatibility (decidable) and components contract compliance (non decidable). No other work to my knowledge dealing with functionality + management (even in the synchronous case)

Eric MADELAINE26 Ongoing work Tool set : Code analysis(prototype, partial) Model generation (prototype, soon available) Interactions with model-checking and verification tools (available) Expression of Properties : Pattern language specific to Grid Application Extensions : Group communication Perspectives New verification tools (infinite state classes) “Safe by construction” programming style Supported by FIACRE An ACI-Security action of the French research ministry

Eric MADELAINE27 Conclusions Model for the behaviour of hierarchical components Automatic Construction of the control parts for components management and for asynchronous communications Verification of properties in different phases Asynchrony is essential for large scale grid applications (global efficiency, fewer deadlocks), but brings in new difficulties. Tools are strongly needed to help the developer. Implementation of a prototype tool for model construction, using standard model- checking tools for composition and verification of properties Papers, Use-cases and Tools at :