Improving Adaptability of Multi-Mode Systems via Program Steering

Similar documents
Genetic Programming of Autonomous Agents. Functional Requirements List and Performance Specifi cations. Scott O'Dell

Lecture 12. Application Layer. Application Layer 1

6.033 Computer Systems Engineering: Spring Quiz II THIS IS AN OPEN BOOK, OPEN NOTES QUIZ. NO PHONES, NO COMPUTERS, NO LAPTOPS, NO PDAS, ETC.

Security of Mobile Ad Hoc and Wireless Sensor Networks

Embedded Systems. Octav Chipara. Thursday, September 13, 12

Delay Injection for. Service Dependency Detection

Wireless Security Background

NETWORK SECURITY. Ch. 3: Network Attacks

Lecture 8 Wireless Sensor Networks: Overview

BIG-IQ Centralized Management: ADC. Version 5.0

Change Power Settings in Windows 10

Connectivity 101 for Remote Monitoring Systems

UNIT 1 Questions & Solutions

Security in Mobile Ad-hoc Networks. Wormhole Attacks

EPLRS within the BCS/L November 2013

Security in Ad Hoc Networks Attacks

Computer Science 461 Midterm Exam March 14, :00-10:50am

Agilent E7478A GPRS Drive Test System

Vehicular Cloud Computing: A Survey. Lin Gu, Deze Zeng and Song Guo School of Computer Science and Engineering, The University of Aizu, Japan

CS551 Ad-hoc Routing

F5 BIG-IQ Centralized Management: Local Traffic & Network. Version 5.2

Security Setup CHAPTER

Efficient Incremental Dynamic Invariant Detection

ENGINEERING SENSOR NETWORKS FOR LONG- TERM ENVIRONMENTAL MONITORING. Guest lecturer: Doug Carlson

Internet Mapping Primitives

ECE ITP Lecture 7

Chapter 8 roadmap. Network Security

Energy Management Issue in Ad Hoc Networks

WHITE PAPER ULTRA LOW LATENCY MICROWAVE THE NEED FOR SPEED: BEST PRACTICES FOR BUILDING ULTRA-LOW LATENCY MICROWAVE NETWORKS

Advanced Transportation Optimization Systems (ATOS)

Lie. Cheat. Deceive. How to Practice the Art of Deception at Machine Speed

This is an inspection failure, not meeting the requirement of >10k Ohm between either PD battery post and chassis.

Ad Hoc Distributed Simulation of Surface Transportation Systems

GPS SPOOFING: NO LONGER A FISH STORY

Measuring Border Delay and Crossing Times at the U.S./Mexico Border

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

Introduction and Statement of the Problem

Energy Management Issue in Ad Hoc Networks

Wireless Sensor Networks: Clustering, Routing, Localization, Time Synchronization

Genetic Programming of Autonomous Agents. Functional Description and Complete System Block Diagram. Scott O'Dell

Scheduling a Large DataCenter

The Modern Manufacturer s Guide to. Industrial Wireless Cisco and/or its affiliates. All rights reserved.

Self-defending software: Automatically patching errors in deployed software

Vehicle Trust Management for Connected Vehicles

Detecting Specific Threats

Green Lights Forever: Analyzing the Security of Traffic Infrastructure

Protection Against Distributed Denial of Service Attacks

CSC 4900 Computer Networks: Security Protocols (2)

Designing a Reliable Industrial Ethernet Network

Worm Detection, Early Warning and Response Based on Local Victim Information

Sensor Deployment, Self- Organization, And Localization. Model of Sensor Nodes. Model of Sensor Nodes. WiSe

Basic Concepts of Reliability

Ad Hoc Networks: Issues and Routing

Globally Limiting Intrusion Event Logging

Replica Distribution Scheme for Location-Dependent Data in Vehicular Ad Hoc Networks using a Small Number of Fixed Nodes

Configuring Anomaly Detection

What is Real Application Testing?

Software Architecture. Lecture 4

Name: UW CSE 473 Midterm, Fall 2014

PfR Voice Traffic Optimization Using Active Probes

Distributed Denial of Service (DDoS)

2009 FRC Control System. Published by Team 103

AUTOMATION. Dr. Ibrahim Al-Naimi

Statistical Debugging for Real-World Performance Problems

Cyber-physical intrusion detection on a robotic vehicle

Designing a Reliable Industrial Ethernet Network

Chapter 5 INTRODUCTION TO MOBILE AGENT

Network Intrusion Detection Systems. Beyond packet filtering

