Library-Centric Software Design LCSD'06
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 lcsd06@cs.tamu.edu.
Program
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.
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 http://opensource.adobe.com, 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
- Design and implementation of libraries
- Program and system design based on libraries
- Libraries supporting specific application domains, such as biology or banking
- Evolution, refactoring, and maintenance of libraries
- Empirical studies of library use
- Performance of libraries, including benchmarking and library-based optimizations
- Design of language facilities and tools in support of library definition and use
- Validation, debugging, and testing of libraries
- Extensibility, parameterization, and customization
- Distribution of libraries
- Specification of libraries and their semantics
- Usability for library users and developers
- Assessing quality of libraries
- Documentation and teaching of libraries
- Creating and supporting communities of library users
- Using several libraries in combination
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 lcsd.cs.tamu.edu/06 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.
In addition, the organizers will serve as program committee members,
with Jaakko Järvi and Josh Bloch as program co-chairs.
Organizers
Primarily, the email address
lcsd06@cs.tamu.edu
should be used for questions addressed
to the organizers.
Program committee
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