For Developers
Information and resources for LANDIS-II developers.
Tutorials for Extension Developers
We have created tutorials for developers. The tutorials provide step-by-step instructions (with diagrams) of how to create templates, create simple extensions, debug extensions, etc. These tutorials were designed for use with MS Visual C# Express Edition.
Bulletin Board for Extension Developers
We have created a Bulletin Board for developers. The forum should be used to share questions, answers, tips, and other ideas about developing LANDIS-II extensions. Go to the Developers BB
Help Files for Extension Developers
We have created help files for developers. The help files contain information about the interfaces, classes, and namespaces within the core and associated libraries. The help files are essential for extension development.
Extension Source Code
The extension source code available below was used to compile extensions for v5.1. Extensions were compiled using NAnt (see the SDK link above). All source code is covered under the LANDIS-II Source Code License.
Note All extension source code has been moved to the individual extension pages (which is accessible from the extensions list).
Architecture
- LANDIS-II Model Description (PDF)
- This document describes the core scientific concepts in LANDIS-II for both developers and ecologists.
- LANDIS-II Model Architecture(PDF)
- This document provides UML diagrams and brief text describing the overall LANDIS-II system architecture. It describes how LANDIS-II extensions (plug-ins) interact with the model's core framework.
- Base Wind Extension Architechture(PDF)
- This document provides an overview of the source code and design for the base wind extension (v1.0). Although specific to Base Wind, it provides a useful overview for understanding how disturbance extensions are designed.
Tools for Developing Extensions
LANDIS-II is written with the C# programming language. The model uses version 2.0 of C# in order to take advantage of new language features such as Generics, Iterators, and Nullable Types.
In order for LANDIS-II extensions to interact with the core framework, they must be written in C#. Extension developers who prefer integrated development environments (IDEs) have these several options:
- Visual Studio 2005
- Microsoft's full functioning IDE which includes Visual C#. Visual Studio can typically be purchased for under $100. Visual Studio 2005 also available to MSDN Subscribers through the MSDN Download Center.
- Visual C# 2005 Express Edition
- "A streamlined, easy-to-use development tool for hobbyists, students, and novices that makes Windows programming with C# fun and easy to learn", according to Microsoft. Visual C# 2005 Express Edition is currently available for free download.
- SharpDevelop
- An open-source IDE. #develop "is open-source, and you can download both sourcecode and executables from this site. In addition, you can find the latest information and changes on #develop, as well as get in touch with the team in the forum.", so says their web site.
In addition, extension developers can compile extensions without an IDE by using the free Microsoft compiler and a simple text editor:
- SDK Development Kit
- Developers who prefer to work with command-line tools can use the .NET Framework Software Development Kit to build LANDIS-II extensions. (Instructions for installing SDK and NAnt)
The History of LANDIS-II v5.0 Development
For the most curious, the archive of the first LANDIS-II release (v5.0) is now available.

