Implementing Garbage Collection for Active Objects on top of Erlang

Master thesis of Sigmund Hansen

Abstract

 

 

ABS is a language for modeling and simulating distributed systems.
ABS has been in development at the University of Oslo for a number of
years and has been the technical underpinning for a number of national
and EU-wide research projects such as HATS and Envisage.
The key characteristic of ABS is a semantics of
active objects encapsulating parallel behavior in a safe way.

Objects communicate via
asynchronous method calls and future variables.
Modern programming languages typically relieve programmers of
the burden of manually managing memory. Errors due to memory leaks
and dangling pointers has been a headache in low-level languages like
C. ABS has an Erlang back end that has been developed as part of
a master’s thesis by Georg Göri at the Graz University of Technology.
Although Erlang is a garbage collected language, it cannot collect idle
processes.

In this thesis, a garbage collector that stops processes that represent
active objects, future variables and schedulers in the Erlang back end,
has been developed. The thesis discusses measures taken to ensure
correct collection of these processes, as well as strategies employed to
balance completeness and speed.

 

 

 

Published Jan. 14, 2015 8:23 AM - Last modified Jan. 14, 2015 8:23 AM