Leiden Workshop 20/06/2007 0 Presentation of the CADP toolbox CADP toolbox What is CADP ? LOTOS language Tools for functional verification CADP extended.

Slides:



Advertisements
Similar presentations
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
Advertisements

March 8, Dynamic Fault Tree analysis using Input/Output Interactive Markov Chains Hichem Boudali, Pepijn Crouzen, and Mariëlle Stoelinga. Formal.
Technische universiteit eindhoven PROGRESS 11 December 2002www.ics.ele.tue.nl/~btheelen1 Performance Modelling of Complex Hardware/Software Systems B.D.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Performance Model Checking Scenario-Aware Dataflow Bart Theelen, Marc Geilen, Jeroen Voeten.
Distributed Markov Chains P S Thiagarajan School of Computing, National University of Singapore Joint work with Madhavan Mukund, Sumit K Jha and Ratul.
Modelling Cell Signalling Pathways in PEPA
Game-theoretic simulation checking tool Peter Bulychev, Vladimir Zakharov, Igor Konnov Moscow State University.
Game-theoretic approach to the simulation checking problem Peter Bulychev Vladimir Zakharov Lomonosov Moscow State University.
Timed Automata.
Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai.
Process Algebra (2IF45) Dr. Suzana Andova. 1 Process Algebra (2IF45) Practical issues Lecturer - Suzana Andova - Group: Software Engineering and Technology.
Anna Philippou Department of Computer Science University of Cyprus Joint work with Mauricio Toro Department of Comp. Sc. EAFIT University Christina Kassara.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
May 9, 2008IPA Lentedagen, Rhenen1 Dynamic Fault Tree analysis using Input/Output Interactive Markov Chains Hichem Boudali 1, Pepijn Crouzen 2, and Mariëlle.
Lecture 13 – Continuous-Time Markov Chains
Gossiping with IOIMCs Pepijn Crouzen Saarland University.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Course Summary. © Katz, 2003 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Semantics of LOTOS Answering the question: Which processes are equivalent? Basic LOTOS: ignore ! and ?...pure synchronization Dining philosophers example:
Theoretical puzzles Estimation of the approximation errors using the IMC theory Nicolas Coste - STMicroelectronics -
1 Petri Nets H Plan: –Introduce basics of Petri Net models –Define notation and terminology used –Show examples of Petri Net models u Calaway Park model.
1212 Models of Computation: Automata and Processes Jos Baeten.
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.
Course Summary. © Katz, 2007 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Probabilistic Verification of Discrete Event Systems Håkan L. S. Younes.
The Rare Glitch Project: Verification Tools for Embedded Systems Carnegie Mellon University Pittsburgh, PA Ed Clarke, David Garlan, Bruce Krogh, Reid Simmons,
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Verification of Configurable Processor Cores Marines Puig-Medina, Gulbin Ezer, Pavlos Konas Design Automation Conference, 2000 Page(s): 426~431 presenter:
The Model Checker SPIN Written by Gerard J. Holzmann Presented by Chris Jensen.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Formal Verification of fFSM Model Sachoun Park, Gihwon Kwon Department of Computer Science Kyonggi University, Korea IWFST, Shanghai, China,
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Planning and Verification for Stochastic Processes with Asynchronous Events Håkan L. S. Younes Carnegie Mellon University.
Verification of Information Flow Properties in Cyber-Physical Systems Ravi Akella, Bruce McMillin Department of Computer Science Missouri University of.
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.
Process Algebra (2IF45) Probabilistic Branching Bisimulation: Exercises Dr. Suzana Andova.
Extreme Makeover for EDA Industry
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Models for the Verification of Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa,
Reactive systems – general
Paper written by Flavio Oquendo Presented by Ernesto Medina.
By: Messias, Spaan, Lima Presented by: Mike Plasker DMES – Ocean Engineering.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Model to Model Workshop, EHESS, Grequam/CNRS, Marseille 2003, slide-1 Model  Model Workshop - relating simulation models At EHESS,
Chapter 61 Continuous Time Markov Chains Birth and Death Processes,Transition Probability Function, Kolmogorov Equations, Limiting Probabilities, Uniformization.
Generalized stochastic Petri nets (GSPN)
Modeling Mobile-Agent-based Collaborative Processing in Sensor Networks Using Generalized Stochastic Petri Nets Hongtao Du, Hairong Qi, Gregory Peterson.
Parameterized Models for Distributed Java Objects Tomás Barros & Rabéa Boulifa OASIS Project INRIA Sophia Antipolis April 2004.
Discrete Simulation of Behavioural Hybrid Process Calculus Tomas Krilavičius Helen Shonenberg University of Twente.
Eric MadelaineOSCAR Workshop -- Santiago Nov Verification of Distributed Applications Eric Madelaine work with Isabelle Attali, Tomás Barros, Rabéa.
2 April, 2008AADL/UML workshop - Belfast1 Arcade: A formal, extensible, model-based dependability evaluation framework Hichem Boudali 1, Pepijn Crouzen.
Transparent First-class Futures and Distributed Components Introduction: components, futures, and challenges Statically Representing Futures An Example.
Eric MADELAINE1 A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Instructor: Spyros Reveliotis IE7201: Production & Service Systems Engineering Fall 2009 Closure.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
Network System Lab. Sungkyunkwan Univ. Differentiated Access Mechanism in Cognitive Radio Networks with Energy-Harvesting Nodes Network System Lab. Yunmin.
Localized DNA Circuits Hieu Bui 1. Outline  Localized Kinetics & Modelling  Localized Hybridization Reactions  On Nanotracks  On DNA Origami 2.
Stochastic Modelling and Analysis
Linköping University, IDA, ESLAB
Presentation transcript:

Leiden Workshop 20/06/ Presentation of the CADP toolbox CADP toolbox What is CADP ? LOTOS language Tools for functional verification CADP extended for performance evaluation IMC formalism From LOTOS to Markov chain From LOTOS to Markov chain – example - Tools for performance evaluation

Leiden Workshop 20/06/ CADP: « Construction and Analysis of Distributed Processes » Developped at INRIA Rhônes-Alpes (France) by the VASY team Toolbox for the design of communication protocols and distributed systems. What is CADP?

Leiden Workshop 20/06/ LOTOS language LOTOS =Process Algebra (CCS & CSP) + Abstract Data Type Algebra (ACT-ONE) caesar.adt compiler caesar compiler

Leiden Workshop 20/06/ PUSH process queue_behavior [PUSH, POP] (SMax:Nat, Q: Queue) : noexit := [getCurrentSize(Q) PUSH; queue_behavior[PUSH, POP] (SMax,Push(Q)) [] [getCurrentSize(Q)>0] -> POP; queue_behavior[PUSH, POP] (SMax,Pop(Q)) endproc POP PUSH POP PUSH POP LOTOS language bcg format

Leiden Workshop 20/06/ PUSH POP Physical queue memory TO_MEM FROM_MEM memory.bcg = generation of memory.lotos; phys_queue.bcg = generation of phys_queue.lotos; system.bcg = memory.bcg |[TO_MEM, FROM_MEM]| phys_queue.bcg; queue.bcg = hide TO_MEM, FROM_MEM in system.bcg LOTOS language

Leiden Workshop 20/06/ Tools for functional verification Model checking on the LTS Various temporal logics and mu-calculus (evaluator, XTL) Equivalence checking Minimization and comparisons modulo bisimulations relations (bcg_min, bisimulator) Simulation & co-simulation Visual checking (bcg_edit) Step-by-step simulation (ocis) C simulator (caesar –simulator)

Leiden Workshop 20/06/ The behavior of a physical system can often be represented by : All the states the system may occupy How the system move from one state to another Functional behavior: (LTS) action based Timed behaviour: (CTMC) time based rate λ rate μ rate λ rate μ PUSH POP PUSH POP Performance measures No composition, synchronization… ↓ ↓ ↓ Performance evaluation of complex systems reserved to specialists Composition Concurrency Synchronization ↓ ↓ ↓ Description of large systems && Formal verification IMC IMC formalism

Leiden Workshop 20/06/ IMC formalism IMC Interactive transitions Synchronization Composition Markovian transitions Represent delays Hiding of Markovian transitions and minimization LTS Hiding of Interactive transitions and stochastic minimization CTMC 1 model Functional verification Performance evaluation

Leiden Workshop 20/06/ Performance evaluation with LOTOS/CADP : Introduction of Markov transitions in LOTOS models. ≈ Introduction of delays in LOTOS models. => Generation of an Interactive Markov Chain (IMC) Identifying the start and end of relevant timing delays in the model 1 Exposing each start and end as LOTOS gates 2 Identifying the distribution of the delay 3 Approximating the delays as CTMC 4 Embedding each delay into start/end gates 5 From LOTOS to Markov chains

Leiden Workshop 20/06/ Time between 2 PUSH(δ 1 ) Time between 2 POP(δ 2 ) Time needed to process a PUSH(λ) Time needed to process a POP(μ) Exposing each start and end as LOTOS gates 2 Identifying the distribution of the delays 3 Approximating the delays as CTMC 4 Embedding each delay into start/end gates 5 Identifying the start and end of relevant timing delays in the model 1 ENVIRONMENT SYSTEM RSP PUSH_RQ GENERATOR QUEUE [ PUSH_RQ, PUSH_RSP, POP_RQ, POP_RSP,] CONSUMER PUSH_RSP POP_RQ POP_RSP RQRSPRQ PUSH time RQRSP POP RQRSPRQRSP QUEUE [ PUSH_RQ, PUSH_RSP, POP_RQ, POP_RSP, λ_START, λ_STOP, μ_START, μ_STOP ] GENERATOR […] : δ 1 _START; δ 1 _STOP; PUSH_RQ !DATA; PUSH_RSP; GENERATOR […] CONSUMER […] : δ 2 _START; δ 2 _STOP; POP_RQ; POP_RSP ?Elmt; CONSUMER […] Proba time 1 0 GEN_DELAY δ 1 _STOP δ 1 _START PUSH_DELAY λ _STOP λ _START POP_DELAY μ _STOP μ _START CONS_DELAY δ 2 _START δ 2 _STOP POP_DELAY […] : μ_START; μ_DELAY; μ_STOP; POP_DELAY […] PUSH_DELAY […] : λ_START; λ_DELAY; λ_STOP; PUSH_DELAY […] GEN_DELAY […] : δ 1 _START; δ 1 _DELAY; δ 1 _STOP; GEN_DELAY […] CONS_DELAY […] : δ 2 _START; δ 2 _DELAY; δ 2 _STOP; CONS_DELAY […] From LOTOS to Markov chains - example -

Leiden Workshop 20/06/ Performance evaluation with LOTOS/CADP : Introduction of Markov transitions in LOTOS models. ≈ Introduction of delays in LOTOS models. => Generation of an Interactive Markov Chain (IMC) Hiding of the non-Markovian transition and minimisation => generation of a Markov Chain (CTMC) Performance evaluation based on the analysis of these CTMC. Identifying the start and end of relevant timing delays in the model 1 Exposing each start and end as LOTOS gates 2 Identifying the distribution of the delay 3 Approximating the delays as CTMC 4 Embedding each delay into start/end gates 5 From LOTOS to Markov chains

Leiden Workshop 20/06/ Tools for performance evaluation Stochastic minimization (bcg_min) Based on the maximum progress rule => generation of a Markov Chain (CTMC) Performance evaluation based on the analysis of a CTMC. Transient state probabilities (bcg_transient) Steady state probabilities (bcg_steady) Throughput results (-thr option) Use of the state probabilities for more complex measures Weighted sum of the state probabilities Mean queue length Mean time before failure … API in CADP for graph exploration for this kind of computation

Leiden Workshop 20/06/ Summary : performance evaluation my_model_with_start_and_stop_delay_gates.bcg = generation of my_model_with_start_and_stop_delay_gates.lotos; my_delay1.bcg = generation of my_delay1.lotos; … my_delayN.bcg = generation of my_delayN.lotos; my_imc.bcg = ( ( ( my_model_with_start_and_stop_delay_gates.bcg |[DL1_START, DL1_STOP]| my_delay1.bcg ) |[...]| … ) |[DLN_START, DLN_STOP]| my_delayN.bcg ); my_mc.bcg = stochastic reduction of hide …. in my_imc.bcg %bcg_steady –sol my_mc.sol my_mc.bcg

Leiden Workshop 20/06/ More information at : free of charge for universities and public research centers Toolbox written in C and available for: Solaris Linux Windows MacOS Questions ? Conclusion