EEC-682/782 Computer Networks I

Configuring Basic Performance Routing

Q: Do the Cooper InVision IFM/ICM, Wireless Mesh Router and Gateway radio signals leave the plant? And what information do the signals contain?

CP30/G30/MC31 Firmware Version 3100 Known Issues

15-441: Computer Networking. Lecture 24: Ad-Hoc Wireless Networks

Improving the Expected Quality of Experience in Cloud-Enabled Wireless Access Networks

An OMNeT++ based Framework for Mobility-aware Routing in Mobile Robotic Networks

A PERFORMANCE EVALUATION OF YMAC A MEDIUM ACCESS PROTOCOL FOR WSN

Wireless 20/20. Business Case for MulteFire Technology. February 27, 2018

congestion energy & environment accessibility aging infrastructure

INFORMATION QUALITY: RELIABILITY OF NCO INFORMATION PRODUCT DELIVERY SERVICES. Michael Tortorella, Ph. D. Rutgers University

Reminder: Datalink Functions Computer Networking. Datalink Architectures

CS 5565 Final Exam. Name (printed)

SNMP Activation Procedure for Harris Constellation Radios

Can I Cost-Effectively Monitor Critical Remote Locations?

An Improved DFSA Anti-collision Algorithm Based on the RFID-based Internet of Vehicles

ENSC 427: COMMUNICATION NETWORKS

Instructional Technology & Technology Enhancement Center -itec Grade Center Tutorial for Faculty

Resource Allocation Algorithms Design for 5G Wireless Networks

Introduction to Assurance

ZigBee Wireless Transceiver Engineering Options

SonicWALL Security 6.2 Appliance

HARNESSING CERTAINTY TO SPEED TASK-ALLOCATION ALGORITHMS FOR MULTI-ROBOT SYSTEMS

CS 43: Computer Networks. 18: Transmission Control Protocol October 12-29, 2018

THREADS AND CONCURRENCY

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

Specification-based Intrusion Detection. Michael May CIS-700 Fall 2004

Automatic Trigger Generation for Rule-based Smart Homes

Module 25 TCP Timers and delayed duplicates problem in TCP

Secure Routing in Wireless Sensor Networks: Attacks and Countermeasures

Impact of Black Hole and Sink Hole Attacks on Routing Protocols for WSN

Making Sense of Home Wi-Fi Coverage Solutions

Transcription:

Improving Adaptability of Multi-Mode Systems via Program Steering Lee Lin Michael D. Ernst MIT CSAIL 1

Multi-Mode Systems A multi-mode system s behavior depends on its environment and internal state Examples of multi-mode systems: Web server: polling / interrupt Cell phone: AMPS / TDMA / CDMA Router congestion control: normal / intentional drops Graphics program: high detail / low detail 2

Controllers Controller chooses which mode to use Examples of factors that determine modes: Web server: heavy traffic vs. light traffic Cell phone: rural area vs. urban area; interference Router congestion control: preconfigured policy files Graphics program: frame rate constraints 3

Controller Example while (true) { if ( checkforcarpet() ) indoornavigation(); else if ( checkforpavement() ) outdoornavigation(); else cautiousnavigation(); } Do the predicates handle all situations well? Is any more information available? Does the controller ever fail? 4

Improving Built-in Controllers Built-in controllers do well in expected situations Goal: Create a controller that adapts well to unanticipated situations Utilize redundant sensors during hardware failures Sense environmental changes Avoid default modes if other modes are more appropriate Continue operation if controller fails 5

Why Make Systems Adaptive? Testing all situations is impossible Programmers make mistakes Bad intuition Bugs The real world is unpredictable Hardware failures External environmental changes Human maintenance is costly Reduce need for user intervention Issue fewer software patches 6

Overview Program Steering Technique Mode Selection Example Program Steering Implementation Experimental Results Conclusions 7

Program Steering Goals Create more adaptive systems without creating new modes Allow systems to extrapolate knowledge from successful training examples Choose appropriate modes in unexpected situations 8

Program Steering Overview 1. Select representative training runs 2. Create models describing each mode using dynamic program analysis 3. Create a mode selector using the models 4. Augment the original program to utilize the new mode selector 9

Collect Training Data Original Program Original Controller 10

Collect Training Data Dynamic Analysis Original Program Models Original Controller 11

Collect Training Data Dynamic Analysis Original Program Original Controller Create Mode Selector Models Mode Selector 12

