specification and verification for distributed
play

Specification and Verification for distributed applications running - PowerPoint PPT Presentation

Specification and Verification for distributed applications running on heterogeneous infrastructures E. Madelaine Oasis team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis ECNU Dept of Software Engineering October 2010 Eric


  1. Specification and Verification for distributed applications running on heterogeneous infrastructures E. Madelaine Oasis team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis ECNU Dept of Software Engineering October 2010 Eric MADELAINE ---- OASIS 1

  2. Motivations … Specification and Verification for distributed applications Components Grids Interfaces Distributed Systems Clouds Services MultiCores Message passing Adaptation Self Healing Reconfiguration Load Balancing Self Optimizing Eric MADELAINE ---- OASIS 2

  3. Motivations… (2) Components Grids Interfaces Clouds Distributed Systems Services MultiCores Message passing Adaptation Self Healing Reconfiguration Load Balancing Self Optimizing - Hard to program ? - Correct Behaviour ? - Correct Assembly ? Eric MADELAINE ---- OASIS 3

  4. Do we need formal methods for developing component-based software ? A B ??? C A B C2 C Safe COTS-based development Safe management for complex => systems Behaviour Specifications (e.g. replacement at runtime) Eric MADELAINE ---- OASIS 4

  5. Is it more difficult for distributed, asynchronous, evolving components ? Yes ! Asynchrony creates race-conditions, dead-locks, etc. Dynamicity creates new challenges: Correct (DYNAMIC) Adaptation, quiescent states, … Eric MADELAINE ---- OASIS 5

  6. Motivations … (3) Heterogeneous Resources for Distributed Applications P2P LAN network Windows PacaGrid cluster CCS Cluster Cloud Cluster 47+ linux nodes 2-proc/4-core GPUs Mobile Storage terminals Server Eric MADELAINE ---- OASIS 6

  7. Heterogeneous Resources for Distributed Applications P2P LAN - Heterogeneity: OS/processor/architecture/communications network - High performance / Dynamicity / Mobility / Safety / Security… Windows PacaGrid cluster = � ProActive = seamless programming, deployment, scheduling, and CCS Cluster execution middelware, strong semantic guaranties Cloud Cluster 47+ linux nodes The Challenge: 2-proc/4-core - Provide optimisations that depends on the underlying platform, and GPUs Mobile may evolve dynamically, while keeping simplicity and correctness Storage terminals Server Eric MADELAINE ---- OASIS 7

  8. Agenda • Motivation • Building safe applications • Heterogeneous Infrastructures: Multi-Cores, P2P, Grids, Clouds • Context • Oasis team, ,MCorePhP collaborative project • Active Objects, Distributed Components • Safe Distributed Components • Behavioural Semantics • Model generation • Checking Properties • Specification and Verification Tools, Case Study • VerCors platform • Case-Study • Conclusion & Perspectives Eric MADELAINE ---- OASIS 8

  9. The OASIS team: Propose fundamental principles, techniques and tools for design, development, analysis, and verification of reliable distributed systems ASP Calculus P Properties L A T F O ProActive R Model- M Components Checking S Challenges : � Guarantee safety and security for software systems � Develop and master future infrastructures of networks and services Eric MADELAINE ---- OASIS 9

  10. MCorePhP: A collaborative project building the basis for safe programming of heterogeneous applications ANR (french ministry of research) International “Blanc” project. • Partners: University of Tsinghua, Beijing (Pr. Yongwei Wu) INRIA Oasis team (Pr. Denis Caromel, Dr. Eric Madelaine) • Research Tasks: Programming Model for Multi-Core Infrastructure with ChinaGrid and CGSP Application and User Case in Bioinformatics Eric MADELAINE ---- OASIS 10

  11. MCorePhP: Task 1: Programming Model for Multi-Core 1.1 New Basic Programming Model for Multi-Core Extensions of the Active Object programming model: - Sharing memory (efficiently) between activities - Multi-active (multi-threaded) activities 1.2 Legacy Support and Integration 1.3 Safe Code Generation: From model-level specification and analysis of properties, to “correct by construction” executable code. This presentation 1.4 Monitoring Eric MADELAINE ---- OASIS 11

  12. Asynchronous and Deterministic Objects [Denis Caromel – Ludovic Henrio] ASP (Asynchronous Sequential Processes) = • Distributed Active Objects • Asynchronous method calls • Futures and Wait-by-necessity  Determinism/Confluence properties  Programming abstractions  Formal Basis for Verification Eric MADELAINE ---- OASIS 12

  13. Active Objects (very short…) - Runnable (mono-threaded) objects - Communicating by remote method call - Asynchronous computation - Request queues (user-definable policy) - No shared memory Server obj. Client obj. - Futures B A Eric MADELAINE ---- OASIS 13

  14. ProActive Parallel Suite Public domain library Object Web Consortium Spin-off company 2007 : Eric MADELAINE ---- OASIS 14

  15. Fractal hierarchical model : Attribute Lifecycle Binding Content Controller Controller Controller Controller • Provided/Required Controller / membrane Interfaces • Hierarchy • Separation of concern: functional / non-functional • ADL • Extensible Content composites encapsulate primitives, which encapsulates code Eric MADELAINE ---- OASIS 15

  16. Grid Component Model (GCM): Grid aware extension to Fractal Targetting GRIDS requires to handle: • Scalability => hierarchy, parallelism • Volatility, heterogeneity => adaptation, dynamicity, autonomicity… Collective interfaces • Multicast, gathercast, gather-multicast, MxN parallel communications Opportunity to use GCM for parallel computing Component non-functional concerns (membrane) as a Fractal system • Controllers as objects or Fractal/GCM components • Fractal extension for properly exposing the non-functional part, including non- functional client interfaces • Non-functional ADL and associated APIs Opportunity to use GCM for autonomic computing Eric MADELAINE ---- OASIS 16

  17. GCM Scopes and Objectives: Grid Codes that Compose and Deploy MultiCast GatherCast MultiCast GatherCast No programming, No Scripting, … No Pain Eric MADELAINE ---- OASIS

  18. Opportunity to use GCM for autonomic computing Dynamic to Autonomic component based system reconfiguration • Architecture of GCM membranes • How to plug autonomous strategies to drive all non- functional concerns EU BIONETS IP project, P. Naoumenko BDO PACA ½ funded PhD: • A GCM-based framework for autonomic and evolvable service compositions along bio-inspired strategies • Distributed and reconfigurable service compositions Eric MADELAINE ---- OASIS 18

  19. Agenda • Motivation • Building safe applications • Heterogeneous Infrastructures: Multi-Cores, P2P, Grids, Clouds • Context • MCorePhP collaborative project • Active Objects, Distributed Components • Safe Distributed Components • Behavioural Semantics • Model generation • Checking Properties • Specification and Verification Tools, Case Study • VerCors platform • Case-Study • Conclusion & Perspectives Eric MADELAINE ---- OASIS 19

  20. Behaviour specification and Safe composition Aim : Build reliable components from the composition of smaller pieces, using their formal specification. Component paradigm : only observe activity at interfaces. Behavioural properties: Deadlock freeness, progress/termination, safety and liveness. Applications : • Check behavioural compatibility between sub-components • Check correctness of component deployment • Check correctness of the transformation inside a running application. Eric MADELAINE ---- OASIS 20

  21. pNets : Hierarchical and Parameterized LTSs [Arnold, Nivat 92] Synchronization networks [Lin 92] symbolic graphs with assignments [Lakas 96] semantics of Lotos open expressions • Value-passing, Dynamic architectures, etc. • But close to code structure • Instantiation to finite structures (through abstract interpretation) [Forte’04: T. Barros, R. Boulifa, E. Madelaine] [Annals of Telecomunications’08: T. Barros, A. Cansado, L. Henrio, E. Madelaine ] Eric MADELAINE ---- OASIS 21

  22. pNets : generalized parallel operator PhiloNET Fork[k] Philo[k] TakeL Take Think TakeR Eat DropR Drop DropL PhiloNET : < Philo[k], Fork[k] > k ∈ [1:n] A g = { Think(k), TakeL(k), … } with synchronisation vectors : <Think(k), Think Philo[k] > <TakeL(k), TakeL Philo[k] , Take Fork[k-1] > Eric MADELAINE ---- OASIS Eric MADELAINE 22 22

  23. Building Behavioural Models : Principles For a given language/framework, define an operational semantics that builds pNets from the program structure. For Fractal or GCM components: • Reason separately at each composition level Primitive components : functional behaviour is known • Given by the user (specification language) • Obtained by static analysis (primitive components, e.g. ProActive active objects) Composites : • Computed from lower level • Structure and NF behaviour automatically added from the component’s ADL Eric MADELAINE ---- OASIS 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend