Uncertainty in Automation: Anomaly Detection in Event-Based Systems Dawn Tilbury Linday Allen (PhD) and John Broderick University of Michigan.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Computer Architecture
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Decision Tree Approach in Data Mining
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
ERROR CORRECTION.
CS 111: Introduction to Programming Midterm Exam NAME _________________ UIN __________________ 10/30/08 1.Who is our hero? 2.Why is this person our hero?
Programming Types of Testing.
 An Operation or action step  another process step or series of process flow steps that are formally defined elsewhere.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Test Logging and Automated Failure Analysis Why Weak Automation Is Worse Than No Automation Geoff Staneff
Diagnosis of Discrete Event Systems Meir Kalech Partly based on slides of Gautam Biswass.
Space Shuttle Engine Valve Anomaly Detection by Data Compression Matt Mahoney.
Exceptions in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
The Programming Discipline Professor Stephen K. Kwan 2010 Things you need to know (learn) for developing large computer programs.
Simulation.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Testing HCI Usability Testing. Chronological order of testing Individual program units are built and tested (white-box testing / unit testing) Units are.
Chapter 1 Data Storage. 2 Chapter 1: Data Storage 1.1 Bits and Their Storage 1.2 Main Memory 1.3 Mass Storage 1.4 Representing Information as Bit Patterns.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
The Programming Discipline Professor Stephen K. Kwan Things you need to know (learn) for developing large computer programs.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Unit 3a Industrial Control Systems
1 Part I: Machine Architecture 4 A major process in the development of a science is the construction of theories that are confirmed or rejected by experimentation.
Alert Correlation for Extracting Attack Strategies Authors: B. Zhu and A. A. Ghorbani Source: IJNS review paper Reporter: Chun-Ta Li ( 李俊達 )
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
1 Chapter Eight Exception Handling. 2 Objectives Learn about exceptions and the Exception class How to purposely generate a SystemException Learn about.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Streaming Predictions of User Behavior in Real- Time Ethan DereszynskiEthan Dereszynski (Webtrends) Eric ButlerEric Butler (Cedexis) OSCON 2014.
Copyright 2004 Compsim LLC The Right Brain Architecture of a Holonic Manufacturing System Application of KEEL ® Technology to Holonic Manufacturing Systems.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Detecting Semantic Cloaking on the Web Baoning Wu and Brian D. Davison Lehigh University, USA WWW 2006.
K. J. O’Hara AMRS: Behavior Recognition and Opponent Modeling Oct Behavior Recognition and Opponent Modeling in Autonomous Multi-Robot Systems.
Date: File:PRO1_12E.1 SIMATIC S7 Siemens AG All rights reserved. Information and Training Center Knowledge for Automation Troubleshooting.
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 5 Arrays.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Recent Software Issues L3 Review of SM Software, 28 Oct Recent Software Issues Occasional runs had large numbers of single-event files. INIT message.
Industrial Control Engineering UNICOS device and front-end Hervé Milcent UNICOS device front-endHervé Milcent1.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
What is Programming? A program is a list of instructions that is executed by a computer to accomplish a particular task. Creating those instructions is.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
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.
CISC Machine Learning for Solving Systems Problems Presented by: Suman Chander B Dept of Computer & Information Sciences University of Delaware Automatic.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 8 Fault.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Structured Programming (4 Credits)
Capabilities of computing systems Numeric and symbolic Computations A look at Computability theory Turing Machines.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
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.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
FLOW CHARTS IN PROCESS DESCRIPTION FRANK CHINGARANDE.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
SPiiPlus Training Class
SPiiPlus Training Class
Latency and Communication Challenges in Automated Manufacturing
Basic Processor Structure/design
Final Project – Anomalies Detection
Chapter 1 Data Storage.
*current controlled assessment plans are unknown
Programming Fundamentals (750113) Ch1. Problem Solving
Different Testing Methodology
Mock Object Creation for Test Factoring
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Algorithms CSCI 235, Spring 2019 Lecture 37 The Halting Problem
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Presentation transcript:

Uncertainty in Automation: Anomaly Detection in Event-Based Systems Dawn Tilbury Linday Allen (PhD) and John Broderick University of Michigan

2 Outline Example problem: inconsistent logical behavior Developed solution: Anomaly detection –Model generation using observed data –Performance assessment of models using known “good” and “bad” behavior –On-line anomaly detection Industrial Application –Academic assumptions meet industry realities –Resolution and results Lessons learned

3 Example from our testbed s1 Part1 PartReady Release Pallet LoadPart1 Part1 PartReady Correct, typical behaviorIncorrect behavior No model of entire system’s correct behavior Manual inspection required to find this anomaly Laborious, offline ResponseOPC Tag ResponseOPC Tag

4 Approach: Anomaly detection using model generation Goal: diagnosis of system level event- based faults in mfg systems without use of pre-existing formal model Method:  Generate models based on training data  Detect anomalies on-line by comparing traces to models  Advise the operator when anomaly occurs Plant Logic Control System Fault diagnosis Anomaly detection Operator Controller All Events Events Op. Feedback Anomalies

Knowns & Unknowns Known: –Resources in system Robots CNC machines Pallets Measurable: –OPC tag changes Communication events between controllers Unknown: –Formal model of the system Could be constructed but is time-consuming and error prone –Logic control code Written by different people at different times in different languages –Correct event order Many different orders may be acceptable

6 Solution approach Model Generation adbe... efad... abfc... ok Resource Info eafd... Performance Assessment acea... ok not Fault Detection abfe... ok abfe... not OR Given resource information and strings of “ok” events Create a set of models that can generate these strings Given some “ok” and “not ok” strings, compute the performance of each model Given a new string, determine whether the models accept it (weight by model performance) If not, where is the anomaly

Anomaly Detection Method Inputs: –Streams of events from system in operation –Resource information, including mapping of events to resources Outputs: –Set of models that represent the system behavior –Model performance on training data On-line detection: –Score for each string – anomalous or not 7

Machining Cell: Physical Set-Up Problem: G2 will have raw parts and at least one CNC available, but G2 incorrectly waits Resources: –Gantries, CNCs, buffer at hand-off Events: PLC data recorded via Ford data collection system G1G2M1M EntryHand-off Reject Exit

Data collection set-up Data from each machine & gantry –Bits include: Cycle End, Good/Bad Cycle, Wait Aux, Blocked, and Starved –PLC message generated each time particular bit changes occur Approx. 11,000 parts worth of data 9 IT System PLC Driving Logic Driving Logic Function Block PLC Driving logic Function Block Driving Logic (270,000 PLC messages)

Identified Inconsistencies What we thought we would get: –Well-defined strings of events –Events that acquire/release resources recorded –Unique mapping of PLC bits to events –Many strings, starting from the initial state, labeled as “good” or “bad What we got: –Not every event triggers a message  multi-bit change (order is uncertain) –Not all resource events captured in data collection –Some bits used for multiple purposes –One huge log file with no defined “beginning”

Resolution of Inconsistencies Academic Assumptions Industry RealitiesResolution 1 Resource events available Some events filtered in data collection I: Logic changed 2 String of ordered events Multiple bit changes per message possible A: Heuristic decision algorithm 3 Consistent bit- meaning mapping Inconsistent bit- meaning mapping I, A: Logic changed, pre-process data 4 Event streams start in initial state System runs continuously A: Nec. condition to create stream 5 Separate, labeled streams Continuous, unlabeled stream A: Splitting, labeling algorithm

Ford data Word 18 bits 8-10 give the CNC ID Gantry waiting: word 19 bit 9 is high

Lessons learned Sometimes you can adapt/improve your method to handle given uncertainties –Multiple models when system model unknown –Multiple bit changes  uncertain event order –Initial state unknown –Advise operator instead of closing the loop Sometimes you have to decrease the uncertainty by improving the system –Consistent bit/event mapping –Unobservable events for acquiring resources 13

Future work 14