Onward! Full Papers

ChairDirk Riehle
SAP Research, SAP Labs LLC

Onward! attracts novel ideas and research early in its life-cycle. Is DNA recombination your inspiration for a new programming language? Do you think that we need new paradigms for bringing programming to the masses in Second Life and on Wikipedia? You may find ideas like these presented as Onward! papers and films and discussed in Onward! open space. Onward! is willing to accept a modicum of speculation and lack of validation if the idea and the arguments behind a submission are compelling enough to suggest inspiring presentations and discussions that propel research and the industry towards new horizons. The full papers, short papers, and films of Onward! 2008 are show-case exemplars of such research.

http://tinyurl.com/OnwardOpenSpace08

Onward!

A Tag-Based Approach for the Design and Composition of Information Processing Applications

Room: West Exhibit HallDate: Oct 22, 2008Time: 10:30 - 11:00
Eric Bouillet
IBM Research
Mark Feblowitz
IBM Research
Zhen Liu
IBM Research
Anand Ranganathan
IBM Research
Anton Riabov
IBM Research

Abstract

In the realm of component-based software systems, pursuers of the holy grail of automated application composition face many significant challenges. In this paper we argue that, while the general problem of automated composition in response to high-level goal statements is indeed very difficult to solve, we can realize composition in a restricted context, supporting varying degrees of manual to automated assembly for specific types of applications. We propose a novel paradigm for composition in flow-based information processing systems, where application design and component development are facilitated by the pervasive use of faceted, tag-based descriptions of processing goals, of component capabilities, and of structural patterns of families of application. The facets and tags represent different dimensions of both data and processing, where each facet is modeled as a finite set of tags that are defined in a controlled folksonomy. All data flowing through the system, as well as the functional capabilities of components are described using tags. A customized AI planner is used to automatically build an application, in the form of a flow of components, given a high-level goal specification in the form of a set of tags. End-users use an automatically populated faceted search and navigation mechanism to construct these high-level goals. We also propose a novel software engineering methodology to design and develop a set of reusable, well-described components that can be assembled into a variety of applications. With examples from a case study in the Financial Services domain, we demonstrate that composition using a faceted, tag-based application design is not only possible, but also extremely useful in helping end-users create situational applications from a wide variety of available components.



Towards Adaptive Programming: Integrating Reinforcement Learning into a Programming Language

Room: West Exhibit HallDate: Oct 22, 2008Time: 11:00 - 11:30
Christopher Simpkins
Georgia Institute of Technology
Sooraj Bhat
Georgia Institute of Technology
Charles Isbell Jr.
Georgia Institute of Technology
Michael Mateas
University of California, Santa Cruz

Abstract

Current programming languages and software engineering paradigms are proving insufficient for building intelligent multi-agent systems--such as interactive games and narratives---where developers are called upon to write increasingly complex behavior for agents in dynamic environments. A promising solution is to build adaptive systems; that is, to develop software written specifically to adapt to its environment by changing its behavior in response to what it observes in the world. In this paper we describe a new programming language, An Adaptive Behavior Language (A2BL), that implements adaptive programming primitives to support partial programming, a paradigm in which a programmer need only specify the details of behavior known at code-writing time, leaving the run-time system to learn the rest. Partial programming enables programmers to more easily encode software agents that are difficult to write in existing languages that do not offer language-level support for adaptivity. We motivate the use of partial programming with an example agent coded in a cutting-edge, but non-adaptive agent programming language (ABL), and show how A2BL can encode the same agent much more naturally.