Collect Training Data Dynamic Analysis Original Program Original Controller Create Mode Selector Models Mode Selector Create New Controller Original Program New Controller New Controller 13

Overview Program Steering Technique Mode Selection Example Program Steering Implementation Experimental Results Conclusions 14

Laptop Display Controller Three modes Normal Mode Power Saver Mode Sleep Mode Available Data: Inputs: battery life and DC power availability Outputs: brightness 15

Properties Observed from Training Runs Standard Mode Power Saver Mode Sleep Mode Brightness >= 0 Brightness <= 10 Battery > 0.15 Battery <= 1.00 Brightness >= 0 Brightness <= 4 Battery > 0.00 Battery <= 0.15 DCPower == false Brightness == 0 Battery > 0.00 Battery <= 1.00 16

Mode Selection Problem What mode is most appropriate? Current Program Snapshot Brightness == 8 Battery == 0.10 DCPower == true 17

Mode Selection Mode selection policy: Choose the mode with the highest percentage of matching properties. Current Program Snapshot Brightness == 8 Battery == 0.10 DCPower == true 18

Mode Selection Mode selection policy: Choose the mode with the highest percentage of matching properties. Current Program Snapshot Standard Mode Brightness == 8 Battery == 0.10 DCPower == true BRT >= 0 BRT <= 10 BAT > 0.15 BAT <= 1.00 Score: 75% 19

Mode Selection Mode selection policy: Choose the mode with the highest percentage of matching properties. Current Program Snapshot Standard Mode Power Saver Mode Brightness == 8 Battery == 0.10 DCPower == true BRT >= 0 BRT >= 0 BRT <= 10 BRT <= 4 BAT > 0.15 BAT > 0.00 BAT <= 1.00 BAT <= 0.15 DC == false Score: 75% Score: 60% 20

Mode Selection Mode selection policy: Choose the mode with the highest percentage of matching properties. Current Program Snapshot Standard Mode Power Saver Mode Sleep Mode Brightness == 8 Battery == 0.10 DCPower == true BRT >= 0 BRT >= 0 BRT <= 10 BRT <= 4 BAT > 0.15 BAT > 0.00 BAT <= 1.00 BAT <= 0.15 DC == false Score: 75% Score: 60% BRT == 0 BAT > 0.00 BAT <= 1.00 Score: 66% 21

Mode Selection Mode selection policy: Choose the mode with the highest percentage of matching properties. Current Program Snapshot Standard Mode Power Saver Mode Sleep Mode Brightness == 8 Battery == 0.10 DCPower == true BRT >= 0 BRT >= 0 BRT <= 10 BRT <= 4 BAT > 0.15 BAT > 0.00 BAT <= 1.00 BAT <= 0.15 DC == false Score: 75% Score: 60% BRT == 0 BAT > 0.00 BAT <= 1.00 Score: 66% 22

Second Example Mode selection policy: Choose the mode with the highest percentage of matching properties. Current Program Snapshot Brightness == 8 Battery == 0.10 DCPower == false 23

Second Example Mode selection policy: Choose the mode with the highest percentage of matching properties. Current Program Snapshot Standard Mode Power Saver Mode Sleep Mode Brightness == 8 Battery == 0.10 DCPower == false BRT >= 0 BRT >= 0 BRT <= 10 BRT <= 4 BAT > 0.15 BAT > 0.00 BAT <= 1.00 BAT <= 0.15 DC == false Score: 75% Score: 80% BRT == 0 BAT > 0.00 BAT <= 1.0 Score: 66% 24

Overview Program Steering Technique Mode Selection Example Program Steering Implementation Experimental Results Conclusions 25

Collect Training Data Dynamic Analysis Original Program Original Controller Create Mode Selector Models Mode Selector Create New Controller Original Program New Controller New Controller 26

Training Train on successful runs Passing test cases High performing trials Amount of training data: Depends on modeling technique Cover all modes 27

Dynamic Analysis Create one set of properties per mode Daikon Tool Supply program and execute training runs Infers properties involving inputs and outputs Properties were true for every training run this.next.prev == this currdestination is an element of visitqueue[] n < marray.length http://pag.csail.mit.edu/daikon/ 28

Collect Training Data Dynamic Analysis Original Program Original Controller Create Mode Selector Models Mode Selector Create New Controller Original Program New Controller New Controller 29

Mode Selection Policy Check which properties in the models are true in the current program state. For each mode, calculate a similarity score (percent of matching properties). Choose the mode with the highest score. Can also accept constraints, for example - Don t select Travel Mode when destination null - Must switch to new mode after Exception 30

