Research & Publications
Multi-Paradigm Programming
Most of my work at EPFL was related to
Scala, a multi-paradigm programming
language with clear
semantic foundations. Scala evolved out of the programming language
Funnel. Funnel is based on the
notion of Functional Nets, a uniform
foundation for programming and program composition. A compiler for Funnel was
written in cooperation with Michel
Schinz.
An Overview of the Scala Programming Language
Martin Odersky, Philippe Altherr, Vincent Cremet, Burak Emir,
Sebastian Maneth, Stephane Micheloud, Nikolay Mihaylov,
Michel Schinz, Erik Stenman, Matthias Zenger.
Technical Report IC/2004/64, EPFL, Switzerland, July 2004.
|
|
A Nominal Theory of Objects with Dependent Types
| Martin Odersky, Vincent Cremet, Christine Röckl, Matthias Zenger. |
|
European Conference on Object-Oriented Programming, Darmstadt, Germany, July 2003.
© Springer-Verlag (LNCS series).
|
|
|
Workshop on Foundations of Object-Oriented Languages, New Orleans, USA, January 2003.
|
|
|
Technical Report IC/2002/070, EPFL, September 2002.
|
|
Colored Local Type Inference
Martin Odersky, Christoph Zenger, Matthias Zenger.
ACM Symposium on Principles of Programming Languages, London, UK, January 2001.
|
|
A Functional View of Join
Martin Odersky, Matthias Zenger, Gang Chen, Christoph Zenger.
Technical Report ACRC-99-016, University of South Australia, Adelaide, 1999.
|
|
Software Extensibility
At LAMP we implemented a Scala compiler.
For the implementation of this compiler, we used some of the techniques
developed in my work about software extensibility:
Scalable Component Abstractions
| Martin Odersky, Matthias Zenger. |
|
Conference on Object-Oriented Programming, Systems, Languages and Applications, San Diego, USA, October 2005.
|
|
|
Technical Report IC/2004/109, EPFL, Switzerland, December 2004.
|
|
Independently Extensible Solutions to the Expression Problem
| Matthias Zenger, Martin Odersky. |
|
Workshop on Foundations of Object-Oriented Languages, Long Beach, USA, January 2005.
|
|
|
Technical Report IC/2004/33, EPFL, Switzerland, March 2004.
|
|
Programming Language Abstractions for Extensible Software Components
Matthias Zenger.
PhD Thesis, No. 2930, EPFL, Switzerland, March 2004.
|
|
Towards a Taxonomy of Software Change
| Jim Buckley, Tom Mens, Matthias Zenger, Awais Rashid, Günter Kniesel. |
|
Journal of Software Maintenance and Evolution: Research and Practice
(Special Issue on USE), 17(5), John Wiley & Sons, Ltd, September 2005.
|
|
Keris: Evolving Software with Extensible Modules
| Matthias Zenger. |
|
Journal of Software Maintenance and Evolution: Research and Practice
(Special Issue on USE), 17(5), John Wiley & Sons, Ltd, September 2005.
|
|
Towards a Taxonomy of Software Evolution
Tom Mens, Jim Buckley, Matthias Zenger, Awais Rashid.
International Workshop on Unanticipated Software Evolution, Warsaw, Poland, April 2003.
|
|
Extensibility in the Large
|
Matthias Zenger.
First Doctoral Workshop on Global Computing, Lausanne, Switzerland, June 2002.
|
|
Evolving Software with Extensible Modules
Matthias Zenger.
International Workshop on Unanticipated Software Evolution,
Málaga, Spain, June 2002.
|
|
Type-Safe Prototype-Based Component Evolution
| Matthias Zenger. |
|
European Conference on Object-Oriented Programming,
Málaga, Spain, June 2002.
© Springer-Verlag (LNCS series).
|
|
|
Technical Report IC/2002/014, EPFL, April 2002.
|
|
Extensible Algebraic Datatypes with Defaults
Matthias Zenger, Martin Odersky.
International Conference on Functional Programming,
Firenze, Italy, September 2001.
|
|
Implementing Extensible Compilers
Matthias Zenger, Martin Odersky.
Workshop on Multiparadigm Programming with Object-Oriented Languages,
Budapest, Hungary, June 2001.
|
|
Erweiterbare Übersetzer (in German)
Matthias Zenger.
Masters Thesis, University of Karlsruhe, August 1998.
|
|
One of the results of my work is an extensible Java compiler
JaCo which is now used in a
couple of projects at EPFL and at the
School of Computer and
Information Science of the
University of South Australia.
Recently, my research led to the design and implementation of the Java-based
programming language Keris.
Keris adds a powerful module system to Java which explicitly supports software
evolution on the programming language level.
Distributed Programming
Some years ago, I had been a member of the
JavaParty
group at the University of Karlsruhe. This group is working on an extension
of Java that simplifies the development of distributed applications, by
providing transparent, mobile remote objects. Here is a selection of documents
about our work:
JavaParty: portables, paralleles und verteiltes Programmieren in Java (in German)
Michael Philippsen, Matthias Zenger, Matthias Jacob.
JavaDays, Frankfurt, Germany, November 1998.
|
|
JavaParty: Transparent Remote Objects in Java
Michael Philippsen, Matthias Zenger.
Concurrency: Practice and Experience, 9(11):1225-1242, November 1997.
|
|
Transparente Objektverteilung in Java (in German)
Matthias Zenger.
Student project report, Institut für Programmstrukturen und
Datenorganisation, Universität Karlsruhe, February 1997.
|
|
|
|