1. A method of converting an activity diagram into code, comprising: a. traversing the activity diagram to identify the cycles included in the activity diagram; b. resolving intermixed cycles among said identified cycles to only maintain separated cycles and/or cycles contained in the body of other cycles, said step of resolving intermixed cycles comprising comparing the identified cycles one to another to determine if they have common nodes; c. traversing the activity diagram and for each traversed node, generating code statements based on the node type and the results of steps a and b.