Soar IDE 2.0 Bob Marinier, Kyle Aron, Preetom Chakraborty 12/8/2018.

Slides:



Advertisements
Similar presentations
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Advertisements

Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
1 VisualSoar Update Andrew Nuxoll 09 June A Visual Editor for Soar Projects.
Eclipse Begin at the Beginning. Where to Find it:
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
© 2011 Autodesk CP5239 Demand-Loading AutoCAD®.NET Plug-ins James E. Johnson Synergis Software Sr. CAD Developer.
LLRP GUI Client User Guide
Welcome To Eclipse. Basic Concepts Workspace – directory where your projects are stored –Projects grouping of related works –Resources generic term to.
From Lucent, Inc. This is the Sablime® home page. It has access to all the functionality of the Sablime® Configuration Management System.
Liferay Installation Prepared by: Do Xuan Hai 8 August 2011.
Quick Introduction to creating Eyeblaster ads.  Steps for creating an Eyeblaster ad  Building Eyeblaster compatible flash assets  Adding Eyeblaster.
Committed to Shaping the Next Generation of IT Experts. Exploring Microsoft Office Word 2007 Chapter 4: Share, Compare and Document Robert Grauer, Keith.
Unit 1 – Web Concepts Instructor: Brent Presley.
Creating and Editing a Web Page
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files 8/10/ :35 PM.
Creating New Forms Projects can appear more professional when using different windows for different types of information. Select Add Windows Form from.
Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security.
GPS The GNAT Programming Studio GPS The GNAT Programming Studio Presentation cover page EU Vincent Celier FOSDEM 8-9 February 2009 Senior.
Made with OpenOffice.org 1 Beyond the Single Page Steve Oualline OpenOffice Writer.
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
1 A New Soar Editor Miller Tinkerhess University of Michigan.
Dive Into® Visual Basic 2010 Express
Excel Tutorial 8 Developing an Excel Application
Lesson 19: Configuring and Managing Updates
Development Environment
CS 106 Computing Fundamentals II Chapter 5 “Excel Basics for Windows”
Getting Started with Application Software
Chopping and Releasing HAZREPs
Development with Eclipse
Project Objectives Publish to a remote server
Tutorial 2 Programming Editors Recommendation & Cordova Plugin Installation and Management Li Xu Department of Systems Engineering.
Goals Give you a feeling of what Eclipse is.
Improving Performance
Computing Fundamentals
ATS Application Programming: Java Programming
Lesson 3: Customizing Document Elements
Eclipse Navigation & Usage.
Introduction to C# Applications
Parts.cat.com Client training 2016.
Using a set-up file to read ASCII data into SPSS
Metadata Editor Introduction
Arrays and files BIS1523 – Lecture 15.
Using Visual Studio with C#
Introduction to Computers
Eclipse 20-Sep-18.
Instructor: Prasun Dewan (FB 150,
Boosting SSAS Productivity with Tabular Editor
New Goal System (NGS-4) TankSoar example Timothy W. Saucer, Ph.D.
Activating your account and navigating through TIDE
How to Run a Java Program
SoarUnit Bob Marinier 11/29/2018.
Activating Your Account and Navigating Through TIDE
NORMA Lab. 5 Duplicating Object Type and Predicate Shapes
Microsoft Visual Source Safe How & Why
Macrosystems EDDIE: Getting Started + Troubleshooting Tips
IDE’s and Debugging.
Scripts In Matlab.
Wells Fargo Toolkit – CreativeBuilder Reference Guide
Macrosystems EDDIE: Getting Started + Troubleshooting Tips
Exploring Microsoft Word 2003
The Role of Command Line Compiler (csc.exe)
Introduction of PTM (Planning Tracking & Management) Tool - developed by Meridian Technology 29/05/2019.
Review of Previous Lesson
Java Code Review with CheckStyle
IPP Job Storage 2.0: Fixing JPS2
Macrosystems EDDIE: Getting Started + Troubleshooting Tips
Visual Basic for Applications: Introduction
Exploring Microsoft Word 2003
Presentation transcript:

Soar IDE 2.0 Bob Marinier, Kyle Aron, Preetom Chakraborty 12/8/2018

What is it? Soar IDE is an open-source Eclipse plugin that provides support for writing Soar code Main site: https://github.com/soartech/soaride Eclipse update site: https://github.com/soartech/soaride/raw/master/com.soartech.soar.ide.update Originally released in 2006, it was stable for many years but recently has been getting a lot of attention thanks to PSU ARL as a result of ONR Swampworks sponsorship The goal is to standardize the Soar community on a single editor Not to say that people can’t use other editors, but there’s no need to have many complex editors: Soar IDE should replace Visual Soar and Soar Editor 12/8/2018

Features Syntax highlighting Error and warning markers Content assist Templates Hover help Dynamic and authorable datamaps of Soar’s working memory Grouping subsets of files into “agents” A Source Viewer to display expanded Tcl macros 12/8/2018

Creating Agents and Files Need to enable Soar Support on a project Right-click on Eclipse project -> Include Soar Project Support In Package Explorer or Navigator, can right-click to add: Soar Agent: Defines the files to be included in a Soar agent A project may have many agents Information stored in a .soaragent file which has a UI Soar Folder: Adds a folder with a load.soar file in it If adding to a directory that already contains a load.soar file, modifies that file to source the new load.soar file Soar File: Adds a .soar file and an entry to the load.soar file in the same directory Soar Datamap (authorable): Allows user to defined expected working memory structures There may be multiple datamaps per agent Inclusion in an agent means it is selected in the .soaragent file Datamaps can reference each other (not really tested) 12/8/2018

Soar Perspective The Soar Perspective adds several views: Outline: List of productions, Tcl procs, Tcl calls, and regions in a file Allows navigating directly to those parts of the file Also shows warning and error markers Soar Explorer: Like Outline, but for entire agents and only productions and Tcl procs Soar Datamap (dynamic): Shows working memory structures tested and/or created by agents Agent or file level Soar Source Viewer Shows expanded Soar code for selected Tcl calls Works for Tcl embedded in sp commands and for Tcl macros that generate one or more sp commands 12/8/2018

Soar Perspective 12/8/2018

Editor View Syntax highlighting supports Soar and Tcl Highlighting is customizable; see Window->Preferences->Soar Editor->Syntax Coloring Errors and warnings shown as markers in the file and in the Problems View Syntax errors, file not reachable warnings, missing static datamap entry warnings 12/8/2018

Editor View Content assist Templates After whitespace, shows list of Soar keywords and Tcl proc names After ^, shows list of valid attribute names from dynamic datamap After <, shows list of valid variables After [, shows list of valid Tcl macros Can ctrl+space to show list if doesn’t appear automatically Templates User-definable templates can generate any number of sp commands with variabilized parts See Window->Preferences->Soar Editor->Templates 12/8/2018

Editor View Help Hover over Tcl macro calls to see documentation for that macro Hover over Tcl variables to see value of that variable Ctrl-click a Tcl macro call to jump to the macro definition Help->Help Contents->Soar IDE A little outdated, but still mostly correct 12/8/2018

Editor View Each file shows which agents it belongs to at the top Region folding #region regionName #endregion Hotkeys ctrl+shift+f: Auto-format the file or selected text ctrl+/: Comment/uncomment current line / selected text alt+/: Auto-completes the word under/adjacent to the cursor. Repeated hits cycle through all combinations. ctrl+g: Opens any files referencing this one (e.g., files that source this file). Also available in right-click context menu. 12/8/2018

Datamaps Dynamic datamap Examines the Soar code and generates a tree view of the working memory structures used Shows which rules test and/or create various structures Can be agent or file scoped Serves as the model for validating the authorable datamap 12/8/2018

Datamaps Authorable datamap Ported from Soar Editor, which ported from Visual Soar User can define datamap structures in two ways Via the datamap UI Via auto-fixing of datamap warnings (right-click on warning marker) Code for an agent that contains one or more authored datamaps is automatically checked against all datamaps Specifically, the authored datamaps are checked against the dynamic datamap Warnings are created for any missing structures If an agent contains no authored datamaps, it will not show any of these warnings Should be source-control friendly, but not tested Current limitation: Does not yet check values 12/8/2018

Current Status Lots of little bugs Newest features (complex Tcl macro expansion, static datamaps) not well-tested Not well-tested on non-Windows platforms Lots of pending feature requests Expect a new release around the end of the summer Major future work tasks Using JSoar internally for many things, but would like to expand usage Still using separate parser that isn’t quite the same, occasionally resulting in spurious errors Maybe could use to generate the dynamic datamap model Usability improvements, especially to authorable datamap (e.g., make it text-based instead of UI-based) Documentation updates 12/8/2018

Resolving Common Problems A file says it doesn’t belong to any agents Make sure Include Soar Project Support is selected for the Eclipse project Make sure there is at least one Soar Agent for that project Make sure the file is selected in that .soaragent file If you change any of these things while the file is open, it may not refresh until you close and reopen it The Source Viewer isn’t show the expansion for my Tcl macro Follow the above steps, making sure the file you are viewing and the file that defines the macro are both members of the agent Make sure the Tcl expansion is enabled (toggle the icon on the top-right of the Source Viewer) Make sure there are no outstanding syntax errors in the agent Make sure you are selecting a call to a Tcl macro, not the Tcl macro definition You may have to close/reopen the file, clean the agent, or restart Eclipse I don’t see the Source Viewer, Datamap, etc. Make sure you are in the Soar Perspective If they have become hidden, you can show individual views via Window->Show View->Other->Soar You can reset the Soar Perspective (right-click on Soar Perspective -> Reset) 12/8/2018

Installation Officially supported on Eclipse Mars 2 Seems to require it now, although this is not intentional Eclipse update site: https://github.com/soartech/soaride/raw/master/com.soartech.soar.ide.update Eclipse update bug Starting with Mars, Eclipse comes with a plugin called Oomph Earlier versions of Oomph had a bug that prevented some plugins (including Soar IDE) from detecting updates (initial installation works fine) This seems to be resolved now, but you may have to update Eclipse and/or Oomph if you have older versions installed To workaround: Go to the .eclipse folder in your home directory Find any files whose names contain “soar” With Eclipse closed, delete those files Try the update 12/8/2018

Nuggets and Coal Making steady progress in fixing bugs and adding features Adding features that are critical to many users (static datamap) Working with the community (PS ARL) has really helped push things forward Progress is slow SoarTech needs more people Developing complex Eclipse plugins is really hard, and we don’t really have an expert in this area Re-discovering how a lot of things work Still not a real IDE, as there’s no built-in debugger support (it’s on the list) 12/8/2018 Soar Technology, Inc. Proprietary