Automated Verification for the Software of Distributed Control Systems: Possible Approaches

Size: px
Start display at page:

Download "Automated Verification for the Software of Distributed Control Systems: Possible Approaches"

Transcription

1 Automated Verification for the Software of Distributed Control Systems: Possible Approaches Francesco Schiavo Politecnico di Milano Dipartimento di Elettronica e Informazione

2 Automated Verification for DCS Verification:: are we building the product right? (Bohem,, 1979) Verification involves checking that the software conforms to its specifications. We are looking for formal methods which allow us to effectively prove properties about the control software. 2

3 INDEX Formal Methods Case Study The Plant The Control System Verification Approach 1: Rules & Equations Verification Approach 2: Model Checking Research Results and Future Directions 3

4 Are Formal Methods Profitable? Disadvantages: Slowing down of the early development process. Additional Software needed. Developers have to learn such methods. Advantages: Development of a design bug-free software. Shortening of the time to market. Better system reliability and maintainability. Both a better software and a cost reduction. 4

5 Research Aims Formal Methods that can prove properties of the control software (such as timing constraints, the happening of certain events as a response of some input ). Tools to perform the verification, which can be used easily and are user friendly, but still highly effective. 5

6 An Interesting Case Study Verification of the control software of a thermal power plant: the Aquaba Plant (courtesy of ABB Sae Sadelmi). 6

7 The Plant V4i Water L1-L2 Tank V1i V2i F1 F2 Air Ejector Loss P1 V1 M M M M V2 P2 Recirculation Valve w1-w2 P1-P2 Gland Steam Loss L. P. Heater Loss L.P. Turbine Deaerator Level Valve Cond Storage Tank 7

8 The Control Scheme Logic Control Modulating Control HMI Interface Modulating Control Plant Logic Control 8

9 The Modulating Control Scheme Level Measurement Pressure Measurement Flow Measurement CONDENSATE HOT WELL LEVEL CONTROLLER Feedforward Signal CONDENSATE EXTRACTION PUMPS MINUMUM FLOW CONTROLLER Level Valve Stem Position Recirculation Valve Stem Position 9

10 Group Control Stand By Selector High Level The Logic Control Scheme Sequence Control & Step (Branch 1) Sequence Control & Step (Branch 2) Middle Level Drive Motor Valve 1 Drive Motor Pump 1 Drive Motor Valve 2 Drive Motor Pump 2 Low Level Field 10

11 Logic Control: Architecture Hierarchical Structure, three levels: High Level (Group Control, Stand-By Selector): coordination and control of the two extraction branches. Middle Level (Sequence Control, Step Program): one independent control for each extraction branch. Low Level Drive Level (Valve Control, Pump Control): it effects the physical devices of the plant, open/close & start/stop motorized valves and pumps. Each Level Communicates with the level above and below and can receive feedback signals from the plant. 11

12 The Logic Control Specifications Natural Language (NLS): Desired behavior expressed in natural language Really simple and systematic. Logical nets: Classical logical gates. Non-standard components (timeouts, rising/falling edge detectors). 12

13 A Verification Approach: From Natural Language Specifications to Specifications Equations Rules Equations This Process Can Be Automated Analysis Software Properties to Check 13

14 From Natural Language to Rules NLS (neglecting the presence of timers): Easily translated into a set of formal rules. Formal Rules Classical boolean operators (, U,,, ) Binary variables. Binary Variables Logical signals exchanged (inputs & outputs) Feedback signals from the field. Auxiliary variables (low number). 14

15 From Rules to Equations (Translation Scheme) A A = 1 A 1 - A = 1 A B AB = 1 A U B A + B - AB = 1 A B A(B - 1) + 1 = 1 A B 2AB - A - B + 1 = 1 15

16 Translation Example Low Level, Valve/Pump Control: Priority Logic Specifications NLS Automatic orders A0, A1 are active only if the drive is in Automatic mode and Remote is not selected Formal Rule (A0A A1A) (AUTO REM) Equation 2*A0A*A1A*AUTO-2*A0A*A1A*AUTO*REM- A0A*A1A-AUTO+AUTO*REM=0 16

17 The Timer Component Scheme IN Td OUT If IN holds for a period of time grater or equal to Td, then OUT goes to one. As soon as IN goes to zero, so does OUT IN OUT Td time 17

18 The Timer Modeling Continuous Model (Equations and inequalities, continuous and binary variables) Close to the real component functioning. Too complicated for useful analysis. Discrete Model (One Integer parameter Kd) OUT=IN*IN1*IN2* IN(Kd-1) Variables number explosion. 18

19 The Equations Analysis Operational Research Software: AMPL plus, student edition v1.6. The equations are the constraints of an Operational Research Program. The properties to be checked are expressed as the objective function or as additional constraints. The software has major numerical limitation (our set of equations leads to a nonlinear binary program or to a nonlinear mixed-integer program) 19

