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 effort that is hard to justify within the research/funding community.
The Openbox is a component-based architecture which serves as a container into which different representations can be loaded. A developer interested in building a system to reason with a particular kind of diagram implements the relevant diagram-specific 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 effort. 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 benefit 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.