1. A method of converting an activity diagram into code, comprising: a. traversing the activity diagram to identify cycles included in the activity diagram; b. resolving intermixed cycles among said identified cycles to only maintain separated cycles and/or cycles contained in of other cycles, said step of resolving intermixed cycles comprising comparing the identified cycles one to another to determine if they have common nodes, removing one of the cycles from said identified cycles and marking the other cycle as a GOTO loop, if the compared cycles have common nodes; c. traversing the activity diagram and for each traversed node, generating code statements based on a type of node and the results of steps a and b, wherein steps a, b, and c are performed by at least one computing device.