Christoph Angerer

ETH Zentrum
RZ H-5
CH-8092 Zurich

Tel: +41 44 63 28106
E-mail: christoph.angerer (at) inf.ethz.ch

My web-presence has moved!
Having successfully finished my PhD in the end of 2011, I have left the ETH. You can find my new, private web-presence at www.mantuko.com. The website you are currently looking at is no longer maintained by me!
About Me
I was born in Munich, Germany. After school, I performed my alternative national service at a day care for handicaped children and finished my banking traineeship at the Bayerische Landesbank two years later. Following my wish to do more scientific work, I studied computer science at the Technische Universität München under the supervision of Professor Bernd Bruegge. Currently, I am a research and teaching assistant in the Group of Professor Thomas Gross at the Computer Systems Institute of Swiss Federal Institute of Technology. I joined the Group on May 1st, 2005.
Research Interests

My primary research interest is in programming languages and everything that is related to that: Functional/Object-oriented/Logic programming, static and dynamic type systems, static and dynamic program analyses, compilers, and optimizations.

The topic of my Ph.D. thesis I am working on is a static analysis of parallel programs that can be used in optimizing compilers for multithreaded/multicore systems (see below for some more information on this topic and links to publications).

Current Projects
Optimizing Parallel Programs: Static Schedule Analysis

Current compilers are still largely ignorant of the scheduling of parallel tasks at runtime. Without this information, however, they have difficulties optimizing and verifying concurrent programs.

In this project, we research a programming model where the program contains explicit scheduling constraints in the form of happens-before relationships between scheduled tasks. This model allows for flexible and fine-grained ad hoc parallelism while still enabling us to statically extract an abstraction of the runtime schedule. The result of this schedule analysis can answer the question as to whether two tasks execute in sequence, exclusively, or in parallel with each other.

