1. A method for isolating a hardware or user error in a software controlled apparatus using recorded events and a causality model, that relates at least one root cause to at least one root cause related pattern of the events, comprising: recording a series of events; evaluating the series of events by comparing it with at least one of the root cause related patterns, thereby producing matched patterns; determining a best match of the matched patterns; and assigning the root cause that relates to the best matching pattern of the error.