# [gclist] Design patterns in garbage collection

Stuart Yeates Stuart.Yeates@trimble.co.nz
Tue, 9 Jun 1998 09:22:04 +1200

I have recently completed a masters thesis at the University of
Canterbury, Christchurch, New Zealand, entitled "Design Patterns in
Garbage Collection." If anybody is interested in electronic copies of
this, or of the two papers (one workshop paper (PLoP97) and one refereed
conference paper (TOOLS Pacific 97), both focusing on the design
patterns side) derived from this work, let me know and I'll send you a
copy.

In simple terms the main useful conclusions of the work are (a) garbage
important if you want to reuse your collector with other languages (c)
evaluating the performance of java programs is more difficult than it
may appear (I gave up and calculated upper bounds from the code).

Bibliographic entries for the items follow:

@InProceedings{yeates97b,
author = 	 "Stuart A. Yeates  and Michel de Champlain",
title = 	 "Design of a Garbage Collector Using Design Patterns",
crossref =	 "tools97",
pages =	 "77-92",
annote =	 "We present six design patterns---Adapter,
TriColour---found during a review of four different
garbage collectors. We also capture the design
decisions and trade-offs behind the low-level
implementation that characterises most garbage
collectors. A garbage collector for real-time
applications is then designed using the design
patterns. We discuss the selected algorithm and
various implementation techniques. Finally the
performance of the collector is examined using
formal methods. This paper presents a novel attempt
to "mine" and capture the essential design decisions
and trade-offs in garbage collectors. "
}

@Proceedings{tools97,
title = 	 "Proceedings of the twenty-fifth conference of
(TOOLS) Pacific.",
year = 	 1997,
editor =	 "Christine Mingins and Roger Duke and Bertrand Meyer",
organization = "ISE (Interactive Software Engineering)",
month =	 "November"
}

@MastersThesis{yeates97a,
author = 	 "Stuart Yeates",
title = 	 "Design Patterns in Garbage Collection",
school = 	 "University of Canterbury",
year = 	 1997,
type =	 "{M.Sc (Comp. Sci.)}",
month =	 "June"
}

@InProceedings{yeates97,
author = 	 "Stuart A. Yeates and Michel de Champlain",
title = 	 "Design Patterns in Garbage Collection",
crossref =	 "plop97",
volume =	 "6 General Techniques''",
abstract =	 "This paper describes several design patterns found
in garbage collectors. The patterns we present are
divided into two groups. The first group are two new
design patterns: {\it Rootset\/} and {\it
TriColour\/} that have been  used in the garbage
collection domain for up to 20 years. The second
group of patterns are reported in the GoF book, such
and {\it Proxy\/},but we examine their use in the
garbage collection domain. By applying these
patterns, their solutions provide a less efficient,
but simpler and more flexible way of implementing
and reusing garbage collectors in programming
languages than current low-level methods.",
keywords =	 "object-oriented patterns garbage-collection"
}

@Proceedings{plop97,
title = 	 "Proceedings of the 4th Annual Conference on the
Pattern Languages of Programs",
year = 	 1997,
booktitle =	 "PLoP '97",
editor =	 "Robert S. Hanmer and Don Roberts",
month =	 "2-5 September",
note =	 "Published as technical report \# wucs-97-34 of
Washington University",
annote =	 "Not a peer reviewed publication but a 'shepparded'
one.",
keywords =	 "object-oriented patterns"
}

stuart

--
Stuart Yeates  --- stuart.yeates@trimble.co.nz