Inferring Automation Logic from Manual Control Scenarios: Implementation in Function Blocks ’15, Helsinki, Finland, August 21, 2015 Daniil Chivilikhin.

Slides:



Advertisements
Similar presentations
Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
Advertisements

How SAS implements structured programming constructs
Creation of Automaton Classes from Graphical Models and Automatic Solution for Inverse Problem Yuri A. Gubin student of SPb SU ITMO supervised by Anatoly.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
50.530: Software Engineering Sun Jun SUTD. Week 10: Invariant Generation.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Conditional statements and Boolean expressions. The if-statement in Java (1) The if-statement is a conditional statement The statement is executed only.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Starting Out with C++, 3 rd Edition 1 Chapter 1. Introduction to Computers and Programming.
Automata Based Programming Anatoly Shalyto, Fedor Tsarev Saint-Petersburg State University of Information Technologies, Mechanics and Optics.
COSC 120 Computer Programming
08/07/041 CSE-221 Digital Logic Design (DLD) Lecture-8:
On-the-fly Model Checking from Interval Logic Specifications Manuel I. Capel & Miguel J. Hornos Dept. Lenguajes y Sistemas Informáticos Universidad de.
Algorithms. Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing.
Lecturer: Dr. AJ Bieszczad Chapter 76-1 Software engineering standards Standards for you Standards for others Matching design with implementation.
Chapter 3 Planning Your Solution
Your Interactive Guide to the Digital World Discovering Computers 2012.
Digital Logic Lecture 08 By Amr Al-Awamry. Combinational Logic 1 A combinational circuit consists of an interconnection of logic gates. Combinational.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
CS102 Introduction to Computer Programming
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Intro to Java Programming  A computer follows the instruction precisely and exactly.  Anything has to be declared and defined before it can be used.
Combining Exact and Metaheuristic Techniques For Learning Extended Finite-State Machines From Test Scenarios and Temporal Properties ICMLA ’14 December.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Inferring Temporal Properties of Finite-State Machines with Genetic Programming GECCO’15 Student Workshop July 11, 2015 Daniil Chivilikhin PhD student.
Reconstruction of Function Block Logic using Metaheuristic Algorithm: Initial Explorations INDIN ’15, Cambridge, UK, July 23, 2015 Daniil Chivilikhin PhD.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 3.
Generic API Test tool By Moshe Sapir Almog Masika.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
CSci 111 – computer Science I Fall 2014 Cynthia Zickos WRITING A SIMPLE PROGRAM IN JAVA.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
CMP-MX21: Lecture 4 Selections Steve Hordley. Overview 1. The if-else selection in JAVA 2. More useful JAVA operators 4. Other selection constructs in.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Extended Finite-State Machine Inference with Parallel Ant Colony Based Algorithms PPSN’14 September 13, 2014 Daniil Chivilikhin PhD student ITMO.
Extended Finite-State Machine Induction using SAT-Solver Vladimir Ulyantsev, Fedor Tsarev St. Petersburg National.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
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.
Useful IDLE Alt-ENTER Commenting-out. Writing a Program CMSC 120: Visualizing Information 2/14/08.
Introduction to Loops For Loops. Motivation for Using Loops So far, everything we’ve done in MATLAB, you could probably do by hand: Mathematical operations.
CSE Winter 2008 Introduction to Program Verification January 15 tautology checking.
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
Combinational Circuits
System To Generate Test Data: The Analysis Program Syed Nabeel.
Lecture 3: Developing Procedural Thinking (How to think like a programmer) B Burlingame 16 Feb 2016.
Improved Path Clustering for Adaptive Path-Delay Testing Tuck-Boon Chan* and Prof. Andrew B. Kahng*# UC San Diego ECE* & CSE # Departments.
Saint-Petersburg State University ITMO Automata-based Algorithms Visualization Framework Georgiy Korneev Computer Technology Department,
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Computer Systems Laboratory Stanford University Clark W. Barrett David L. Dill Aaron Stump A Framework for Cooperating Decision Procedures.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Lecture 1 Gunjeet kaur Dronacharya group of institutions.
Introduction to Programming and Visual Basic
CSCI-235 Micro-Computer Applications
1-1 Logic and Syntax A computer program is a solution to a problem.
Daniil Chivilikhin and Vladimir Ulyantsev
Chapter 1. Introduction to Computers and Programming
Programming Right from the Start with Visual Basic .NET 1/e
Daniil Chivilikhin, Igor Buzhinsky, Vladimir Ulyantsev,
Presentation transcript:

Inferring Automation Logic from Manual Control Scenarios: Implementation in Function Blocks ’15, Helsinki, Finland, August 21, 2015 Daniil Chivilikhin PhD student ITMO University Anatoly Shalyto Dr. Sci., professor ITMO University Valeriy Vyatkin Dr. Eng., professor, Aalto University, Luleå University of Technology

