Sandeep Patil, Sayantan Bhadra, Valeriy Vyatkin

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Formal Methods and Testing Goal: software reliability Use software engineering methodologies to develop the code. Use formal methods during code development.
PRESENTER: PCLee System-on-chip (SoC) designs use bus protocols for high performance data transfer among the Intellectual Property (IP) cores.
Verification of an industrial rule- based manufacturing system using REX AnnMarie Ericsson University of Skövde, Sweden Mikael Berndtsson University.
An Abstract Interpretation Framework for Refactoring P. Cousot, NYU, ENS, CNRS, INRIA R. Cousot, ENS, CNRS, INRIA F. Logozzo, M. Barnett, Microsoft Research.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Efficient representation for formal verification of PLC programs Vincent Gourcuff, Olivier de Smet and Jean-Marc Faure LURPA – ENS de Cachan.
Chapter 16 : KRONOS (Model Checking of Real-time Systems)
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
UPPAAL Introduction Chien-Liang Chen.
Solutions for Scheduling Assays. Why do we use laboratory automation? Improve quality control (QC) Free resources Reduce sa fety risks Automatic data.
Software system modeling
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Leveraging Assertion Based Verification by using Magellan Michal Cayzer.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
/department of mathematics and computer science Visualization of Transition Systems Hannes Pretorius Visualization Group
Towards a HOL Framework for the Deductive Analysis of Hybrid Control Systems ADPM’2000 Norbert Völker University of Essex, England.
Formal methods Basic concepts. Introduction  Just as models, formal methods is a complement to other specification methods.  Standard is model-based.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
GLAST LAT ProjectOnline Peer Review – July 21, Integration and Test L. Miller 1 GLAST Large Area Telescope: I&T Integration Readiness Review.
Introduction to Software Testing
Use of Multimedia in Engineering. Mechatronics engineering is based on the combination from three basic engineering field that is mechaninal, electronics.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Dynamic software reconfiguration using control supervisors Ugo Buy 13 June 2005.
Universidade do Minho Escola de Engenharia Techniques for Modeling Discrete Controllers for the Optimization of Hybrid Plants: a Case Study Universidade.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Safety-Critical Systems 5 Testing and V&V T
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
More on Correctness. Prime Factorization Problem: Write a program that computes all the prime factors of a given number Solution (Idea): Factors are less.
Verification & Validation By: Amir Masoud Gharehbaghi
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Automated Formal Verification of PLC (Programmable Logic Controller) Programs
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
SRA 2016 – Strategic Research Challenges Design Methods, Tools, Virtual Engineering Jürgen Niehaus, SafeTRANS.
Virtual Lab on Automation Systems A Proposal under Mechatronics Laboratory Presented By Tanuja Sheorey PDPM IIITDM Jabalpur.
Lesson 1 PLC BASICS. PLC Definition  Programmable Logic Controllers are industrial computers that control machine and other applications.  PLC have.
Sub-fields of computer science. Sub-fields of computer science.
Automation Technologies SCADA SENSORS HMI
Software Testing.
Improving the quality of PLC programs
M1.5 Foundation Tools Xilinx XC9500/XL CPLD
Variability-based model transformation
Chapter 8 – Software Testing
An Introduction to Visual Basic .NET and Program Design
CSCI1600: Embedded and Real Time Software
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
VISUAL BASIC.
Introduction to Software Testing
Lecture 09:Software Testing
Multi-Step Attack Defense Operating Point Estimation via Bayesian Modeling under Parameter Uncertainty Peng Liu, Jun Dai, Xiaoyan Sun, Robert Cole Penn.
Daniil Chivilikhin, Igor Buzhinsky, Vladimir Ulyantsev,
CSCE 813 Internet Security Fall 2012
Baisc Of Software Testing
Software system modeling
Automation of Control System Configuration TAC 18
MECH 3550 : Simulation & Visualization
Self-Managed Systems: an Architectural Challenge
Presentation transcript:

Closed-Loop Formal Verification Framework with Non-determinism, Configurable by Meta-modelling Sandeep Patil, Sayantan Bhadra, Valeriy Vyatkin The University of Auckland, Auckland, New Zealand

PLC Programming Programmable Logic Controllers (PLCs) are most widely used in industrial automation devices PLC Programming: IEC 61131-3 standard

Testing of PLC Programs Verification/Testing options: On a real plant Simulation – Visualization Formal Verification: based on formal models.

Formal Verification Mathematically prove or disprove correctness of an algorithm Verify certain properties or formal specifications Liveliness Deadlocks Safety EF (BACK and FWD) PLC program Formal model Start End

Closed – loop Modelling

Closed-loop model in Net Condition-Event Systems

Complexity of Model vs. Complexity of Behaviour

Model of Plant: Composition and Configuration Library of Automated Mechatronic Components Transfer Storage Sensor Cylinder Panel

Visual Verifier Tool

Case Study : Pick and Place robot Pick and Place system modeled by José Machado in his Ph.D. dissertation in 2007 carried out at University of Minho (Portugal) and ENS Cachan Paris (France). Good example of mechatronic modularity. Good for benchmarking (modeled with UPPAAL and verified with SMV)

Configurator and the Meta Model Meta model contains information about object’s structure, models’ structure (FB and NCES) and links between them. The Configurator interactively Configures Plant model for simulation. Selects a controller from library. Configures NCES model of Plant. Configures non-determinism.

Reconfiguration of NCES model NCES model has to be configured based on the physical plant configuration, same as simulation model. The same Meta model is used for that. Apart from plant configuration, Meta model is used to control whether the model in NCES is deterministic or non-deterministic. Work Piece Available

Error Prone Plant Model? One option is developer has to introduce errors in the deterministic model to make plant generate tricky outputs. Resulting in many versions of Models being created and use them in testing. Hence not a good idea....... For each error scenario, the developer will need to maintain a different Plant Model. Error in Trays Error in Sensors Error in Cylinders

More general solution: add non-determinism Different modeling approaches for non-determinism. (a) Conflict. (b) Conflict only when a condition is true (controlled non-determinism) and (c) Controlling presence of non-determinism during modeling. To allow user weather or not user wants to induce erroneous behaviour into the Plant model.

Controlled Non-Determinism

CTL Specifications of Behaviour In ViVe model checker, we can use CTL properties to specify erroneous or correct behaviours Example 1: If WP2 is present and WP1 is disappeared and WP3 is not yet in the tray, then both horizontal cylinders should not extract (erroneous behaviour) CTL for this property: EF(p12&p55&p88&&p98&p105) Example 2: Whenever a work piece arrives on any of the trays, it should be ultimately picked up and dropped in the output tray (expected behaviour) CTL: AG(pp1->EF(s1^vcd^vaccum))

Erroneous Behaviour of the System

Complexity: Methodology for Improvement Benchmarked with state machines and established tool chains: UPPAAL + SMV. For a deterministic model, our methodology took about 2 seconds to generate the reachability space. For a non-deterministic model, our result is 1-1.5 minutes, compared to state machine approach that took about 120 minutes! The gain is attributed to our tool supported methodology of incremental non-determinism. No of places where non determinism exists No of States generated before an error was detected Time taken to generate the reachability graph 1 3552 60 seconds 2 5268 90 seconds