Onward!

Chair: Richard P. Gabriel, Sun Microsystems, Inc., onward!@oopsla.acm.org

The Onward! Track contains papers describing new paradigms and metaphors in computing, new thinking about objects, new framings of computational problems and systems, and new technologies. Onward! papers aim to alter or redefine the art by proposing a leap forward—or sideways—regarding computing.

Tuesday, 28 October

8:30-10:00

Free Culture: The limited but essential role of property in building an environment for creativity

10:30-12:00

Naturalistic Programming and Run-Time Code Generation

Wednesday, 29 October

10:30-12:00

Acceptability-Oriented Computing

15:30-17:00

The Biology of Information

Thursday, 30 October

10:30-12:00

Panel: Reuse Repositories and Reuse—The Realities

Free Culture: The limited but essential role of property in building an environment for creativity

Tuesday, 28 October – 8:30-10:00

Larry Lessig, Stanford University, lessig@pobox.com

This talk will sketch the boundaries of protection that intellectual property law should set, but argue that extremism has now defeated these limits. The consequence is an environment within which modular creativity is increasingly constrained.

Presenter

Lawrence Lessig is a Professor of Law at Stanford Law School and founder of the school's Center for Internet and Society. He is one of the country's leading commentators on legal aspects of new communications technologies and cyberspace. He is Professor of Law and founder and executive director of the Center for Internet and Society at Stanford Law School. Professor Lessig teaches and writes in the areas of constitutional law, law and high technology, Internet regulation, comparative constitutional law, and the law of cyberspace.

He is the author of many influential publications about cyberlaw and cyberspace, including two books: The Future of Ideas: The Fate of the Commons in a Connected World (2001) and Code and Other Laws of Cyberspace (1999).

Naturalistic Programming and Run-Time Code Generation

Tuesday, 28 October – 10:30-12:00

These papers explore simplifying programming by examining some of our underlying assumptions about references and constructing programs.

Beyond AOP: Toward Naturalistic Programming

Cristina Lopes, University of California, Irvine, lopes@ics.uci.edu
Paul Dourish, University of California, Irvine, jpd@ics.uci.edu
David Lorenz, Northeastern University, lorenz@ccs.neu.edu
Karl Lieberherr, Northeastern University, lieber@ccs.neu.edu

Software understanding (for documentation, maintenance or evolution) is one of the longest-standing problems in Computer Science. The use of bct-oriented languages helps, but fundamentally remains far from solving the problem. Most programming languages and systems have fallen prey to the assumption that they are supposed to capture idealized models of computation inspired by deceptively simple metaphors such as objects and mathematical functions. Aspect-oriented programming languages have made a significant breakthrough by noticing that, in many situations, humans think and describe in crosscutting terms. In this paper we suggest that the next breakthrough would require looking even closer to the way humans have been thinking and describing complex systems for thousand of years using natural languages. While natural languages themselves are not appropriate for programming, they contain a number of elements that make descriptions concise, effective and understandable. In particular, natural languages referentiality is a key factor in supporting powerful program organizations that can be more easily understood by humans.

Routine Run-time Code Generation

Sam Kamin, Univ. of Illinois at Urbana-Champaign, kamin@cs.uiuc.edu

The decades-old paradigm of "object code = executable code: is outdated. The paradigm we propose in this paper is "object code = executable program generator.: Similarly, "software component" should be "program that, when appropriately invoked by a client, generates machine language useful to the client." Traditional object files amount to constant functions in the domain of code-producing functions; in the future, we will routinely employ the full domain of higher-order code values. In this paper, we argue that such a change in viewpoint can lead to much wider use of run-time code generation, by overcoming the bureaucratic barriers it usually encounters. Run-time code generation has numerous applications; when it comes to be used routinely, many more applications are likely to be discovered.

Acceptability-Oriented Computing

Wednesday, 29 October – 10:30-12:00