20 Rules/Equations Based Approach: Possibilities and Drawbacks Easy formal translation from specification into rules and from rules into equations. The formal analysis deals with the possible solutions of a set of algebraic equations. All the rules are processed in parallel. Difficulties in the modeling of some components. Complex numerical analysis for the set of equations. 20

21 Rules/Equations Based Approach: Results and Future Directions Profitable approach: easy and fast passage from informal specifications to formal rules. Modeling of nonstandard components (e.g. Timer) Analysis of the nonlinear equations system (only small parts of the logic have been analyzed). Possible future improvements New translation scheme ( linear system of inequalities) New algorithms for the nonlinear equations system analysis 21

22 A Classic Verification Approach: Model Checking Specifications System Model Analysis Software Properties to Check 22

23 Model Checking Formal analysis technique, it has been developed to automatically validate functional properties for software or hardware systems. Properties are specified using some sort of a temporal logic or using automata. A model checker can evaluate the validity of the temporal properties over the model. Model checking validation can be implemented as a push-button process (returns a positive result or an error trail). 23

24 The Software: SPIN and Promela SPIN (model checker) accepts design specifications written in the verification language PROMELA (a Process Meta Language) accepts correctness claims specified in the syntax of standard Linear Temporal Logic (LTL). performs the analysis with optimized algorithms which are both memory/time saving and effective Promela (the input language for SPIN) C-like style, easy to understand and to use Nondeterministic execution flow possibilities, support for processes concurrency. 24

25 The Tool Structure XSpin Front-End (TCL/TK code) PROMELA Parser LTL Parser And Translator 1. Syntax Error Reports 2. Interactive Simulation 3. Verifier Generator Optimized Model Checker (ANSI C Code) Counter - Examples Executable On-The-Fly Verifier 25

26 Logic Control Verification with SPIN Promela program that models the Logic Control behavior as described in the specifications (NLS and Logic Nets) SPIN Interactive/Automatic simulator. Checking of the entire state space against properties expressed in LTL logic. 26

27 A Comparison Case: SPIN VS Matlab (1) Drive Level, Valve/Pump Control: Priority Logic Specifications. 30 binary variables (18 inputs, 2 outputs, 10 auxiliary variables). Promela program (property driven inputs generation). Matlab equivalent script (exhaustive inputs generation, 2 18 cases). 27

28 A Comparison Case: SPIN VS Matlab (2) Property checking trough an assertion on outputs Spin: [ ]!(Open && Close) Matlab: : if (Open*Close==1) error The property resulted satisfied Spin analysis time 8 seconds (5.2 MB of memory usage) Matlab analysis time 24 minutes (PC Pentium II 350, 384 MB ram, Windows 2000 Pro Spin version Matlab version 5.3) Writing the two programs took about the same time. 28

29 Model Checking Approach (SPIN): Possibilities and Drawbacks Verification of a large number of properties (LTL formulae) Pushbutton method. Modular/Global verification. Easy and meaningful modeling. Promela program close to the real implementation: good prototype. Intelligent test cases (property-driven). Counterexample eventually generated. Little numerical capabilities (No plant/control integrated verification possible) Dummy models for the field 29

30 Model Checking Approach (SPIN): Results Completed the analysis of the low-level, middle- level and high-level Logic Control, with formal checking of many properties, involving consistency, correctness, safety and system responses to specified inputs. Currently performing the global analysis. At present this method and this tool seem to be a profitable choice for Logic Control formal verification. 30

