Date: 07 Dec 2009
From: jyrki@diku.dk
Subject: Master's thesis on software library design

Oral defence of M.Sc. thesis: Foundations of an adaptable container library

Defender: Bo Simonsen
Censor: Peter Sestoft
Examiner: Torben Mogensen
Supervisor: Jyrki Katajainen

Time: 17 December 2009 at 9.00–10.00
Place: 3-1-25

The defence will be held in Danish.

Abstract:

The STL is a collection of generic containers and algorithms; the
interfaces of those are specified in the C++ standard. The
components in the STL are written in such a way that they can be
used directly in application development. The CPH STL is an
enhanced version of the STL; the significant enhancement in the
CPH STL is that it provides containers with different trade-offs
with respect to performance, space efficiency, and safety.

This thesis is a complete design specification of the entire
library. This design specification consists of three parts: The
first part is the specification of the architecture of the
library. Along with this specification, we define the different
concepts for individual components, but we provide no
implementation details. The second part is a complete design for
the vector container. We introduce component frameworks for STL
containers, which gives a high degree of code reuse and
flexibility from the user's point of view.  In the third (and
last) part we identify the problems related to the use of
component frameworks, and provide solutions to these problems.

The key contribution of this thesis is that the architecture and
the design described can be used as a starting point for
designing future generic program libraries. Also, the problems
related to the use of component frameworks are recurring in
context of the C++ programming language. Therefore we expect that
C++ programmers will find this part interesting as well.

The thesis is available online at
http://www.diku.dk/~jyrki/PE-lab/Bo/

PE-lab's home page:
http://www.diku.dk/~jyrki/PE-lab/