TRANSIMS software architecture for IOC-1

This document describes the TRANSIMS software architecture and high-level design for the first Interim Operational Capability (IOC-1). Our primary goal in establishing the TRANSIMS software architecture is to lay down a framework for IOC-1. We aim to make sure that the various components of TRANSIMS are effectively integrated, both for IOC-1 and beyond, so that TRANSIMS remains flexible, expandable, portable, and maintainable throughout its lifetime. In addition to outlining the high-level design of the TRANSIMS software, we also set forth the software development environment and software engineering practices used for TRANSIMS.