## 3 Validation and Experimentation
### Code Validation
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline
**Framework/Component** & **CNN** & **CND** & **HS** & **HD** & **HV*** & **HE*** & **HEF** & **HB** & **HT*** & **MI** \\ \hline RhoEngine v1.1 (client) & 1.9 & 14.3 & 610 & 154 & 68.9 & 10.63 & 2663 & 23.0 & 590.4 & 114.3 \\ \hline RhoEngine v1.1 (server) & 1.8 & 13.7 & 413 & 140 & 41.2 & 5.78 & 2082 & 13.7 & 321.4 & 116.6 \\ \hline RhoModel v1.0 & 3.5 & 20.1 & 626 & 176 & 95.2 & 16.73 & 11,073 & 31.7 & 929.4 & 97.9 \\ WebIDERho v1.1 & 1.7 & 9.4 & 575 & 118 & 54.8 & 6.45 & 2336 & 18.3 & 358.5 & 114.2 \\ \hline RestRho v1.0 & 1.4 & 7.9 & 449 & 97 & 38.4 & 3.73 & 1439 & 12.8 & 207.6 & 121.1 \\ ServerRestRho v1.0 & 2 & 18.2 & 25 & 5 & 0.3 & 0.001 & 1525 & 0.1 & 0.1 & 106.9 \\ \hline Handlebars v5.0.0 & 2.5 & 20.8 & 887 & 134 & 98.4 & 13.3 & 2964 & 32.8 & _737.3_ & 113.4 \\ \hline Express v4.16.4 & 3.0 & 21.5 & 742 & 148 & 81.0 & 12.0 & 3279 & 27.0 & 667.9 & 109.8 \\ MariaDB v2.5.6 & 5.9 & 10.8 & 4346 & 96 & 306.4 & 29.6 & 54,784 & 102.1 & 1643.0 & 84.1 \\ \hline \end{tabular} Note: CNN: cyclomatic complexity average per function; CND: cyclomatic complexity per module; HS: Halstead vocabulary size per module; HD: Halstead difficulty per module; HV: Halstead volume per module (* thousands); HE: Halstead effort per module (* millions); HEF: average Halstead effort per function; HB: Halstead bugs per module; HT: Halstead time per module (* thousands); MI: maintainability index.  
\end{table} 
Table 3: Components of the RhoArchitecture (in yellow), ServerRestRho (in blue), and frameworks using RestRho (in violet): JavaScript generation code summary. Meanwhile, Figure 10 shows the graph of the software measures of cyclomatic complexity for the CRA, CRR, and FRR. For all components, it reflects that the functions/methods have a \"simple functionality, without much risk\" (CNN \(<\) 5 according to [41]). On the other hand, [45] shows that the lower the CND value, the simpler the productivity and maintainability of the software becomes; it is worth noting that the CND value of our main component, RestRho, is lower than all. In summary, our RestRho has better productivity, better maintainability, and less risk than any component in this study. Finally, Figure 11 represents the maintainability index (MI) for CRA, CRR, and FRR. As can be seen, all components and frameworks have a \"good maintainability\" (>85, according to [43]) The CRR components, on average, are better than CRA and FRR, although the MariaDB frameworks do not have adequate maintainability. In summary, the results of the software metrics provide strong evidence of the quality and maintainability of the RestRho component. Specifically, the low cyclomatic complexity, high documentation ratio, and favorable Halstead and maintainability index values indicate that the codebase is well structured, understandable, and maintainable. These metrics, when considered together, support the conclusion that RestRho is a lightweight and efficient solution for building RESTful APIs using JSON-DSLs, aligning with the objectives of the study. Figure 9: Graphs of the Halstead metrics HS, HV, HD, HT, HB, and HEF for the components RhoAArchitecture CRA, ServerRestRho CRR, and frameworks used RestRho FRR.