We intend to develop extensions to GIJOE [4] by adding some facilities to allow drawing of DRFSM's and to generate the appropriate C code with a recursive call to some states with variable transition conditions. The required modifications will be accomplished in two phases:
In the drawing phase a new arrow will be added (RTA) to represent a recursive call to any state. Also a notation for variable transition value will be added as shown in Figure 5.
In the code generation phase, it is very important to preserve backward compatibility; fortunately, that is easy since we can check for the existence of RTA's. If no RTA is found, then it is a FSM and the code generated for this machine will be the same as before. On the other hand, if any RTA is found, then the following steps are required:
With these modifications backward compatibility is guaranteed and the implementation of any DRFSM is easily maintained. In Appendix A, a generated code for a DRFSM is shown.