  This paper reviews the entire engineering process of trustworthy Machine
Learning (ML) algorithms designed to equip critical systems with advanced
analytics and decision functions. We start from the fundamental principles of
ML and describe the core elements conditioning its trust, particularly through
its design: namely domain specification, data engineering, design of the ML
algorithms, their implementation, evaluation and deployment. The latter
components are organized in an unique framework for the design of trusted ML
systems.
