## 3 Validation and Experimentation
### Code Validation  
In the field of software engineering, software metrics are quantitative tools that provide an objective assessment of various characteristics of an information system. Several systematic reviews [36; 37; 38] focus on key aspects such as quality, reliability, documentation, and software complexity. In the context of our proposal, software metrics should focus on the analysis of JavaScript Components and should be adjusted for prototype-based languages such as JavaScript [39]. The software metrics that we have chosen to use in our analysis are as follows: (i) _Lines Codes_[40] (LOC, physical lines code SLOC, logical lines code LLOC, comment lines code CLOC, and blank lines code BLOC); (ii) _Cyclomatic Complexity_[41] (average per-function cyclomatic complexity CNN, and cyclomatic complexity density for module CND [42]);  
Figure 7: An illustrative example of RestRho: Sample RestRho. (iii) _Halstead Metrics_[42] (Halstead vocabulary size per module HS, Halstead difficulty per module HD, Halstead volume per module HV, Halstead effort per module HE, Halstead bugs per module HB, Halstead time per module HT, and Average Halstead effort per function HEF); and (iv) _Maintainability Index_ MI [43]. Table 2 shows the JavaScript code generation summary for the RhoArchitecture Components (RhoEngine, RhoModel, WebIDERho, denoted by CRA, in yellow color), our RESTful NodeJS API server (RestRho, ServerRestRho, denoted by SRR, in blue color) and the main frameworks used by SRR (Handlebars, Express, MariaDB, denoted by FRR, in purple color). The RestRho component was generated using RhoModel [35; 44]. Altogether, a total of 3 files were created, i.e., 1 MRho specification file (33%) and 2 MIRho implementation files (67%). The total amount of source code for RestRho was 803 lines, which generated a total of 1186 lines of JavaScript code, with an SLOC of 1177, which means a conciseness ratio of 1.47, which is in the range of the CRA components. On the other hand, in SRR, the CLOC comment lines represent 34% on average, which is a highly documented assessment rate (>25%, according to [43; 45]). This highlights the quality of RestRho's documentation. Figure 8 gives the percentage of SLOC, LLOC, CLOC, and BLOC with respect to the total number of LOC lines for all the components/frameworks analyzed in this article. From the total number of lines of code (30,638), 72% are FRR, 24% are CRA, and 4% are SRR. Furthermore, the \"good documentation\" of CRA and SRR is ratified between 20 and 43%. It is noteworthy that the best documented is ServerRestRho, with 43%, which is the highest score in the study. BLOC is between 10 and 20% for most components/frameworks, while SLOC is between 45 and 81%, with Express being the highest at 81%. Table 3 provides a summary of the software metrics (cyclomatic complexity, Halstead metrics, and maintainability index) distributed over the three sets CRA, CRR, and FRR. Overall, according to Table 3, the obtained software metrics for CRR look very good. On the one hand, the cyclomatic complexity reflects \"simple functionality, without too much risk\" (CNN < 5 according to [41]). On the other hand, according to [39; 42], and not taking into account ServerRestRho, our RestRho component has the lowest complexity (HS = 449), the lowest associated functionality (HV = 38,414), one of the lowest difficulty levels