MATSim Extensions

Important Note

The following text is no longer up to date and needs to be revised. We now say that “extensions” is everything that extends MATSim, but there are three categories of extensions:

So please read the following text with care; quite often it says “extension” but means “contrib”.

Introduction

As a lot of functionality in MATSim is created by PhD students, there is often a problem maintaining this functionality after the respective students finished their work and leave university. In order to better communicate which features are “standard MATSim” which will (and have to) be maintained by the MATSim core developers, and which features are just “single-developer functionality”, MATSim introduces the concept of “MATSim core” and “MATSim extensions”.

The core will be maintained by the core developers, and should contain central functionality which is likely to stay in MATSim forever. Extensions can provide new, but stable, functionality developed to solve specific problems which can be of interest to others in the MATSim community.

Extensions will—as long as they compile and pass all tests—also be packaged for releases and be thus optional parts of MATSim releases. This requires that extensions follow certain guidelines, also in order to keep code maintenance and user support in reasonable bounds.

Requirements

Creating your own extension

Documenting extensions in the contrib section

Extensions in the contrib section are stand-alone documentations. The entry points are under matsim.org/javadoc. Always please do the following:

Additional options depend on personal style. Some options are