In mid-sized cities, tram networks are major components of public service infrastructure. In those networks with their typically dense schedules, multiple lines share tracks and stations, resulting in a dynamic system behavior and mounting delays following even small disruptions. Robustness is an important factor to keep delays from spreading through the network and to mini-mize average delays. This paper describes part of a project on simulation and optimization of tram schedules, namely the development and application of a simulation model representing a tram network and its assigned time table. We begin by describing the components of a tram network, which consist of physical and logical entities. These concepts are then integrated into a model of time table based tram traffic. We apply the resulting simulation software to our hometown Cologne's tram network and present some experimental results.