Developer prerequisites - Prerequisites for GridLAB-D developers
Before you begin developing code for GridLAB-D, you need to be sure you have the necessary experience. GridLAB-D is written in primarily C and C++, although other languages may be used in some components. If you intend to develop on modules, which are used to implement classes, then you will only need C++. If you intend to develop for the GridLAB-D core, you will need to use C as well.
You can develop code for GridLAB-D on any supported platforms, including
- Microsoft Windows
- Mac OSX
- All platforms
- Xerces-C (Version 3.1)
- MySQL Connector C (6.1) (optional)
- Matlab (2012 or later) (optional)
GridLAB-D's open source license gives you full access to the [source code]. This means you can make changes to your own copy and use it however you want, provided that you acknowledge the original copyright holders. However, some developers may want to share their code changes with other GridLAB-D users. This requires
- a SourceForge user id];
- you request access to the GridLAB-D project by sending a request to the Project Administrator (please include a synopsis of your reason and information about your experience and/or credentials); and
- you be granted access by the project team to both the source repository (SVN) and issue tracking (TRAC) sites.
You will need an appropriate subversion repository access tool. See http://www.subversion.org for a list. Once you have installed the tool, you can download code from the repository. The structure of the repository is as follows:
- This is the main development branch in which all major new features and capabilities are introduced. The trunk is under strict control by project team.
- This is the branch maintenance tree in which all major releases of GridLAB-D are kept. The branch tree is under strict control by project team.
- This is the ticket workspace tree in which all working version are kept. Each ticket is owned by the developer to whom the TRAC ticket is assigned.
All work is scheduled and managed through the ticket reporting site.
The project team strictly manages the build and release process. For details see development/release process page.
The project team uses a few conventions that developers are asked to follow. See programming conventions for details.
The project uses these wiki pages are the primary documentation of GridLAB-D. See the Documentation Guide for details on how to write documentation and project conventions.
- Guide to Programming GridLAB-D
- Creating a module
- Creating a class
- Special Topics
- Source documentation
- Code templates