## 5 Extending the Mediator-Wrapper Architecture
### Quantitative Analysis on Scenarios  
To prove that the MMW architecture simplifies a MW-based data source integration system's maintenance and change management, a leveled quantitative analysis to compare the MMW and MW alternatives is needed. The following analysis is based on an evolution-cost quantitative analysis for measuring software flexibility described by [54]. [PERSON] and [PERSON] [54] proposed that a software's flexibility can be measured and compared to other designs by approximating the cost of implementing anticipated changes--shifts. The cost of shifts is defined as the quantity of software units that need to be changed, added, or removed. These software units are called modules in a general sense but are exemplified with classes and methods in the paper. To adjust this analysis for the level of architecture design in this paper, the modules are viewed as architectural components. The analysis compares an isomorphic example (shown in Figure 13) of a MW architecture with one mediator layer (1 LMW), a MW architecture with two mediator layers (2 LMW), and a MMW architecture. In the cases of 1 LMW and 2 LMW, mediators are considered to have functionalities of both mediation and representation. The 1 LMW and 2 LMW architectures were chosen for this analysis because they generally represent the solutions of the GARLIC and TSIMMIS system architectures. The GARLIC has been presented as both a 1 LMW and 2 LMW system, while the TSIMMIS has been presented as a 2 LMW system. In Figure 13, red rectangles represent individual wrappers, green rectangles represent both mediators with representational functionality and mediators without (tick marks representing names of mediators without representational functionalities), and blue-green rectangles represent masks in the MMW architecture and mediators in the 2 LMW architecture. The analysis is conducted over four scenarios: adding a new representation type, adding a new representation, adding a new mediator, and adding a new wrapper to a mediation. The symbolic nomenclature for this analysis is defined as follows:  
For a set of components \(S_{comp}\) of possible types \(S_{computes}=\{Ma,Me,Me^{\prime},W\}\) representing a mask, a mediator with representational functionality, a mediator without representational functionality, and a wrapper respectively, and a set of possible actions over those components \(S_{act}=\{impl,depl\}\) representing implementation and deployment respectively, \(C_{X}^{Y}\) us the cost of performing an action \(Y\in S_{act}\) over component \(X\in S_{comp}\), with the addition of \(C_{Conn}^{est}\) signifying the cost of setting up a connection between a pair of components \(\{(c_{1},c_{2})\mid c_{1},c_{2}\in S_{comp}\}\)  
Since a mediator with representational functionality is more complicated to implement than a mediator without representational functionality, the cost of implementing the former is greater than the latter:  
\[C_{Me}^{impl}>C_{Me^{\prime}}^{impl} \tag{1}\]  
Due to a greater number of functionalities that need to be supported by the surrounding system to which the component is being deployed, the deployment of a mediator with representational functionality is also more costly than that of a mediator without representational functionalities. This is because their deployment includes the tasks of setting up system resource access permissions, component settings, and firewall rules, all  
Figure 13: Architecture used in the analysis. of which are either increased in quantity or complexity in the case of a representational mediator. Therefore, we conclude the following expression:  
\[C_{Me}^{dcpl}>C_{Me^{\prime}}^{dcpl} \tag{2}\]  
As in the former statement, for the same reasons, the deployment of a mask component is considered less costly than a mediator with representational functionalities. In addition, the mediator has a communication node intended for access to multiple sources. This is considered bloat, as the representational components connect to only one component in the lower layer.