31 Research Results and Future Directions Logic Control Verification (results) Rule/Equations approach: very innovative and promising, but still not ready to be used and with majors drawbacks. Model Checking approach: a single tool has been analyzed, with good results and interesting possibilities for industry applications. Logic Control Verification (work in progress) Use of Theorem Provers with the rules (Heerhugo( Heerhugo) Modulating Control Verification (work in progress) Hybrid model for Plant and Control: analysis with specific tools (Checkmate) 31

32 Essential Bibliography A. Ballarino Verifica Funzionale Del Software Di Controllo Di Un Processo Industriale Tramite Tecniche Basate Sulla Simulazione (Tesi( di Laurea, Politecnico di Milano,, 2001) ABB Sae Sadelmi Control Specifications for the Aquaba Plant (Various Documents, 1996) A. Benporad,, M. Morari Control of Systems Integrating Logic, Dynamics, and Constraints (Automatica( Automatica,, Vol. 35, No. 3, pp , 1999) R. Bruni,, G. Fasano,, G. Liuzzi Appunti sulla sintassi e sui comandi di AMPL Plus v1.6 (Course Lab. Manual, 2001) G. Brat, K. Havelund,, S. Park, W. Visser Model checking programs (IEEE International Conference on Automated Software Engineering, September 2000) G. J Holtzmann The Model Checker Spin (IEEE Transaction on Software Engineering, Vol. 23, No. 5, May 1997) R. Gerth Simple On-the-fly Automatic Verification of Linear Temporal Logic, (Proc. 15th Work. Protocol Specification, Testing, and Verification, Warsaw, June North-Holland) 32

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Sequential Function Chart

Sequential Function Chart Production Systems Control Automation Engineering 2011-2012 Sequential Function Chart Prof. Luca Ferrarini Eng. Giancarlo Mantovani Politecnico di Milano Dipartimento di Elettronica e Informazione Index

More information

Model Checking for Autonomy Software

Model Checking for Autonomy Software Model Checking for Autonomy Software Charles Pecheur RIACS / ASE Group, NASA Ames Charles Pecheur, RIACS / NASA Ames 1 Contents Model Checking for Autonomy Software Why? Autonomy software, how to verify

More information

Promela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN

Promela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN Promela and SPIN Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH Promela and SPIN Promela (Protocol Meta Language): Language for modelling discrete, event-driven

More information

Formal Methods for Software Development

Formal Methods for Software Development Formal Methods for Software Development Verification with Spin Wolfgang Ahrendt 07 September 2018 FMSD: Spin /GU 180907 1 / 34 Spin: Previous Lecture vs. This Lecture Previous lecture Spin appeared as

More information

The Maude LTL Model Checker and Its Implementation

The Maude LTL Model Checker and Its Implementation The Maude LTL Model Checker and Its Implementation Steven Eker 1,José Meseguer 2, and Ambarish Sridharanarayanan 2 1 Computer Science Laboratory, SRI International Menlo Park, CA 94025 eker@csl.sri.com

More information

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen INF672 Protocol Safety and Verication Karthik Bhargavan Xavier Rival Thomas Clausen 1 Course Outline Lecture 1 [Today, Sep 15] Introduction, Motivating Examples Lectures 2-4 [Sep 22,29, Oct 6] Network

More information

Verification of Intelligent Software

Verification of Intelligent Software Verification of Intelligent Software Charles Pecheur (RIACS / NASA Ames) Charles Pecheur 2003 1 Contents Model Checking for Intelligent Software Why? Intelligent software, how to verify it? What? A bird's-eye

More information

Applications of Program analysis in Model-Based Design

Applications of Program analysis in Model-Based Design Applications of Program analysis in Model-Based Design Prahlad Sampath (Prahlad.Sampath@mathworks.com) 2018 by The MathWorks, Inc., MATLAB, Simulink, Stateflow, are registered trademarks of The MathWorks,

More information

USER MANUAL OF THERMAL POWER PLANT (TPP) SIMULATOR SOFTWARE

USER MANUAL OF THERMAL POWER PLANT (TPP) SIMULATOR SOFTWARE USER MANUAL OF THERMAL POWER PLANT (TPP) SIMULATOR SOFTWARE This is the manual for Thermal Power Plant (TPP) Simulator laboratory exercise. The manual consists of useful information about simulator software,

More information

Using Model Checking to Generate Tests from Requirement Specifications

Using Model Checking to Generate Tests from Requirement Specifications Using Model Checking to Generate Tests from Requirement Authors: A. Gargantini & C. Heitmeyer Presented By Dishant Langayan Overview Automate construction of test sequences from a SCR requirements specification

More information

Distributed Systems Programming (F21DS1) SPIN: Formal Analysis I

Distributed Systems Programming (F21DS1) SPIN: Formal Analysis I Distributed Systems Programming (F21DS1) SPIN: Formal Analysis I Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Introduce

More information

The SPIN Model Checker

The SPIN Model Checker The SPIN Model Checker Metodi di Verifica del Software Andrea Corradini Lezione 1 2013 Slides liberamente adattate da Logic Model Checking, per gentile concessione di Gerard J. Holzmann http://spinroot.com/spin/doc/course/

More information

From Interaction Overview Diagrams to Temporal Logic

From Interaction Overview Diagrams to Temporal Logic From Interaction Overview Diagrams to Temporal Logic Politecnico di Milano Dipartimento di Elettronica e Informazione Luciano Baresi, Angelo Morzenti, Alfredo Motta, Matteo Rossi {baresi morzenti motta

More information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001 Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright

More information

Distributed Systems Programming (F21DS1) SPIN: Simple Promela INterpreter

Distributed Systems Programming (F21DS1) SPIN: Simple Promela INterpreter Distributed Systems Programming (F21DS1) SPIN: Simple Promela INterpreter Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview

More information

CS/ECE 5780/6780: Embedded System Design

CS/ECE 5780/6780: Embedded System Design CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 18: Introduction to Verification What is verification? Verification: A process that determines if the design conforms to the specification.

More information

Modeling and Verification of Marine Equipment Systems Using a Model Checker

Modeling and Verification of Marine Equipment Systems Using a Model Checker Modeling and Verification of Marine Equipment Systems Using a Model Checker Shunsuke YAO Hiroaki AWANO Yasushi HIRAOKA Kazuko TAKAHASHI Abstract We discuss the modeling and verification of marine equipment

More information

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271

4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271 Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing

More information

Model Requirements and JAVA Programs MVP 2 1

Model Requirements and JAVA Programs MVP 2 1 Model Requirements and JAVA Programs MVP 2 1 Traditional Software The Waterfall Model Problem Area Development Analysis REVIEWS Design Implementation Costly wrt time and money. Errors are found too late

More information

Use of Non-linear Solver to Check Assertions of Behavioral Descriptions

Use of Non-linear Solver to Check Assertions of Behavioral Descriptions Use of Non-linear Solver to Check Assertions of Behavioral Descriptions I. Ugarte, P. Sanchez Microelectronics Engineering Group. TEISA Deparment. ETSIIT. University of Cantabria {ugarte, sanchez}@teisa.unican.es

More information

Model Checking with Automata An Overview

Model Checking with Automata An Overview Model Checking with Automata An Overview Vanessa D Carson Control and Dynamical Systems, Caltech Doyle Group Presentation, 05/02/2008 VC 1 Contents Motivation Overview Software Verification Techniques

More information

References: Thomas A. Henzinger (1996): The theory of hybrid automata In: Annual IEEE Symposium on Logic in Computer Science

References: Thomas A. Henzinger (1996): The theory of hybrid automata In: Annual IEEE Symposium on Logic in Computer Science Hybrid Systems Modeling In today's fast evolving technologies where the line between analog and digital systems is getting blurred, systems consist of a mix of continuous and discrete components. A discrete

More information

Figure 1. Closed-loop model.

Figure 1. Closed-loop model. Model Transformation between MATLAB Simulink and Function Blocks Chia-han (John) Yang and Valeriy Vyatkin Department of Electrical and Computer Engineering University of Auckland cyan034@ec.auckland.ac.nz,

More information

Distributed Systems Programming (F21DS1) SPIN: Formal Analysis II

Distributed Systems Programming (F21DS1) SPIN: Formal Analysis II Distributed Systems Programming (F21DS1) SPIN: Formal Analysis II Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Introduce

More information

Hybrid System Modeling: Operational Semantics Issues

Hybrid System Modeling: Operational Semantics Issues Hybrid System Modeling: Operational Semantics Issues Edward A. Lee Professor UC Berkeley OMG Technical Meeting Feb. 4, 2004 Anaheim, CA, USA Special thanks to Jie Liu, Xiaojun Liu, Steve Neuendorffer,

More information

On Nested Depth First Search

On Nested Depth First Search DIMACS Series in Discrete Mathematics and Theoretical Computer Science Volume 32, 1997 On Nested Depth First Search Gerard J. Holzmann, Doron Peled, and Mihalis Yannakakis The SPIN. ABSTRACT. We show in

More information

Verifying control systems using CSP, FDR, and Handel-C.

Verifying control systems using CSP, FDR, and Handel-C. erifying control systems using CSP, FDR, and Handel-C. 01 Verifying control systems using CSP, FDR, and Handel-C. Alistair A. McEwan University of Surrey erifying control systems using CSP, FDR, and Handel-C.

More information

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI).

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI). Sérgio Campos scampos@dcc.ufmg.br Why? Imagine the implementation of a complex hardware or software system: A 100K gate ASIC perhaps 100 concurrent modules; A flight control system dozens of concurrent

More information

Design and Analysis of Distributed Interacting Systems

Design and Analysis of Distributed Interacting Systems Design and Analysis of Distributed Interacting Systems Lecture 5 Linear Temporal Logic (cont.) Prof. Dr. Joel Greenyer May 2, 2013 (Last Time:) LTL Semantics (Informally) LTL Formulae are interpreted on

More information

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,

More information

SPIN: Introduction and Examples

SPIN: Introduction and Examples SPIN: Introduction and Examples Alessandra Giordani agiordani@disi.unitn.it http://disi.unitn.it/~agiordani Formal Methods Lab Class, September 28, 2014 *These slides are derived from those by Stefano

More information

Formal Methods in Software Engineering. Lecture 07

Formal Methods in Software Engineering. Lecture 07 Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness

More information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification? Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little

More information

Sérgio Campos, Edmund Clarke

Sérgio Campos, Edmund Clarke Sérgio Campos, Edmund 1 / 23 Model checking is a technique that relies on building a finite model of a system and checking that a desired property holds in that model. The check is performed by an exhaustive

More information

THE MODEL CHECKER SPIN

THE MODEL CHECKER SPIN THE MODEL CHECKER SPIN Shin Hong, KAIST 17 th April,2007 1/33 Contents Introduction PROMELA Linear Temporal Logic Automata-theoretic software verification Example : Simple Elevator 2 SPIN is a software

More information

Simulation and Verification of Timed and Hybrid Systems

Simulation and Verification of Timed and Hybrid Systems Simulation and Verification of Timed and Hybrid Systems Bert van Beek and Koos Rooda Systems Engineering Group Eindhoven University of Technology ISC 2007 Delft 11 June 2007 Bert van Beek and Koos Rooda

More information

MFS605/EE605 Systems for Factory Information and Control

MFS605/EE605 Systems for Factory Information and Control MFS605/EE605 Systems for Factory Information and Control Lecture 9 PLCs (half lecture) Fall 2005 Larry Holloway Dept. of Electrical Engineering and Center for Robotics and Manufacturing Systems 1 So far

More information

Iterative Specification Refinement in Deriving Logic Controllers

Iterative Specification Refinement in Deriving Logic Controllers 17 th European Symposium on Computer Aided Process Engineering ESCAPE17 V. Plesu and P.S. Agachi (Editors) 2007 Elsevier B.V. All rights reserved. 1 Iterative Specification Refinement in Deriving Logic

More information

InstrumentationTools.com

InstrumentationTools.com Author: Instrumentation Tools Categories: PLC Tutorials PLC Ladder Logic : Contacts and coils The most elementary objects in Ladder Diagram programming are contacts and coils, intended to mimic the contacts

More information

FORMAL METHODS IN NETWORKING COMPUTER SCIENCE 598D, SPRING 2010 PRINCETON UNIVERSITY LIGHTWEIGHT MODELING IN PROMELA/SPIN AND ALLOY

FORMAL METHODS IN NETWORKING COMPUTER SCIENCE 598D, SPRING 2010 PRINCETON UNIVERSITY LIGHTWEIGHT MODELING IN PROMELA/SPIN AND ALLOY FORMAL METHODS IN NETWORKING COMPUTER SCIENCE 598D, SPRING 2010 PRINCETON UNIVERSITY LIGHTWEIGHT MODELING IN PROMELA/SPIN AND ALLOY Pamela Zave AT&T Laboratories Research Florham Park, New Jersey, USA

More information

Formal Methods and their role in Software and System Development. Riccardo Sisto, Politecnico di Torino

Formal Methods and their role in Software and System Development. Riccardo Sisto, Politecnico di Torino Formal Methods and their role in Software and System Development Riccardo Sisto, Politecnico di Torino What are Formal Methods? Rigorous (mathematical) methods for modelling and analysing (computer-based)

More information

Lecture 9: Reachability

Lecture 9: Reachability Lecture 9: Reachability Outline of Lecture Reachability General Transition Systems Algorithms for Reachability Safety through Reachability Backward Reachability Algorithm Given hybrid automaton H : set

More information

Formal Modeling for Persistence Checking of Signal Transition Graph Specification with Promela

Formal Modeling for Persistence Checking of Signal Transition Graph Specification with Promela , March 15-17, 2017, Hong Kong Formal Modeling for Persistence Checking of Signal Transition Graph Specification with Promela Kanut Boonroeangkaow, Arthit Thongtak and Wiwat Vatanawood Abstract Signal

More information

Overview of SRI s. Lee Pike. June 3, 2005 Overview of SRI s. Symbolic Analysis Laboratory (SAL) Lee Pike

Overview of SRI s. Lee Pike. June 3, 2005 Overview of SRI s. Symbolic Analysis Laboratory (SAL) Lee Pike June 3, 2005 lee.s.pike@nasa.gov Model-Checking 101 Model-checking is a way automatically to verify hardware or software. For a property P, A Model-checking program checks to ensure that every state on

More information

MP 6 Modeling in Promela and SPIN

MP 6 Modeling in Promela and SPIN MP 6 Modeling in Promela and SPIN CS 477 Spring 2018 Revision 1.0 Assigned April 23, 2018 Due May 2, 2018, 9:00 PM Extension 48 hours (penalty 20% of total points possible) 1 Change Log 1.0 Initial Release.

More information

Specification Centered Testing

Specification Centered Testing Specification Centered Testing Mats P. E. Heimdahl University of Minnesota 4-192 EE/CS Building Minneapolis, Minnesota 55455 heimdahl@cs.umn.edu Sanjai Rayadurgam University of Minnesota 4-192 EE/CS Building

More information

Model-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner

Model-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at 1.

More information

Formal Verification of 800 Genetically Constructed Automata Programs: A Case Study

Formal Verification of 800 Genetically Constructed Automata Programs: A Case Study Formal Verification of 800 Genetically Constructed Automata Programs: A Case Study Mikhail Lukin, Maxim Buzdalov, and Anatoly Shalyto ITMO University 49 Kronverkskiy prosp. Saint-Petersburg, Russia, 197101

More information

SCC Inc. TS-D Series. Technical Instructions. Document No. TS-3000 March 10, Deaerator, Surge and/or Condensate Control Panel.

SCC Inc. TS-D Series. Technical Instructions. Document No. TS-3000 March 10, Deaerator, Surge and/or Condensate Control Panel. Deaerator, Surge and/or Condensate Control Panel March 10, 2017 Description A TS-D series control system manages lead/lag operation of an individual deaerator (DA), surge, condensate, or a combination

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

Formal Methods for Software Development

Formal Methods for Software Development Formal Methods for Software Development Model Checking with Temporal Logic Wolfgang Ahrendt 21st September 2018 FMSD: Model Checking with Temporal Logic /GU 180921 1 / 37 Model Checking Check whether a

More information

Introduction & Formal Methods

Introduction & Formal Methods Introduction & Formal Methods http://d3s.mff.cuni.cz Jan Kofroň CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Introduction to dependable systems NSWE 002 What you learn: Dependable systems

More information

CombustionMaster Control Solutions. Unique Combustion Control for Gas and/or Oil-Fired Boilers

CombustionMaster Control Solutions. Unique Combustion Control for Gas and/or Oil-Fired Boilers CombustionMaster Control Solutions Unique Combustion Control for Gas and/or Oil-Fired Boilers Unique Combustion Control Solution for Gas and/or Oil-Fired Boilers The CombustionMaster system from Rockwell

More information

The Spin Model Checker : Part I/II

The Spin Model Checker : Part I/II The Spin Model Checker : Part I/II Moonzoo Kim CS Dept. KAIST Korea Advanced Institute of Science and Technology Motivation: Tragic Accidents Caused by SW Bugs 2 Cost of Software Errors June 2002 Software

More information

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12 Model Checking mc Revision:.2 Model Checking for Infinite Systems mc 2 Revision:.2 check algorithmically temporal / sequential properties fixpoint algorithms with symbolic representations: systems are

More information

Tool demonstration: Spin

Tool demonstration: Spin Tool demonstration: Spin 1 Spin Spin is a model checker which implements the LTL model-checking procedure described previously (and much more besides). Developed by Gerard Holzmann of Bell Labs Has won

More information

JPF SE: A Symbolic Execution Extension to Java PathFinder

JPF SE: A Symbolic Execution Extension to Java PathFinder JPF SE: A Symbolic Execution Extension to Java PathFinder Saswat Anand 1,CorinaS.Păsăreanu 2, and Willem Visser 2 1 College of Computing, Georgia Institute of Technology saswat@cc.gatech.edu 2 QSS and

More information

Model Checking Temporal Metric Specifications with Trio2Promela

Model Checking Temporal Metric Specifications with Trio2Promela Model Checking Temporal Metric Specifications with Trio2Promela Domenico Bianculli 1, Paola Spoletini 2, Angelo Morzenti 2, Matteo Pradella 3, and Pierluigi San Pietro 2 1 Faculty of Informatics, University

More information

Formal Verification. Lecture 10

Formal Verification. Lecture 10 Formal Verification Lecture 10 Formal Verification Formal verification relies on Descriptions of the properties or requirements of interest Descriptions of systems to be analyzed, and rely on underlying

More information

Formal Verification in Industry

Formal Verification in Industry Formal Verification in Industry 1 Formal Verification in Industry John Harrison Intel Corporation The cost of bugs Formal verification Machine-checked proof Automatic and interactive approaches HOL Light

More information

Network Protocol Design and Evaluation

Network Protocol Design and Evaluation Network Protocol Design and Evaluation 05 - Validation, Part I Stefan Rührup Summer 2009 Overview In the last lectures: Specification of protocols and data/message formats In this chapter: Building a validation

More information

Computer Lab 1: Model Checking and Logic Synthesis using Spin (lab)

Computer Lab 1: Model Checking and Logic Synthesis using Spin (lab) Computer Lab 1: Model Checking and Logic Synthesis using Spin (lab) Richard M. Murray Nok Wongpiromsarn Ufuk Topcu Calornia Institute of Technology AFRL, 25 April 2012 Outline Spin model checker: modeling

More information

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series Design Verification An Introduction Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap

More information

CS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG)

CS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG) CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG) Objectives Introduce Pushdown Automaton (PDA) Show that PDA = CFG In terms of descriptive power Pushdown Automaton (PDA) Roughly

