1. A method for transaction-based abstraction of a hardware design comprising the steps of: selecting one or more transaction-processing finite state machines (FSMs), wherein the one or more transaction-processing FSMs determine one or more transaction boundaries, a transaction boundary being a starting or ending time step of a transaction; extracting the one or more transaction-processing FSMs; and generating an abstracted FSM based upon the one or more extracted transaction-processing FSMs.