SUMMARYThe # component model was proposed to meet the growing demands of new complex applications of science and engineering that require productive and efficient use of high-performance computing architectures. This paper presents the principles, intuition, and theories underlying the # component model, and the design of an architecture for programming frameworks that comply to the # component model.