A New Soar Debugger in Java Douglas Pearson ThreePenny Software

Slides:



Advertisements
Similar presentations
Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Advertisements

1 G2 and ActiveSheets Paul Roe QUT Yes Australia!
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
Operating-System Structures
KEVIN DANIELS ECLIPSE. OVERVIEW Integrated Development Environment (IDE) Usually used to develop applications in various programming languages (C, C++.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Visual Studio 2010 SharePoint Developer Tools. Developer Tools for SharePoint  Familiar VS Experience  Build, Debug, Deploy SharePoint projects  Visual.
The Inside Story on the Java Debugger Douglas Pearson
Computers: Tools for an Information Age
Thinking inside the box 26 June 2003 Soar Workshop - Slide 1 © 2003 Soar Technology, Inc. Thinking… …inside the box SoarDoc Presented on Thursday, 26 June.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Soar Command Line Interface Soar 8.6 Jonathan Voigt University of Michigan Soar Workshop 25.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
XP Tutorial 1 New Perspectives on JavaScript, Comprehensive1 Introducing JavaScript Hiding Addresses from Spammers.
A New Soar Debugger In Java Douglas Pearson
Victor Serbo, SLAC30 September 2004, Interlaken, Switzerland JASSimApp plugin for JAS3: Interactive Geant4 GUI Serbo, Victor (SLAC) - presenter Donszelmann,
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
MSI-based installation Everything carried over from Office 2010 MAK, KMS and AD-based Activation Click-to-Run installation Built on App-V foundation.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Understanding and Managing WebSphere V5
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
1 Networks and the Internet A network is a structure linking computers together for the purpose of sharing resources such as printers and files Users typically.
Operating Systems Operating System
Java Beans.
WaveMaker Visual AJAX Studio 4.0 Training Troubleshooting.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Module 7: Fundamentals of Administering Windows Server 2008.
PPPL Spring/Summer CO-OP 2006 Stephen Krenzel. Focus of the CO-OP The co-op focused on improving ElVis, an application for the visualization and monitoring.
Guide to Linux Installation and Administration, 2e1 Chapter 7 The Role of the System Administrator.
Computer Emergency Notification System (CENS)
Cooperative FVS ! Functional Requirements for a Shared Library Version of FVS, or Calling FVS from R! Nicholas L. Crookston Rocky Mountain Research Station.
August 2003 At A Glance VMOC-CE is an application framework that facilitates real- time, remote cooperative work among geographically dispersed mission.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Eclipse EHX System Diagnostic tools. DIAGNOSTIC TOOLS IN EHX.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Introduction to Android (Part.
Debugging and Profiling With some help from Software Carpentry resources.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
Introduction to Compilers. Related Area Programming languages Machine architecture Language theory Algorithms Data structures Operating systems Software.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
07/10/2007 VDCT Status Update EPICS Collaboration, October 2007 Knoxville, Tennessee
Strictly Business Using “StrictlyFused” to Create an Extensible Knowledge Portal.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
HPD -- A High Performance Debugger Implementation A Parallel Tools Consortium project
An Uncoupled Interface to Soar using SML Pearson, Marinier, Stokes Dunham, Voigt.
DEV332 Programming for the Middle Tier in Visual Basic.NET Billy Hollis Author / Consultant.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Introduction Ken Ryall – Nokia Warren Paul – Nokia Daymon Rogers – Freescale John Cortell - Freescale.
Presented By:. What is JavaHelp: Most software developers do not look forward to spending time documenting and explaining their product. JavaSoft has.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Sung-Dong Kim Dept. of Computer Engineering, Hansung University Chapter 3 Programming Tools.
What's New in Visual Studio 2010 Debugging Brian Peek Senior Consultant, ASPSOFT, Inc. Microsoft MVP - C#
Lesson 9: SOFTWARE ICT Fundamentals 2nd Semester SY
SQL Database Management
Progress Apama Fundamentals
Module Overview Installing and Configuring a Network Policy Server
CSCI-235 Micro-Computer Applications
Enterprise Java Beans.
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

A New Soar Debugger in Java Douglas Pearson ThreePenny Software

2 Goals Re-examine what we’d like in a debugger –Address limitations in the current tools –Provide some new useful capabilities –Define an approach for debuggers in general Develop a “Debugger Framework” –Everything modular and extensible –User configurable –Not just “our view” of what’s good in a debugger Define how debuggers should connect to Soar –Embed new capabilities in (or near) the kernel so available to all debuggers / utilities –Text based equivalents for all debugger commands

3 Debugger Framework Debugger is assembled out of a collection of modules Each module –Manages a window –Can issue commands to other windows/modules –Can post events for other windows/modules –Maintains its own persistent storage –Offers its own settings and options –Can be written by the user community (eventually)

4 User Defined Behavior

5 User Controlled Layout Add or Remove windows Selecting from the list of modules Save and Load layouts

6 Speed and Convenience is Vital Store command histories Store window positions –Save/Load different layouts for different contexts

7 Connecting to Soar Connection point into Soar: gSKI or not? –Soar Consortium Existing tools rely on sending strings and parsing strings –Any change in output format breaks tools Alternative is to send and receive XML –Provides logical description of commands and output Plus usual XML benefits (nesting, lots of tools, transparent…) –Makes logging easy –Makes remote access easy –Embedded is still efficient Tool (Debugger) XML Object XML File XML Object Soar (gSKI) Tool (Debugger) XML Object XML File XML Object Soar (gSKI) XML File Remote Tool (Debugger) XML Object Soar (gSKI) Tool (Debugger) XML Object XML Stream XML Object Soar (gSKI)

8 XML Communication Debugger and Soar as separate processes Soar logs to file; review later in Debugger Tool (Debugger) XML Object XML Stream XML Object Soar (gSKI) Tool (Debugger) XML Object XML File XML Object Soar (gSKI)

9 XML Communication Debugger and Soar as Remote processes Debugger with Embedded Soar Tool (Debugger) XML Object XML File XML Object Soar (gSKI) XML File Remote Tool (Debugger) XML Object Soar (gSKI)

10 Multi-Level Traces (via XML) Log traces at higher detail levels than displayed –Go back and review 0: ==>S: S1 +1: O: O1 (initialize) +2: ==>S: S2 (operator tie) +3: O: O10 (evaluate-operator) 0: ==>S: S1 - 1: O: O1 (initialize) --- Application Phase Firing Productions (PE) --- Firing blocks-world*apply*initialize --- Change Working Memory (PE) Application Phase Firing Productions (IE) --- Firing blocks-world*monitor*world-state Firing blocks-world*elaborate*state*clear-table Firing blocks-world*elaborate*state*clear Retracting blocks-world*propose*initialize --- Change Working Memory (IE) : ==>S: S2 (operator tie) +3: O: O10 (evaluate-operator)

11 Debugger Environment Run debugger with embedded Soar instance –Visual Studio parallel Run debugger with separate Soar process –Remote debugging or Soar embedded in environment Run Soar and then attach debugger later –Useful when have many agents, one with problems Run Soar and log output, review in debugger later –Maximum performance or customer problems Run debugger inside Eclipse (part of full IDE) –Vision for the future perhaps; SWT?

12 Nuggets and Coal Early days Large scale progress –How to connect Debugger to Soar –How to connect to future versions of Soar Vision for the future –Lots of cool features Multi-level watch; macros; connect WMEs to rule (via match)… –Modular design, user controlled vision of debugger Can’t deploy anything yet –Still building infrastructure