Collect Training Data Dynamic Analysis Original Program Original Controller Create Mode Selector Models Mode Selector Create New Controller Original Program New Controller New Controller 31

Controller Augmentation Call the new mode selector during: Uncaught Exceptions Timeouts Default / passive mode Randomly during mode transitions Otherwise, the controller is unchanged 32

Why Consider Mode Outputs? Mode selection considers all properties Output properties measure whether mode is behaving as expected Provides inertia, avoids rapid switching Suppose brightness is stuck at 3 (damaged). No output benefit for Standard Mode. More reason to prefer Power Saver to Standard. 33

Why Should Program Steering Improve Mode Selection? Eliminates programmer assumptions about what is important Extrapolates knowledge from successful runs Considers all accessible information Every program state is handled The technique requires no domain-specific knowledge 34

What Systems Can Benefit from Program Steering? Discrete transitions between modes Deployed in unpredictable environments Multiple modes often applicable 35

Overview Program Steering Technique Mode Selection Example Program Steering Implementation Experimental Results Conclusions 36

Droid Wars Experiments Month-long programming competition Teams of simulated robots are at war (27 teams total) Robots are autonomous Example modes found in contestant code: Attack, defend, transport, scout enemy, relay message, gather resources 37

Program Steering Upgrades Selected 5 teams with identifiable modes Ran in the original contest environment Trained on victorious matches Modeling captured sensor data, internal state, radio messages, time elapsed 38

Upgraded Teams Team NCNB Lines of Code Number of Modes Properties Per Mode Team04 658 9 56 Team10 1275 5 225 Team17 846 11 11 Team20 1255 11 26 Team26 1850 8 14 The new mode selectors considered many more properties than the original mode selectors 39

Evaluation Ran the upgraded teams in the original environments (performed same or better) Created 6 new environments Hardware failures: Deceptive GPS: Radio Spoofing: Radio Jamming: Increased Resources: New Maps: random rebooting navigation unreliable simulate replay attacks some radio messages dropped faster building, larger army randomized item placement 40

Examples of Environmental Effects Hardware Failures Robot did not expect to reboot mid-task, far from base Upgraded robots could deduce and complete task Radio Spoofing Replay attacks resulted in unproductive team Upgraded robots used other info for decision making 41

Program Steering Effects on Tournament Rank Hardware Failures Team Original Upgrade Team04 11 5 +6 Team10 20 16 +4 Team17 15 9 +6 Team20 21 6 +15 Team26 17 13 +4 Deceptive GPS Team Original Upgrade Team04 12 9 +3 Team10 23 8 +15 Team17 15 9 +6 Team20 22 7 +15 Team26 16 13 +3 42

Original Team20 Centralized Intelligence Queen Robot Pools information from sensors and radio messages Determines the best course of action Issues commands to worker robots Worker Robot Capable of completing several tasks Always returns to base to await the next order 43

Upgraded Team20 Distributed Intelligence Queen Robot (unchanged) Worker Robot Capable of deciding next task without queen Might override queen s orders if beneficial 44

Understanding the Improvement Question: What if the improvements are due to when the new controller invokes the new mode selector, not what the selector recommends? Experiment: - Ran same new controller with a random mode selector. - Programs with random selector perform poorly. - Program steering selectors make intelligent choices 45

Comparison with Random Selector Hardware Failures Team Original Upgrade Random Team04 11 5 +6 9 +2 Team10 20 16 +4 21-1 Team17 15 9 +6 20-5 Team20 21 6 +15 23-2 Team26 17 13 +4 22-5 Deceptive GPS Team Original Upgrade Random Team04 12 9 +3 17-5 Team10 23 8 +15 18 +5 Team17 15 9 +6 15 0 Team20 22 7 +15 21 +1 Team26 16 13 +3 20-4 46

Overall Averages Team Upgrade Random Team04 +4.0 +0.7 Team10 +3.8 +1.2 Team17 +4.2-1.5 Team20 +8.8-1.3 Team26 +1.0-3.7 47

Overview Program Steering Technique Mode Selection Example Program Steering Implementation Experimental Results Conclusions 48

Future Work Use other mode selection policies Refine property weights with machine learning Detect anomalies using models Try other modeling techniques Model each transition, not just each mode Automatically suggest new modes 49

Conclusion New mode selectors generalize original mode selector via machine learning Technique is domain independent Program steering can improve adaptability because upgraded teams perform: As well or better in old environment Better in new environments 50

51