1. View MVC application engineering 2/33 2. Model use to debug 3. Controller

1. View MVC application engineering 3/33 2. Model use to debug 3. Automated controller generation 3. Automated controller generation 4. Controller

Problem statement Develop a method for automated controller generation for MVC applications 4/33

Implementation: IEC function blocks Execution Control Chart (ECC)Function block interface 5/33

IEC Execution Control Chart 6/33 states

IEC Execution Control Chart Guard conditions Boolean formulas input/output variables internal variables constants 7/33

IEC Execution Control Chart Algorithms Change output variables 8/33

Assumptions and simplifications Model and View are implemented Only Boolean input/output variables Guard conditions – only input variables 9/33

Proposed approach 10/33

HMI generation M.I: Model’s inputs that should be set by Controller M.O: Model’s outputs to be used in controller 11/33

Refactored MVC scheme 12

Execution scenario 13/33 s0s0 s1s1 s2s2 s3s3 s4s4 s5s5 Input event Input variables Output variables Output event REQ CNF

Recording execution scenarios Automated refactoring Dummy function block 14/33

ECC construction algorithm: previous work Metaheuristic algorithm Chivilikhin et al. Reconstruction of Function Block Logic using Metaheuristic Algorithm: Initial Explorations / In Proceedings of the 13th IEEE International Conference on Industrial Informatics (INDIN'15) No theoretical bounds on running time In one special case we can do better! 15/33

Exact ECC construction If each algorithm is used in exactly one state We can determine algorithms automatically And then construct the ECC + only for Boolean inputs/outputs! 16/33

Proposed ECC construction algorithm 1.Determine minimal set of state algorithms 2.Construct ECC from scenarios labeled by found algorithms 3.Simplify ECC 17/33

Algorithm representation Algorithms are strings over {‘0’, ‘1’, ‘x’} a i =‘0’: set z i =0 a i =‘1’: set z i =1 a i =‘x’: preserve value of z i Example 18/33 x a z a(z)

Determine initial set of simple algorithms For each scenario s and each pair of elements s i and s i+1 Calculate algorithm a for transforming s i → s i+1 Function calcAlg(s i,s i+1 ) Example xx10 sisi s i+1 a 19/33

Determine initial set of simple algorithms 20/33

Merge algorithms Function merge(a, b)Example 0x10 011x 0x1x a b m ab 21/33

Only consistent algorithms are merged Algorithms are consistent if they don’t have contradicting elements 0x10 111x contradiction 22/33

Checking if merge is valid Invariant: algorithms are sufficient to represent all scenarios For each scenario s For each s i and s i+1 A’ ← A \ {a, b} A’ ← A’ U {m ab } if A’ satisfies invariant then A ← A’ 23/33

Merging algorithms: pseudocode Try to merge each pair of algorithms Until no more merges can be made 24/33

Constructing ECC using found algorithms 25/33

Constructing ECC using found algorithms 26/33

Simplifying ECC Constructed ECCs are redundant Each guard depends on all input variables 6 -> 5 ["REQ [c1Home & !c1End & vcEnd & !pp2]"]; 6 -> 5 ["REQ [c1Home & !c1End & vcEnd & pp2] "]; 7 -> 0 ["REQ [vcHome & !vac]"]; 7 -> 3 ["REQ [vcHome & vac]"]; 8 -> 7 ["REQ [!c1End & c2End]"]; 8 -> 7 [“REQ [c1End & !c2End]"]; 8 -> 7 ["REQ [c1End & c2End]"]; 9 -> 1 [“REQ [c2End & vcHome & !vac]"]; 6 -> 5 ["REQ [vcEnd]"]; 7 -> 0 ["REQ [vcHome & !vac]"]; 7 -> 3 ["REQ [vcHome & vac]"]; 8 -> 7 ["REQ [!c2End]"]; 8 -> 7 ["REQ [c2End]"]; 9 -> 1 ["REQ [c2End]"]; 27/33

Experiments: Pick-n-Place manipulator 28/33

Experiment setup 10 tests: order of work piece deployment 1, 1-2, 2-3, 1-2-3, 2, 2-1, 2-3, 3-2, /33

Experiment protocol Record scenarios Construct ECC Simulate in FBDK Convert to Java & compile 30/33

Results Proposed method constructs the ECC in less than a minute Previous method required ~ 4.5 hours on 16-core machine Simulation showed that the ECC works correctly 31/33

Limitations & Future work Approach is only useful if manual control is easier than designing the ECC User bears all responsibility for scenario correctness and completeness What about generalizing? Consider temporal properties 32/33

Acknowledgements This work was financially supported by the Government of Russian Federation, Grant 074-U01. 33/33

Thank you for your attention! rain.ifmo.ru/~chivdan