One area from which we might gain leverage in the ubiquitous- and embedded-systems domain is software architecture, which has emerged over the past decade as an area of intense interest among researchers and practitioners. Such interest has resulted in many approaches to dealing with architectural description and analysis, architectural styles, domain-specific and application family architectures, and architecture-based dynamic system adaptation. By and large, however, these approaches share assumptions that make them suited specifically to the domain of traditional, desktop-based development platforms. Those comparatively few architecture-based solutions that have focused on software systems for embedded devices have faced some traditional development challenges (such as applying solutions across an application family) but have also had different priorities (for example, ensuring efficient, architecture-compliant system implementations). In this article, the author draw general distinctions between "traditional" software architectures and those targeted at embedded systems. The author focuses on several areas that traditional software architecture research has studied and discusses their applicability and potential shortcomings in the embedded-systems context.