This paper describes an approach to designing self-healing components for robust, concurrent and distributed software architecture. A self-healing component is able to detect object anomalies inside of the component, reconfigure inter-component and intra-components before and after repairing the sick object, repair it, and then test the healed object. For this, each self-healing component is structured to the layered architecture with two layers, the service layer and the healing layer, which are designed separately from each other. The service layer of a self-healing component provides functional services to other components, whereas the healing layer encapsulates the self-healing mechanism for monitoring objects in the service layer and repairing the sick objects detected. The process of component self-healing includes detection, reconfiguration before and after repairing, repair, and testing. To illustrate this approach, the elevator system is considered.