# Union Models for Model Families: Efficient Reasoning over Space and Time
## 6 Analysis and Reasoning with Model Families
### Analysis and Experiments
#### 6.2.1 Methodology  
To evaluate the feasibility of using \(M_{U}\) with the three reasoning tasks RT1, RT2, and RT3, we first measured the total time (in seconds) needed to perform each one of the RTs on each individual model one model at a time; we refer to this time as \(T_{ind}\). Next, we measured the time needed to accomplish the same task with \(M_{U}\); we refer to this time as \(T_{MU}\). Then, we computed the performance improvements using the time metrics _speedup_ (as used by [PERSON] in [25], defined originally as _speedup_ = \(T_{ind}\) / \(T_{MU}\)) and _time saving_ (in minutes for RT1 and in seconds for RT2 and RT3, calculated as _TimeSaving_ = (\(T_{ind}\) - \(T_{MU}\))). Here, we define \(T_{construct}\) as the time needed to construct \(M_{U}\). Although \(T_{construct}\) is usually quite small and can be performed once before being amortized over multiple analyses, we distinguish two categories of experiments, named **Exp.1** and **Exp.2**. In Exp.1, we consider \(T_{construct}\), such that the speedup is calculated as _speedup_with_constrTime_= \(T_{ind}\)/(\(T_{construct}\) + \(T_{MU}\)). In Exp.2, on the other hand, we neglect the time needed to construct \(M_{U}\), where the speedup is calculated here (same as in [25]) as _speedup_without_constrTime_ = \(T_{ind}\)/\(T_{MU}\). In both experiments, a speedup larger than 1 is a positive result, and the larger the speedup, the better the improvement. The reason why \(T_{construct}\) is considered here is to be more fair and realistic in the experiments, especially for large models, where it becomes necessary to not neglect the time needed to construct M\({}_{\text{UL}}\). Another reason is to compare the results of both categories of experiments in order to reach a conclusion on whether or not to always neglect \(T_{construct}\). As mentioned, the time that an analyst would need to analyze models individually in a realistic context by loading the model in a tool, performing the analysis, and saving the results is not taken into consideration in \(T_{ind}\). For both experiments, we considered the following experimental parameters: (1) the size of individual models (_SIZE_), which represents the number of elements (i.e., nodes and edges) in each individual model, and (2) the number of individual models in a model family (_INDV_). To control the possible combinations of parameters _SIZE_ and _INDV_ and to facilitate reporting, we followed the methodology proposed by [PERSON] et al. [6; 25] to discretize the parameters' domain into categories, where the ranges of values for the _INDV_ parameter were set based on pilot experiments conducted by [PERSON] et al. [6] to determine reasonable ranges of individual models that constitute a family. Regarding the ranges of values for the _SIZE_ parameter, we relied on our own experience with goal models, where models with a few dozen elements are considered to be small, while models with many hundreds or more elements are deemed to be extra-large. For parameter _SIZE_, four categories were defined based on the number of nodes and edges, as follows: small (S), medium (M), large (L), and extra-large (XL). To calculate the ranges of each size category, we performed experiments with a seed sequence (0, 5, 10, 20, 40). The boundaries of each category were calculated from successive numbers of the seed sequence using the formula \(n\times(n+1)\). Using the same formula, a representative exemplar of each category is calculated by setting \(n\) to be the mean (rounded up) of two successive numbers in the seed sequence. We followed the same methodology for the number of individual models, _INDV_, using a seed sequence (0, 4, 8, 12, 16). The four size categories (S, M, L, XL) are shown in Table 2. The ranges of all categories of _SIZE_ and _INDV_ and the selected exemplars for each category are shown in Table 3. These ranges (generated from the seeds mentioned above) are in line with our own real experience dealing with goal models and state machines of various sizes.