More information

Design of Internet Protocols:

Design of Internet Protocols: CSCI 234 Design of Internet Protocols: George Blankenship George Blankenship 1 Outline Verication and Validation History and motivation Spin Promela language Promela model George Blankenship 2 Verication

More information

Verifying Parallel Programs

Verifying Parallel Programs Verifying Parallel Programs Stephen F. Siegel The Verified Software Laboratory Department of Computer and Information Sciences University of Delaware, Newark, USA http://www.cis.udel.edu/~siegel SIG-NEWGRAD

More information

PLC Fundamentals. Module 2: Hardware and Terminology. Academic Services Unit PREPARED BY. August 2011

PLC Fundamentals. Module 2: Hardware and Terminology. Academic Services Unit PREPARED BY. August 2011 PLC Fundamentals Module 2: Hardware and Terminology PREPARED BY Academic Services Unit August 2011 Applied Technology High Schools, 2011 ATE1212 PLC Fundamentals Module 2: Hardware and Terminology Module

More information

arxiv:cs/ v1 [cs.lo] 22 Jun 2005

arxiv:cs/ v1 [cs.lo] 22 Jun 2005 The One Page Model Checker arxiv:cs/0506084v1 [cs.lo] 22 Jun 2005 Jason E. Holt isrl@lunkwill.org June 5, 2017 Abstract We show how standard IPC mechanisms can be used with the fork() system call to perform

