ASTRAL is a formal specification language for realtime systems. It is intended to support formal software development, and therefore has been formally defined. In ASTRAL a realtime system is modeled by a collection of state machine specifications and a single global specification. This paper focuses on extending the ASTRAL methodology to allow the composition of ASTRAL system specifications into specifications of larger and more complex systems. The ASTRAL language includes structuring mechanisms that allow one to build modularized specifications of complex systems with layering. In this paper we concentrate on how to combine these complex system specifications into specifications of even more complex realtime systems. This is accomplished by adding a COMPOSE section to the language that provides the needed information to combine two or more ASTRAL specifications into a single new one. In this paper we also introduce the necessary proof obligations to assure that the assumptions of each of the components of the larger system are satisfied by the other components of the system that replace the previous external environment. We also discuss how some exported transitions become internal transitions of the new system. A telephony example with local central controls that interface to long distance units is used to motivate the extensions.