Predictability Verification with Petri Net Unfoldings

Slides:



Advertisements
Similar presentations
Vasileios Germanos 1, Stefan Haar 2, Victor Khomenko 1, and Stefan Schwoon 2 1 School of Computing Science, Newcastle University, UK 2 INRIA & LSV (ENS.
Advertisements

A Polynomial Translation of  -Calculus (FCP) to Safe Petri Nets Roland Meyer 1, Victor Khomenko 2, and Reiner Hüchting 1 1 Department of Computing Science,
Distributed Snapshots: Determining Global States of Distributed Systems - K. Mani Chandy and Leslie Lamport.
A Survey of Runtime Verification Jonathan Amir 2004.
1 Fault Diagnosis for Timed Automata Stavros Tripakis VERIMAG.
Introduction to Petri Nets Hugo Andrés López
Applying Petri Net Unfoldings for Verification of Mobile Systems Apostolos Niaouris Joint work with V. Khomenko, M. Koutny MOCA ‘06.
Dependence Analysis in Reduction of Requirement Based Test Suites Boris Vaysburg Luay Tahat Bogdan Korel Computer Science Department Bell Labs Innovations.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Diagnosability Verification with Parallel LTL-X Model Checking Based on Petri Net Unfoldings Agnes Madalinski 1, and Victor Khomenko 2 1 Faculty of Engineering.
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Predicate Complete Testing * Thomas Ball * Thomas Ball, A Theory of Predicate-Complete Test Coverage and Generation, Technical Report MSR-TR ,
Merged Processes of Petri nets Victor Khomenko Joint work with Alex Kondratyev, Maciej Koutny and Walter Vogler.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
Software Requirements Engineering
Models vs. Reality dr.ir. B.F. van Dongen Assistant Professor Eindhoven University of Technology
An Introduction to Markov Decision Processes Sarah Hickmott
Banker’s Algorithm Implementation in CPN Tools Michal Žarnay Department of Transportation Networks University of Žilina, Slovakia.
Models -1 Scientists often describe what they do as constructing models. Understanding scientific reasoning requires understanding something about models.
Hardware and Petri nets Partial order methods for analysis and verification of asynchronous circuits.
Scientific Thinking - 1 A. It is not what the man of science believes that distinguishes him, but how and why he believes it. B. A hypothesis is scientific.
Branching Processes of High-Level Petri Nets Victor Khomenko and Maciej Koutny University of Newcastle upon Tyne.
Parallel LTL-X Model Checking of High- Level Petri Nets Based on Unfoldings Claus Schröter* and Victor Khomenko** *University of Stuttgart, Germany **University.
Coye Cheshire & Andrew Fiore June 28, 2015 // Computer-Mediated Communication Defining and Justifying Problems.
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
Merged processes – a new condensed representation of Petri net behaviour V.Khomenko 1, A.Kondratyev 2, M.Koutny 1 and W.Vogler 3 1 University of Newcastle.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Chapter 3 : Software Process and Other Models Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University.
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
Jana Flochová and René K. Boel Faculty of Informatics and Information Technology Slovak university of Technology, Bratislava, Slovakia EESA Department,
1 Distributed Fault Detection for untimed and for timed Petri nets René Boel, SYSTeMS Group, Ghent University with thanks to: G. Jiroveanu, G. Stremersch,
Analysis of Concurrent Software Models Using Partial Order Views Qiang Sun, Yuting Chen,
CS 367: Model-Based Reasoning Lecture 5 (01/29/2002) Gautam Biswas.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
CSE 812. Outline Defining Programs, specifications, faults, etc. Safety and Liveness based on the work of Alpern and Schneider Defining fault-tolerance.
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Modelling by Petri nets
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Paolo Baldan Marlon Dumas Luciano García Abel Armas.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
DEPENDABILITY ANALYSIS (towards Networked Information Systems) Ester Ciancamerla, Michele Minichino ENEA {ciancamerlae, In.
Process Mining – Concepts and Algorithms Review of literature on process mining techniques for event log data.
Behavioral Comparison of Process Models Based on Canonically Reduced Event Structures Abel Armas-Cervantes Paolo Baldan Marlon Dumas Luciano García-Bañuelos.
Software Testing and QA Theory and Practice (Chapter 5: Data Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Victor Khomenko Newcastle University
WP3: D3.1 status, pending comments and next steps
Formal methods: Lecture
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
1.3 Finite State Machines.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
On Multi-Arm Manipulation Planning
Critical Systems Validation
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Software Reliability Models.
Model Checking for an Executable Subset of UML
Over-Approximating Boolean Programs with Unbounded Thread Creation
Resolution Proofs for Combinational Equivalence
Lecture 10, Computer Networks (198:552)
Victor Khomenko and Andrey Mokhov
Introduction to verification
Workflow Mining: Concepts and Algorithm
Communication Driven Remapping of Processing Element (PE) in Fault-tolerant NoC-based MPSoCs Chia-Ling Chen, Yen-Hao Chen and TingTing Hwang Department.
From Use Cases to Implementation
Software Testing and QA Theory and Practice (Chapter 5: Data Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Presentation transcript:

Predictability Verification with Petri Net Unfoldings Agnes Madalinski1 and Victor Khomenko2 1Faculty of Engineering Science, University Austral de Chile 2School of Computing Science, Newcastle University, UK 1 1 1 1 1

Predictability First, I would like to outline the concept of fault diagnosis. In a system a fault might occur. In order to diagnose a fault the system is observed via sensor readings or controller commands. Having detected, localised and identified faults and action to repair or reconfigure the system can be performed. Thus: diagnosis ... diagnosability ... We are interested in the diagnosability property. 2 2 2

detection, localisation Concept of fault diagnosis observations diagnosis system faults actions (repair, reconfigure) detection, localisation and identification of faults diagnosis: task of explaining an occurrance of a fault given an observation of the system’s behaviour First, I would like to outline the concept of fault diagnosis. In a system a fault might occur. In order to diagnose a fault the system is observed via sensor readings or controller commands. Having detected, localised and identified faults and action to repair or reconfigure the system can be performed. Thus: diagnosis ... diagnosability ... We are interested in the diagnosability property. predictability: the possibility of predicting a fault before it actually occurs by monitoring the visible behaviour 3 3 3

Predictability system diagnosis assumptions:‏ a fault is predictable if it is always possible to predict its occurrence by observing the visible actions of the system observations diagnosis system o1, o2 fault will occur assumptions:‏ the system has finitely many reachable states the system is deadlock-free any infinite execution has infinitely many occurrences of observable transitions (i.e. the system is divergence-free) After a sequence of observable events one would like to know if a fault occurred, however, we might need to observe a little longer in order to make an accurate statement. A system ... 4 4 4

System model labelled Petri net N=(P,T,,M0,O,U,ℓ)‏ O set of observable transition labels U set of unobservable transition labels ℓ : T → O  U F  U set of fault transition labels not predictable w.r.t. f We use labelled Petri nets to model the system, where the transitions are labelled as observable and unobservable transitions labels. We assume that faults are unobservable otherwise it would be trivial to diagnose observable faults. In this simple example the transition labelled “a” is observable and the others are unobservable including the fault “f”. O = {a,b,c} U = {u, f} F = {f} 5 5 5 5

Witness of predictability violation A witness of predictability violation is a pair of traces such that: can be finite or infinite; the rest of this trace after f is not important o3 o1 o2 f no faults ∞ synchronisation on observable, no faults no synchronisation required 6 6 6 6

Building the verifier

Building the verifier – two copies

Building the verifier – remove f2

Building the verifier – sync. product a b c f synchronisation

Building the verifier – switch a b c f synchronisation desynchronisation

Building the verifier – switch a b c f synchronisation desynchronisation

Model checking ‏reduce the problem of predictability to LTL-X model checking by building a verifier property to check: existence of an infinite trace of the verifier containing a fault f such a trace can be mapped to a witness of predictability violation ◊f

Experimental results predictability is a new field – mostly theoretical work, no benchmarks, no tools we created three series of scalable benchmarks based on producer-buffer-consumer system each benchmark has predictable and non-predictable variants used parallel LTL-X model checking based on unfoldings showed the feasibility of the proposed approach good levels of parallelisation can be achieved

Conclusions and future work proposed a better way of verifying predictability previous work: de-synchronise dynamically, use a customised algorithm our work: de-synchronise statically, use a general- purpose algorithm moving from theory to practical verification the method can be trivially generalised to high-level Petri nets: the verifier construction can be lifted to HL nets parallel LTL-X model checking based on unfoldings works for HL nets too