More information

PLC Fundamentals. Module 3: Programming with Function Blocks. Academic Services Unit PREPARED BY. August 2011

PLC Fundamentals. Module 3: Programming with Function Blocks. Academic Services Unit PREPARED BY. August 2011 PLC Fundamentals Module 3: Programming with Function Blocks PREPARED BY Academic Services Unit August 2011 Applied Technology High Schools, 2011 ATE1212 PLC Fundamentals Module 3: Programming with Function

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Lecture1: Symbolic Model Checking with BDDs. Edmund M. Clarke, Jr. Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213

Lecture1: Symbolic Model Checking with BDDs. Edmund M. Clarke, Jr. Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213 Lecture: Symbolic Model Checking with BDDs Edmund M Clarke, Jr Computer Science Department Carnegie Mellon University Pittsburgh, PA 523 Temporal Logic Model Checking Specification Language: A propositional

More information

Software Testing. Software Testing

Software Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/ developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

Specifying circuit properties in PSL

Specifying circuit properties in PSL Specifying circuit properties in PSL Formal methods Mathematical and logical methods used in system development Aim to increase confidence in riktighet of system Apply to both hardware and software 1 Formal

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

DART: Directed Automated Random Testing. CUTE: Concolic Unit Testing Engine. Slide Source: Koushik Sen from Berkeley

