Distributed Watchpoints: Debugging Very Large Ensembles of Robots De Rosa, Goldstein, Lee, Campbell, Pillai 20 minutes = 15 minutes of talk + 5 minutes.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
/ PSWLAB Efficient Decentralized Monitoring of Safety in Distributed System K Sen, A Vardhan, G Agha, G Rosu 20 th July 2007 Presented by.
ISBN Chapter 3 Describing Syntax and Semantics.
SEERE Workshop, Neum Tempura Retargeting Damyan Mitev, Vladimir Valkanov Plovdiv University “Paisii Hilendarski”
1 Complexity of Network Synchronization Raeda Naamnieh.
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
Declarative Programming for Modular Robots Ashley-Rollman, De Rosa, Srinivasa, Pillai, Goldstein, Campbell November 2, 2007.
Knowledge and Systems Research Group, University of Huddersfield B vs OCL: Comparing Specification Languages for Planning Domains Diane Kitchin, Lee McCluskey,
The Impact of Spatial Correlation on Routing with Compression in WSN Sundeep Pattem, Bhaskar Krishnamachri, Ramesh Govindan University of Southern California.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 2 – Distributed Systems.
Matnet – Matlab Network Simulator for TinyOS Alec WooTerence Tong July 31 st, 2002.
Research at Intel Distributed Localization of Modular Robot Ensembles Robotics: Science and Systems 25 June 2008 Stanislav Funiak, Michael Ashley-Rollman.
Describing Syntax and Semantics
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Overview and Mathematics Bjoern Griesbach
PROGRAMMING LANGUAGES The Study of Programming Languages.
Context Tailoring the DBMS –To support particular applications Beyond alphanumerical data Beyond retrieve + process –To support particular hardware New.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
©NEC Laboratories America 1 Huadong Liu (U. of Tennessee) Hui Zhang, Rauf Izmailov, Guofei Jiang, Xiaoqiao Meng (NEC Labs America) Presented by: Hui Zhang.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
Joseph Cordina 1/11 The Use of Model-Checking for the Verification of Concurrent Algorithms Joseph Cordina Department of C.S.&A.I.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 10, 2005 Session 9.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
1 Program Planning and Design Important stages before actual program is written.
Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus Ashwini Moily Under the supervision of Dr. Lou Somers, Prof.
1 RealProct: Reliable Protocol Conformance Testing with Real Nodes for Wireless Sensor Networks Junjie Xiong, Edith C.-Ngai, Yangfan Zhou, Michael R. Lyu.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
SEERE Workshop, Ivanjica JTempura Vladimir Valkanov, Damyan Mitev Plovdiv University “Paisii Hilendarski”
Communications Range Analysis Simulation Set Up –Single Biological Threat placed in Soldier Field –Communication range varied from meters –Sensor.
Hierarchical Load Balancing for Large Scale Supercomputers Gengbin Zheng Charm++ Workshop 2010 Parallel Programming Lab, UIUC 1Charm++ Workshop 2010.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Scalable Shape Sculpting via Hole Motion: Motion Planning for Claytronics Michael De Rosa SSS/Speaking Skills Talk 11/4/2005.
Computer Science and Engineering Parallelizing Feature Mining Using FREERIDE Leonid Glimcher P. 1 ipdps’04 Scaling and Parallelizing a Scientific Feature.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
The simultaneous evolution of author and paper networks
Product Training Program
Types for Programs and Proofs
Dr.K.Venkata Subba Reddy Professor-CSE Department
Distributed voting application for handheld devices
Data Structures Interview / VIVA Questions and Answers
Presented by Prashant Duhoon
Functional Programming with Java
Anne Pratoomtong ECE734, Spring2002
Capriccio – A Thread Model
Professor S K Dubey,VSM Amity School of Business
Phil Tayco Slide version 1.0 Created Oct 2, 2017
Chapter 15 Debugging.
Logical architecture refinement
Towards Next Generation Panel at SAINT 2002
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
The Globus Toolkit™: Information Services
Internet of Things A Process Calculus Approach
Presented By: Md Amjad Hossain
Chapter 15 Debugging.
Software Verification, Validation, and Acceptance Testing
Why this Paper isn’t useful ?
Algorithms and Problem Solving
Distributed Computing:
Chapter 8 Advanced SQL.
Perl Programming Dr Claire Lambert
An Orchestration Language for Parallel Objects
Chapter 15 Debugging.
The Gamma Database Machine Project
Distributed Reinforcement Learning for Multi-Robot Decentralized Collective Construction Gyu-Young Hwang
From Use Cases to Implementation
Chapter 9: Implementation
Chapter 15 Debugging.
Presentation transcript:

