Library-Centric Software Design LCSD'06

workshop, on Sunday, October 22nd, 2006 at

Object-Oriented Programming, Systems, Languages and Applications (OOPSLA'06) conference in Portland, Oregon, October 22-26, 2006.

The program of the workshop is now available, as well as the proceedings.

Registering to the workshop

The workshop is open to everyone, no position paper is required for participating. So that the organizers can accurately estimate workshop attendance, please register by sending an email to


The program for the workshop is as follows:
8:30-8:40 Workshop organizers' Welcoming Remarks
8:40-9:40 Keynote: Sean Parent, Adobe, Inc., USA: A Possible Future for Software Development (slides)
9:40-10:10 Break
Technical block 1: Active libraries Chair: Jeremy Siek
10:10-10:35 Francis Russell, Michael Mellor, Paul Kelly, and Olav Beckmann: An active linear algebra library using delayed evaluation and runtime code generation
10:35-11:00 Lubomir Bourdev, Jaakko Järvi: Efficient Run-Time Dispatching in Generic Programming with Minimal Code Bloat
11:00-11:25 Cosmin E. Oancea, Stephen M. Watt: Generic Library Extension in a Heterogeneous Environment
11:25-11:50 Eric Van Wyk, Derek Bodin, Paul Huntington: Adding Syntax and Static Analysis to Libraries via Extensible Compilers and Language Extensions
11:50-13:20 Lunch
Technical block 2: Type systems and static analysis Chair: Mat Marcus
13:20-13:45 Gustav Munkby, Sibylle Schupp: A Static Analysis for the Strong Exception-Safety Guarantee
13:45-14:10 Yuriy Solodkyy, Jaakko Järvi, and Esam Mlaih: Extending Type Systems in a Library --- Type-safe XML processing in C++
14:10-14:35 Alexander Spoon: Anti-Deprecation: Towards Complete Static Checking for API Evolution (slides)
14:35-15:00 Break
Technical block 3: Libraries manipulating complex structures Chair: David Musser
15:00-15:25 Sylvain Pion, Andreas Fabri: A Generic Lazy Evaluation Scheme for Exact Geometric Computations (slides)
15:25-15:50 Rene Heinzl, Michael Spevak, Philipp Schwaha, and Siegfried Selberherr: A Generic Topology Library
15:50-16:00 Break
Position papers Chair: Josh Bloch
16:00-16:15 Michael Spevak, Rene Heinzl, Philipp Schwaha, Tibor Grasser, and Siegfried Selberherr: A Generic Discretization Library
16:15-16:30 Hartmut Kaiser, Andre Merzky, Stephan Hirmer, and Gabrielle Allen: The SAGA C++ Reference Implementation
16:30-16:45 Jacob Smith, Jaakko Järvi, and Thomas Ioerger: A Parametrized Iterator Request Framework for Generic Libraries
16:45-17:00 John Linderman: Pound Bang What? (slides)

Keynote address

The full-day workshop will begin with an invited talk by Sean Parent, Adobe Inc.

A Possible Future for Software Development
This talk begins with an overview of software development at Adobe and a look at industry trends towards systems built around object oriented frameworks; why they work, and why they will likely fail to deliver quality, scalable, software. We'll look at a possible alternative to this future, combining generic programming with declarative programming to build high quality, scalable systems. I'll demonstrate how these ideas are being combined and explored in the Adobe Source Libraries.
A photo of Sean Parent. Sean Parent is a researcher at Adobe Systems and Sr. engineering manager of the Adobe Software Technology Lab. One of his team's current projects is the Adobe Source Libraries, including two libraries for declarative user interface logic and layout. Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop. From 1988 through 1993 Sean worked at Apple where he was part of the system software team that developed the technologies allowing Apple's successful transition to the PowerPC RISC processor. Sean holds a number of software patents and is a graduate of Seattle University.

Workshop goals and activities

The workshop is a scientific forum for presenting original research in the design, implementation, and evaluation of software libraries. Other major activities include the identification of open questions specific to library research and the discussion of a strategic plan for establishing library research as a field. The outcome of the workshop is a combination of research contributions and specific next steps for improving the infrastructure for library research.

Participants are expected to read the accepted submissions beforehand. The technical presentations, although based on the accepted papers, should not provide mere summaries of the papers. Instead, authors are encouraged to use their presentation slots (20 + 5 mins) to bring up topics for discussion.

The technical presentations are mixed with scientific and organizational discussions. The discussions aim at furthering the topics of the presentations, thus their agenda will be publicly discussed among the participants and then posted on the website of the workshop. All participants are expected to come prepared with their tentative answers or thoughts.

Call for papers

Libraries are central to all major scientific, engineering, and business areas, yet the design, implementation, and use of libraries are underdeveloped arts. This workshop is one of the first steps in the process of placing all aspects of libraries on a sound technical and scientific basis through research into fundamental issues and documentation of best practices.

A software library is an organized collection of code with associated tools supporting programming in general or in specific domains, usually united by a specified set of principles and conventions. Most libraries are aimed at the use by several people and in different environments. The areas of software library research include

We invite the submission of extended abstracts on software library research, including, but not limited to, the above list of topics. The extended abstracts should address issues important to libraries as a field, i.e., describe ideas or techniques that can be reused for libraries across problem domains and/or languages; they should refrain from merely describing a particular library, no matter how novel the choice of domain. As an additional criterion, the extended abstracts are reviewed against suitability for a journal publication of the corresponding full paper.

For uniformity, authors should use the latest ACM SIGS conference style file (option 1). Submissions should be limited to 10 pages in this style.

Accepted extended abstracts will be posted on the workshop's website prior to the workshop, and collected in a proceedings published as a technical report of the Chalmers Technical University, Gothenburg, Sweden. Authors of selected papers will be invited to submit a full paper for a special issue of a journal, to be announced later.

Important Dates

Aug 14 - Submission of extended abstracts
Sep 12 - Notification of acceptance
Oct 10 - Submission of final versions of the extended abstracts
Oct 15 - Final versions posted on Workshop web pages (download the proceedings)
Oct 22 - Workshop

Submission procedure

The submission system is closed. No more submissions are accepted.


Primarily, the email address should be used for questions addressed to the organizers.

Program committee

In addition, the organizers will serve as program committee members, with Jaakko Järvi and Josh Bloch as program co-chairs.