## 5 Concept Validation  
This chapter outlines the theoretical validation of the EGTL model, utilizing abstract functions and formal notations to ensure the model's consistency and efficacy. This study applies principles from functional programming and formal systems to define the operations within the EGTL pipeline, providing a theoretical foundation for the processesinvolved and validated using unit testing processes [34] and the Python programming language Pytest framework [35]. The EGTL model abstraction is defined using a series of functions, each corresponding to a stage in the data handling pipeline. These functions are represented using Greek letters to emphasize their theoretical and abstract nature:  
* \(E(D)\)--Epsilon for extract
* \(\Gamma(D)\)--Gamma for generate
* \(T(D)\)--Tau for transfer
* \(\Lambda(D)\)--Lambda for load  
Extract Function (E). The extract function, \(\epsilon\), is responsible for retrieving data from various sources and preparing it for further processing according to Figure 2. Formal definition:  
\[\epsilon(D)=\{e(d_{i})|d_{i}\,\in D\}, \tag{1}\]  
where \(D\) is the dataset, \(e(d_{i})\) represents the extraction applied to each data item \(d_{i}\) according to EGTL solution (Figure 2). Source is proposed by this study.  
Generate Function (\(\Gamma\)). The generate function, \(\gamma\), is responsible for applying GenAI-related operations to data according to the EGTL solution (Figure 2)--cleaning, augmentation, error correction, et al. Formal definition:  
\[\gamma(D)=\{g(d_{i})|d_{i}\,\in D\}, \tag{2}\]  
where \(D\) is the dataset, and \(g(d_{i})\) is related to each data item \(d_{i}\). Source is proposed by this study.  
Transfer Function (T). The transfer function, \(\tau\), transforms the data according to business logic and prepares it for loading into the storage system according to the EGTL solution (Figure 2). Formal definition:  
\[\tau(D)=\{t(d_{i})|d_{i}\,\in D\}, \tag{3}\]  
where \(D\) is the dataset, and \(t(d_{i})\) is the related transformation to each data item \(d_{i}\). Source is proposed by this study.  
Load Function (\(\lambda\)). The load function, \(\lambda\), is responsible for loading the data into the target data warehouse according to the EGTL solution (Figure 2). Formal definition:  
\[\lambda(D)=\{l(d_{i})|d_{i}\,\in D\}, \tag{4}\]  
where \(D\) is the dataset, and \(l(d_{i})\) is the related loading processes to each data item \(d_{i}\). Source is proposed by this study.  
The complete EGTL process is represented by combining these functions in a sequential manner, defining the overall data transformation and loading process. Formal definition:  
\[\Omega(D)=\Lambda(T(\Gamma(E(D)))), \tag{5}\]  
where \(\Lambda\) represents load function (4), \(\Gamma\) represents generate function (2), \(T\) represents transform function (3), \(E\) represents extract function (1), and \(D\) is the dataset. Source is proposed by this study.  
The unit-testing framework strategy (Figure 3) for the EGTL model is structured around two core components. First, it tests the overall EGTL logic to ensure that each phase--extract, generate, transform, and load--operates correctly and consistently across varying data scenarios. Second, the framework tests the EGTL data load process, focusing specifically on how data moves between the Fusion, Staging, and Alliance stores (see Table 3). The unit-testing framework offers several key benefits. It ensures the early detection of bugs and inconsistencies within the EGTL model, reducing the risk of system failures during real-time operations. Furthermore, it allows us to conduct a complete integration test of the proposed solution. Detailed unit tests are included in the Supplementary Materials Section.