Although increased machine automation is crucial for higher productivity, it also leads to higher susceptibility of component failures. Such failures may be caused by a variety of issues. This paper focuses on a technique that can be embedded in the software module that the particular component is interfaced with, to arrive at more specific information for determination of unanticipated usage modes causing component fatigue and consequent failure. Thus this may be used to guide component redesign if warranted.The paper proposes the use of finite state machines (FSMs) to implement software used to read the components. The FSM method used as a software architectural construct in conjunction with Markov chains can determine the limiting state distribution as a probability vector. This gives the maximum proportion of time the failed component would end up being in a particular state, along with information about source state and destination state from the Markov transition matrix. In turn this can be very useful to assess the cause of the component failure. The state machine architectural implementation is split into an upper application specific layer, (that can be auto-generated and incorporate Simulink models) and a lower common state machine “engine” layer. The lower layer enforces formal rules and inspects all the state transitions and progressively refines the Markov transition matrix over time. Therefore, this paper shall primarily focus on the state estimation capability of the finite state machine using an example of a component in a vehicle system. Further, the paper shall also demonstrate code generation capabilities from state machine diagrams.