DART: Directed Automated Random Testing. CUTE: Concolic Unit Testing Engine. Slide Source: Koushik Sen from Berkeley DAR: Directed Automated Random esting CUE: Concolic Unit esting Engine Slide Source: Koushik Sen from Berkeley Verification and esting We would like to prove programs correct Verification and esting We

More information

Java PathFinder JPF 2 Second Generation of Java Model Checker

Java PathFinder JPF 2 Second Generation of Java Model Checker Java PathFinder JPF 2 Second Generation of Java Model Checker Guenther Brand Mat. Nr. 9430535 27. 06. 2003 Abstract This essay is based on the papers Java PathFinder, Second Generation of Java Model Checker

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

CPAE PROCESS AUTOMATION INDEX. 2 Brands of PLCs (Keyence & AB) 1 Brands of SCADA (Wonderware Intouch) Pneumatics & Field Instruments

CPAE PROCESS AUTOMATION INDEX. 2 Brands of PLCs (Keyence & AB) 1 Brands of SCADA (Wonderware Intouch) Pneumatics & Field Instruments CPAE INDEX 2 Brands of PLCs (Keyence & AB) 1 Brands of SCADA (Wonderware Intouch) Pneumatics & Field Instruments PROCESS AUTOMATION Distillation Column Superheated Steam Generator Centrifugal Compressor