These papers talk about a new approach to constructing software systems in which the designer identifies key properties that the execution must satisfy to be acceptable to its users. The resulting system consists of layers of components enforcing the acceptability properties.

Acceptability-Oriented Computing

Martin Rinard, MIT, rinard@lcs.mit.edu

We propose a new approach to the construction of software systems. Instead of attempting to build a system that is as free of errors as possible, we instead propose that the designer identify key properties that the execution must satisfy to be acceptable to its users. The developer then augments the system with a layered set of components, each of which enforces one of the acceptability properties. The potential advantages of this approach include more flexible, resilient systems that recover from errors and behave acceptably across a wide range of operating environments, an appropriately prioritized investment of engineering resources, and reduced development costs because of the ability to productively incorporate unreliable components into the final software system and to use less skilled implementors in the development process.

Automatic Detection and Repair of Errors in Data Structures

Brian Demsky, MIT, demsky@lcs.mit.edu
Martin Rinard, MIT, rinard@lcs.mit.edu

We present a system that accepts a specification of key data structure constraints, then dynamically detects and repairs violations of these constraints, enabling the program to continue to execute productively even in the face of otherwise crippling errors. Our experience using our system indicates that the specifications are relatively easy to develop once one understands the data structures. Furthermore, for our set of benchmark applications, our system can effectively repair errors to deliver consistent data structures that allow the program to continue to operate successfully within its designed operating envelope.

The Biology of Information

Wednesday, 29 October – 15:30-17:00

Walter Fontana, Santa Fe Institute, walter@santafe.edu

Walter Fontana is a research professor in residence at the Santa Fe Institute, has served as a Member of the Institute for Advanced Study in Princeton, NJ, with the Program in Theoretical Biology, and was a member of the University of Vienna faculty at the Institute for Theoretical Chemistry and Molecular Structural Biology.

Panel: Reuse Repositories and Reuse—The Realities

Thursday, 30 October – 10:30-12:00

This session starts with a photo-essay on components, reuse, value, and beauty, and concludes with a panel on libraries, repositories, and reuse.

Without a Name: A Reusable Component Repository

Robert Biddle, Victoria University of Wellington, New Zealand, robert@mcs.vuw.ac.nz
Angela Martin, Victoria University of Wellington, New Zealand, angela@mcs.vuw.ac.nz
James Noble, Victoria University of Wellington, New Zealand, kjx@mcs.vuw.ac.nz

The Story - this essay concerns components, reuse, value, and beauty. All photographs were taken at No Name Building Recyclers, Wellington, New Zealand, with the kind permission of the owners.

Panel: Reuse Repositories and Reuse—The Realities

Dave Thomas, Bedarra Research Labs & Carleton University, dave@bedarra.com
Brian Barry, Bedarra Corp & eclipse.org, brian@bedarra.com
Ivar Jacobson, JacZone, ivar@jaczone.com
Linda Northrop, Software Engineering Institute, lmn@sei.cmu.edu
Clemens Szyperski, Microsoft Research, cszypers@microsoft.com
& others

This panel (part of the 2003 Onward! program) will discuss repositories, and reuse. While there is so much hype and noise about components and model repositories, metadata and reuse there is still very little understood about how hard it is to design for reuse and to encourage systematic reuse both in terms of culture, design, and supporting tools and technology. Like standards we have a plethora of component models to choose from and yet the long predicted component market place has yet to occur or has it already happened?

Our educational colleagues outside of the our community are blindly following our rhetoric to build eLearning repositories so Learning Objects can be snapped together just like the OO folks do it! Similarly object zealots are arguing for OO XML, OO CSS to facilitate reuse OO style.

Our panelists have participated in both the euphoric vision as well as the pragmatic realities of repositories reuse in practice. The panel has been asked to discuss their future vision for reuse and repositories and in particular what key social, business and technical enablers will facilitate significant reuse or render the matter irrelevant.