Tutorial

Learning to use the Openbox: A Framework for the Implementation of Heterogeneous Reasoning

In this tutorial we will present the Openbox, a framework for constructing heterogeneous reasoning systems. Heterogeneous reasoning is reasoning involving multiple representations. A common example is using a map (diagram) together with an address (sentence) to plan a route from one point to another. This kind of reasoning may involve diagrams of multiple types, diagrams and sentences, and/or multiple instances of the same diagram type. Reasoning with sentences, or with a single diagram are special cases of the general heterogeneous setting.

Many research groups within the diagrams community develop software implementations of tools for reasoning with diagrammatic representations. Few of these applications are used outside of the research groups that develop them. We conjecture that part of the reason for this is the difficulty involved in moving software from being an experimental platform usable only by the developers, to a widely available, robust vehicle for research. Part of this difficulty is in developing the application infrastructure which is not of research interest, and requires eff ort that is hard to justify within the research/funding community.

The Openbox is a component-based architecture which serves as a container into which di fferent representations can be loaded. A developer interested in building a system to reason with a particular kind of diagram implements the relevant diagram-specifi c components and loads these into the Openbox to obtain a reasoning tool for those diagrams. Components from other developers can be added to the Openbox to create heterogeneous reasoning systems by mixing and matching the representations.

By providing the Openbox framework to the community we hope to encourage the development of more robust, distributable applications for heterogeneous reasoning, encourage sharing of implementations within the community, and reduce redundancy of implementation eff ort. This will lower the cost of entry to the development of diagrammatic and heterogeneous reasoning applications.

This tutorial is aimed at rseearchers who are considering the use of the Openbox toolkit, either as programmers or as supervisors of students implementing components. The core of the tutorial is a program-along exercise to modify or develop a component for the framework. The result will be an understanding of the Openbox component life cycle and activities, and preparation for the implementation of original components.

Length: This tutorial will run for two hours

 

Learning Objectives

The goal of this tutorial is to provide attendees with the necessary background to begin to develop, or to supervise the development of, heterogeneous reasoning systems using the Openbox framework. The framework is an extensive toolkit which we are making available to the community to facilitate the development of such environments. Use of the Openbox frees developers from the mundane tasks associated with building applications while leaving scope for the implementation of a wide variety of representations (both diagrammatic and sentential). The framework also encourages the sharing and reuse of components between groups.

On completing the tutorial, attendees will have hands-on experience in the development of Openbox components which should prepare them for implementing their own diagrammatic systems, and interfacing with existing representation components.

Presentation Format

The tutorial will divide into two main parts. In the introductory section, we will start with a high level overview of the Openbox toolkit, a description of what it can (and cannot) be used to do, and the overall architecture of the component framework.

The bulk of the tutorial will follow, in which attendees will perform a program-along exercise modifying an existing component template, and/or developing a component from scratch.

Audio Visual Needs

To gain maximum benefi t from the tutorial, attendees should bring a laptop computer, on which they can install and use the Openbox toolkit which we will provide as part of the tutorial materials. Prior to the tutorial, attendees will be expected to install appropriate development tools and Java runtime environment if they do not already have those tools available. Details of the necessary preparations will be made available on our web site in the weeks prior to the conference.

Instructor Backgrounds

The Openproof project at Stanford University has a long track record of building robust, professional level applications for logic pedagogy.

  • Dave Barker-Plummer is the lead researcher (with John Etchemendy) for the Openproof project at Stanford, and has managed the development of the Openbox toolkit since 1994. Dave presented a keynote address on the design of heterogeneous reasoning systems at Diagrams 2008, and a tutorial on the logic of diagrams at Diagrams 2010. Dave was general chair of Diagrams 2006, is a member of the Diagrams Conference Steering committee, and has served on the Program Committees for the conference since 2004.
  • Michael Murray has been a member of the Openproof project since 2007 and is the main developer of the Openbox toolkit. He also developed our soon-to-be-released heterogeneous application, Hyperproof 2.0, which utilizes the Openbox framework.
  • Emma Pease joined the Openproof project in 2009. She is the primary author and maintainer of user-level documentation for the Openbox toolkit.
  • Nik Swoboda has been affliated with the Openproof project since 1996 and is the developer of the Openbox components implementing a logic of Venn diagrams. Nik was a Program Chair of Diagrams 2006, is a member of the Diagrams Conference Steering Committee, member of past Diagrams program committees since 2004, and has presented work at several diagrams conferences.