More information

Automated Reasoning. Model Checking with SPIN (II)

Automated Reasoning. Model Checking with SPIN (II) Automated Reasoning Model Checking with SPIN (II) Alan Bundy page 1 Verifying Global Properties Assertions can be used to verify a property locally For example, place assert(memreturned) at the end of

More information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY T-79.5305 Formal Methods (4 ECTS) T-79.5305 Formaalit menetelmät (4 op) 2006-09-13 Tommi Junttila, Keijo Heljanko, Ilkka Niemelä, and Heikki Tauriainen T-79.5305 Formal Methods, Autumn 2006 1/27 T-79.5305

More information

Model-Checking Concurrent Systems

Model-Checking Concurrent Systems Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang

More information

Xuandong Li. BACH: Path-oriented Reachability Checker of Linear Hybrid Automata

Xuandong Li. BACH: Path-oriented Reachability Checker of Linear Hybrid Automata BACH: Path-oriented Reachability Checker of Linear Hybrid Automata Xuandong Li Department of Computer Science and Technology, Nanjing University, P.R.China Outline Preliminary Knowledge Path-oriented Reachability

More information

Semantic Subtyping. Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud)

Semantic Subtyping.  Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud) Semantic Subtyping Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud) http://www.cduce.org/ Semantic Subtyping - Groupe de travail BD LRI p.1/28 CDuce A functional

More information