Previous Projects
Pepper: Programming in Context Pepper is an extension of Java designed to separate code and data. Unlike Java, Pepper allows controlled violations of encapsulation by permitting the same set of data to be used in multiple contexts --- meaning that the same data may be be accessed through different interfaces for different purposes, in a type-safe fashion.
Quiddity: Morphware for Next-Generation Computing Systems Reconfigurable computing abandons the "one-design-fits-all" philosophy of a traditional microprocessor and instead customizes the hardware to the task at hand, allowing enormous speedups for many problems. Recently, a new technology based on non-volatile magnetoresistive (MR) elements was proposed for reconfigurable computing, which consist of two magnetic layers separated by a non-ferromagnetic spacer; these can be used to form gates which are reprogrammable at runtime, with speeds comparable to ordinary memory access.
Brainchild - the pen-based collaborative editor This project is about exploring the usage of pen-based user interfaces (i.e., tablet PCs) for collaborative work. Please visit the project homepage for more information and downloads.
Peer-Review-System (PRS) The goal of this project is to create a web-based platform for managing and conducting peer-review exercises. Professors or assistants are able to upload exercises, for which the students can then upload their solutions. Peer reviews are a mechanism where a student gets the submission of somebody else for correcting it.
More You can find some more of my private projects on my private website CallbackToTheFuture.com.
Teaching
SS2010 Parallel Programming
SS2010 Java and C# in depth (guest lecture on graphical user interfaces)
SS2009 Parallel Programming
SS2008 Java Programming (Languages in Depth series)
SS2007 Computer Architecture and Systems Programming
SS2007 Java Porgamming (Languages in Depth Series)
WS2006/07 Informatik I (D-ITET)
SS2006 0288 Design Patterns for Mobile and Distributed Applications
WS2005/06 251-0845 Informatik I (D-BAUG)
Supervised Master Theses
DateStatusStudent(s)Project
SS2008FinishedSamuel RiedmannJava with Object States
SS2008FinishedSimon ReinhardMapping Finite State Machine Specifications to MRAM-based Hardware
WS2007/08FinishedSilvan GrafCompilation for Magnetic-RAM-based FPGAs in the Quiddity Project
SS2007FinishedFranziska FritschiGarbage Collection for Pepper
WS2006/07FinishedNina LaschetGraph Transforming Lenses for Pepper
WS2006/07FinishedStefan WismerA Simulator for MRAM-based FPGAs in Quiddity
Supervised Semester Projects
DateStatusStudent(s)Project
SS2010 Finished Can Ali Akgül Synchronization for Parallel Programming in Multi-Clients/Server Environment
SS2010 Finished Ruedi Steinmann Meta-circular Self Implementation using the Mantuko Language
SS2007 Finished Adrian Gauch Comparing the Effectiveness of Magnetoresistive Elements to Transistors for the Quiddity Project
SS2007 Finished Daniel Kellenberger Project Directory
WS2006/07 Finished Ken Lee, Michael Gubser A Framework for Managing Project Resources based on Temporal Relationships
SS2006 Finished Ruihua Jin Diagram Editor for Tablet PCs
SS2006 Finished Nina Laschet A Virtual Machine for Pepper
WS2005/06FinishedIvan ApertBrainchild
WS2005/06FinishedTobias StammChair'o'Peer
Publications - Papers
C. Angerer, Th. Gross
now happens-before later: Static Schedule Analysis of Fine-grained Parallelism with Explicit Happens-before Relationships
Onward! 2010, Co-located with SPLASH, Reno, Tahoe, Nevada, USA October 2010 (bib)
C. Angerer, Th. Gross
Static Analysis of Dynamic Schedules and its Application to Optimization of Parallel Programs
The 23rd International Workshop on Languages and Compilers for Parallel Computing (LCPC2010) Rice University, Houston, Texas, USA October 2010 (bib)
C. Angerer, Th. Gross
Parallel Continuation Passing Style: A Compiler Representation for Incremental Parallelization
The 3nd Workshop on Parallel Execution of Sequential Programs on Multi-core Architectures (PESPMA 2010), co-located with 37th Intl. Symposium on Computer Architecture (ISCA), Saint-Malo, France, June 2010 (bib)
C. Angerer, Th. Gross
Model and Architecture of a Timing Service for Adaptive Policy-Based Management Systems
First IEEE Workshop on Adaptive Policy-Based Management in Network Management and Control (A-PBM), co-located with IEEE INFOCOM 2006, Barcelona, Spain, April 2006 (bib)
O. Creighton, C. Angerer, T. Wolf, A.H. Dutoit, B. Bruegge
Temporary Roles: An Explicit, User-Specified Organizational Model
First Workshop on Pervasive Security, Privacy and Trust (PSPT), Boston, MA, USA, 26 Aug 2004 (bib)
Publications - Book Chapters
C. Angerer, M. Nagel B. Bruegge Th. Gross
Engaging Students in Distributed Software Engineering Courses
in Managing Development and Application of Digital Technologies, Research Insights in the Munich Center for Digital Technology and Management (CDTM), Kern, Eva-Maria; Hegering, Heinz-Gerd; Brügge, Bernd (Eds.) 2006, X, 341 p., 91 illus., Hardcover.
ISBN: 3-540-34128-5 (bib)
C. Angerer, Martin Glaser, Christian Merenda
ARTiSAN RealTime Studio
in Case Tools for Embedded Systems, chapter 5, pages 51-72
Bernhard Schätz (Editor): Technical Report TUM-I0309, Technische Universität München, Institut für Informatik, 2003 (bib);
see also: Project Homepage
Other Work
C. Angerer
Coordinating Shared Media Access through Counter-Phase Coupling
Poster presented at the MICS Zurich scientific conference on 17-19 October 2006
C. Angerer
Computer-mediated Collaboration in Peer-to-Peer Networks: Sharing Real-time Data Streams
Poster presented at the MICS Loewenberg scientific conference on 21-23 September 2005
C. Angerer, T. Klüpfel, M. Ott, M. Pittenauer D. Wagner
Xrave - Requirements Analysis Video Editor for Software Cinema
Diploma thesis at the Department for Applied Software Engineering, TU München,
Aufgabensteller: B. Bruegge, Supervisor: O. Creighton,
C. Angerer,
NoDump - Lotus Notes/Domino Unified Modeling Process
Systementwicklungsprojekt at the Department for Applied Software Engineering, TU München,
Aufgabensteller: B. Bruegge, Supervisor: O. Creighton,
the specification of the developed UML profile can be found here.