Using Meta-Reasoning For Failure Detection And Recovery In Assembly Domain