The size and complexity of software in safety-critical systems is increasing at a rapid pace. One technology that can be used to mitigate this complexity is component-based software development. However, in spite of the apparent benefits of a component-based approach to development, little work has been done in applying these concepts to hard real-time systems. This paper improves the state of the art by making three contributions: (1) we present a component model for hard real-time systems and define the semantics of different types of component interactions; (2) we present an implementation of a middleware that supports this component model. This middleware combines an open-source CORBA Component Model (CCM) implementation (MICO) with ARINC-653: a state-of-the-art real-time operating systems (RTOS) standard, (3) finally; we describe a modeling environment that enables design, analysis, and deployment of component assemblies. We conclude with a discussion of the lessons learned during this exercise. Our experiences point toward extending both the CCM as well as revising the ARINC-653. Copyright © 2011 John Wiley & Sons, Ltd.