Controlling Hybrid Systems

Controlling Hybrid Systems Controlling Hybrid Systems From Theory to Application Manfred Morari M. Baotic, F. Christophersen, T. Geyer, P. Grieder, M. Kvasnica, G. Papafotiou Lessons learned from a decade of Hybrid System Research

More information

PLC Fundamentals. Module 1: Introduction to PLC. Academic Services Unit PREPARED BY. August 2011

PLC Fundamentals. Module 1: Introduction to PLC. Academic Services Unit PREPARED BY. August 2011 PLC Fundamentals PREPARED BY Academic Services Unit August 2011 Applied Technology High Schools, 2011 ATE1212 PLC Fundamentals Module Objectives Upon successful completion of this module, students will

More information

PLC Fundamentals. Module 3: Programming with Function Blocks. Academic Services Unit PREPARED BY. January 2013

PLC Fundamentals. Module 3: Programming with Function Blocks. Academic Services Unit PREPARED BY. January 2013 PLC Fundamentals Module 3: Programming with Function Blocks PREPARED BY Academic Services Unit January 2013 Applied Technology High Schools, 2013 ATE326 PLC Fundamentals Module 3: Programming with Function

More information

Human Machine Interface (HMI) in Simulation of Nonlinear Dynamic Systems Using Matlab-Simulink and InTouch Interface

Human Machine Interface (HMI) in Simulation of Nonlinear Dynamic Systems Using Matlab-Simulink and InTouch Interface XXVI. ASR '2001 Seminar, Instruments and Control, Ostrava, April 26-27, 2001 Paper 1 Human Machine Interface (HMI) in Simulation of Nonlinear Dynamic Systems Using Matlab-Simulink and InTouch Interface

More information

24V, Motorized Actuators

24V, Motorized Actuators 24V, Motorized Actuators AMV 435, 3-point floating Description Main data: Supply voltage: 24 VAC/DC, 50 or 60 Hz Available control input signal versions: -3-point floating Stem travel: 20 mm Selectable

More information

A set-based approach to robust control and verification of piecewise affine systems subject to safety specifications

A set-based approach to robust control and verification of piecewise affine systems subject to safety specifications Dipartimento di Elettronica, Informazione e Bioingegneria A set-based approach to robust control and verification of piecewise affine systems subject to safety specifications Maria Prandini maria.prandini@polimi.it

More information

Automation of Conveyor System and Process Control with Power Reduction Using Efficient PLC Programming and SCADA

Automation of Conveyor System and Process Control with Power Reduction Using Efficient PLC Programming and SCADA Automation of Conveyor System and Process Control with Power Reduction Using Efficient PLC Programming and SCADA N C Padmanaabhan 1, AManikandan 2 U.G. Student, Department of Electronics & Communication

More information

Features and Benefits of XeteX Controls. Other Unit Control Functions. Energy Recovery Functions

Features and Benefits of XeteX Controls. Other Unit Control Functions. Energy Recovery Functions Controls Guide for XeteX Units Beyond meeting the typical specification and performance requirements, controlling the equipment is usually the most important success factor for HVAC projects. XeteX provides

More information

Introduction to Model Checking

Introduction to Model Checking Introduction to Model Checking René Thiemann Institute of Computer Science University of Innsbruck WS 2007/2008 RT (ICS @ UIBK) week 4 1/23 Outline Promela - Syntax and Intuitive Meaning Promela - Formal

More information

DESCRIPTION OF MODBUS CONNECTION

DESCRIPTION OF MODBUS CONNECTION DESCRIPTION OF MODBUS CONNECTION MODBUS CONNECTION There is a possibility to control Air Handling Unit (AHU) from external management system (BMS), which work with MODBUS data processing. For MODBUS connection

More information

GUI for model checkers

GUI for model checkers GUI for model checkers by Bo Wang THESIS MASTER OF SCIENCE Department of Computer Science Faculty of EEMCS Delft University of Technology June, 2006 Colophon Author: Bo Wang Student id: 1235931 E-mail:

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Model Checking with Temporal Logic Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification

More information

Vom Konzept zum Modell physikalischer Systeme Smarter Modellieren mit Simscape

Vom Konzept zum Modell physikalischer Systeme Smarter Modellieren mit Simscape Vom Konzept zum Modell physikalischer Systeme Smarter Modellieren mit Simscape A B T P T + - 12V Up V- V+ Down Up Down M Maximilian Apfelbeck MathWorks München, 9.07.2014 2014 The MathWorks, Inc. 1 Key

More information

Verification, Validation and Test in Model Based Design Manohar Reddy

Verification, Validation and Test in Model Based Design Manohar Reddy Verification, Validation and Test in Model Based Design Manohar Reddy 2015 The MathWorks, Inc. 1 Continuous Test & Verification Productivity + Model & Code Quality System & Component Dynamic testing &

More information