This report presents SHIFT, a programming language for describing dynamic networks of hybrid automata. The SHIFT model offers the proper level of abstraction for describing complex applications such as automated highway systems, etc. The report first describes a simplified version of the SHIFT model. The models of a type, a component and the world are discussed, including the formal semantics of the model. This is followed by a description of the main features of the SHIFT language, including states, inputs, outputs, differential equations and algebraic definitions, discrete states and state transitions. Two examples are provided illustrating these features. In the final section, the run-time environment for simulating SHIFT programs is described, and in particular, the algorithm for determining synchronized transitions.