A need for a standard understandable software architecture that can be reused from project to project has long been recognized. This paper describes the software architecture used for the Standard-Missile-3 (SM-3), Stage-3 development program. The architecture was defined based on hierarchical principles with the goal of providing a general solution for the architecture-level design for embedded systems. An architecture-need statement is first presented listing the attributes of the needed architecture. An overview of the notation is given, and then the layered architecture is described. How the architecture supports multi-build projects is then described. A brief discussion on reuse is then provided --- both reuse of algorithms in the architecture and reuse of the architecture itself. The paper concludes with a few comments on support for the software process. The paper includes two attachments: Attachment A - a list of acronyms and other definitions, and Attachment B - an overview of the SM-3 Stage-3 software requirements.