Architecting Critical Systems by