Distributed Watchpoints: Debugging Very Large Ensembles of Robots De Rosa, Goldstein, Lee, Campbell, Pillai 20 minutes = 15 minutes of talk + 5 minutes of questions Aug 19, 2006

Motivation Distributed errors are hard to find with traditional debugging tools Centralized snapshot algorithms Expensive Geared towards detecting one error at a time Special-purpose debugging code is difficult to write, may itself contain errors 8/19/2006 Distributed Watchpoints

Expressing and Detecting Distributed Conditions “How can we represent, detect, and trigger on distributed conditions in very large multi-robot systems?” Generic detection framework, well suited to debugging Detect conditions that are not observable via the local state of one robot Support algorithm-level debugging (not code/HW debugging) Trigger arbitrary actions when condition is met Asynchronous, bandwidth/CPU-limited systems 8/19/2006 Distributed Watchpoints

Distributed/Parallel Debugging: State of the Art Modes: Parallel: powerful nodes, regular (static) topology, shared memory Distributed: weak, mobile nodes Tools: GDB printf() Race detectors Declarative network systems with debugging support (ala P2) Gdb/printf-can’t detect many interesting conditions (without post processing), change run-ordering 8/19/2006 Distributed Watchpoints

Example Errors: Leader Election Scenario: One Leader Per Two-Hop Radius 8/19/2006 Distributed Watchpoints

Example Errors: Token Passing Scenario: If a node has the token, exactly one of it’s neighbors must have had it last timestep 8/19/2006 Distributed Watchpoints

Example Errors: Gradient Field Scenario: Gradient Values Must Be Smooth 8/19/2006 Distributed Watchpoints

Expressing Distributed Error Conditions Requirements: Ability to specify shape of trigger groups Temporal operators Simple syntax (reduce programmer effort/learning curve) A Solution: Inspired by Linear Temporal Logic (LTL) A simple extension to first-order logic Proven technique for single-robot debugging [Lamine01] Assumption: Trigger groups must be connected For practical/efficiency reasons Without connectivity: n^m With connectivity: n*c^m 8/19/2006 Distributed Watchpoints

Watchpoint Primitives nodes(a,b,c); n(b,c) & (a.var > b.var) & (c.prev.var != 2) Modules (implicitly quantified over all connected sub-ensembles) Topological restrictions (pairwise neighbor relations) Boolean connectives State variable comparisons (distributed) Temporal operators 8/19/2006 Distributed Watchpoints

Distributed Errors: Example Watchpoints nodes(a,b,c);n(a.b) & n(b,c) & (a.isLeader == 1) & (c.isLeader == 1) nodes(a,b,c);n(a,b) & n(a,c) & (a.token == 1) & (b.prev.token == 1) & (c.prev.token == 1) nodes(a,b);(a.state - b.state > 1) 8/19/2006 Distributed Watchpoints

Watchpoint Execution √ . nodes(a,b,c)… 2 1 4 3 6 5 8 7 10 9 12 11 14 Explicitly state that matchers can terminate early 2 1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 18 17 20 19 22 21 24 23 26 25 28 27 30 29 32 31 1 9 2 1 9 10 √ . 8/19/2006 Distributed Watchpoints

Performance: Watchpoint Size 1000 modules, running for 100 timesteps Simulator overhead excluded Application: data aggregation with landmark routing Watchpoint: are the first and last robots in the watchpoint in the same state? 8/19/2006 Distributed Watchpoints

Performance: Number of Matchers Worst case behavior This particular watchpoint never terminates early Number of matchers increases exponentially Time per matcher remains within factor of 2 Details of the watchpoint expression more important than size 8/19/2006 Distributed Watchpoints

Performance: Periodically Running Watchpoints Useful when we want to increase performance (when detecting persistent errors) at the cost of response time 8/19/2006 Distributed Watchpoints

Future Work Distributed implementation More optimization User validation Additional predicates 8/19/2006 Distributed Watchpoints

Conclusions Simple, yet highly descriptive syntax Able to detect errors missed by more conventional techniques Low simulation overhead 8/19/2006 Distributed Watchpoints

Thank You

Backup Slides 8/19/2006 Distributed Watchpoints

Optimizations Temporal span Early termination Neighbor culling (one slide per) 8/19/2006 Distributed Watchpoints