Skip to end of metadata
Go to start of metadata

This page describes the Software Development Environment (SDE) of the CI Development Team. It is part of the OOI CI Project Infrastructure. The parts of the SDE are described below:

Architecture and Design

  • Architecture Documentation: Structured according to the DoD Architecture Framework (DoDAF)
  • Design Drawings: Unified Modeling Language (UML) for domain models, class diagrams, sequence diagrams
  • Architecture Drawings Tool: Sparx Enterprise Architect, Ultimate Edition
  • GoogleDoc Drawings, Visio and OmniGraffle for code-level design diagrams and sketches
  • Up-to-date documentation on Confluence, consolidated into architecture documents for larger milestones (LCO, LCA)
  • Design tutorials

Programming Environment

  • Integrated Development Environment (IDE): PyCharm, Komodo, vim, netbeans, eclipse, emacs, etc.
  • Programming language and tools:
    • R1: Python 2.5, Twisted, Java 1.6
    • R2: Python 2.7.2, Gevent
  • Host operating system: MacOS X (10.6 and 10.7) and Linux
    • R1: CentOS 5.5, Ubuntu Linux for developers
    • R2: CentOS 6.2, Ubuntu Linux for developers
  • Virtual machine technology for development: Virtualbox, Amazon EC2
  • Bug tracking: Jira
  • Java Monitoring

Source Code and Version Control

  • Version control system: GIT
  • Git user and project management: GitHub
  • See the Revision Control page for detailed information on installation and usage of GIT.

Documentation Environment

  • Architecture documentation: Confluence Wiki
  • Development Iteration task documentation: Confluence Wiki
  • Source Code Documentation: Python, in-line
  • Documentation Generation: Doxygen. See this page for details. Auto-generated docs are posted at's page here

Unit Testing

Build Environment

Dev server and links

  • is our local dev server, and the page there has links to git, doxygen docs, DAP server, etc.


  • We use the Python logging system, see this tutorial on its use and configuration.


cidev-admin cidev-admin Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.