What are the assumptions? - Synchronous memory management will be necessary, i.e. the system already contains open/close resources (code libraries / hardware interfaces / remote connections / ...) that cannot be modified. - Use of anything outside of plain C will be a liability and should be removed (if possible). - During prototyping and testing there is no constraint on the tools used.