Architecting Systems with Trustworthy Components