## 3 Overview of OMF Architecture
### OMF Components and Their Functional Roles  
The OMF architecture revolves around three core components that collaboratively control and manage network experiments. At the heart of the architecture is the experiment controller (EC), which serves as the experiment's orchestrator. Acting as the primary driver of experiments within the OMF framework, the EC is responsible for interpreting the experiment specifications provided by researchers and executing the necessary commands to run these experiments. Researchers define their experiments using the Experiment Description Language (EDL), a high-level language specifically designed for the OMF platform. EDL allows researchers to articulate experiment parameters, tools, node specifications, and configuration details in a structured and accessible format. Once the EDL file is created, it is passed to the EC, which parses and processes the description to initiate the experiment setup. The EC's capability to interpret and coordinate complex experimental procedures significantly streamlines the execution process.  
The EC does not operate in isolation but instead works in concert with the Aggregate Manager (AM), which manages resource availability and oversees the general configuration of the testbed infrastructure. The AM is responsible for ensuring that each research node required for the experiment is available and configured correctly. This process includes managing the on/off status of nodes, loading appropriate node images, and maintaining detailed inventory and configuration information for each resource. Beyond these tasks, the AM also manages a measurement collection server, which plays a critical role in handling the data generated during experiments. By coordinating the data flow and storage, the AM simplifies data retrieval, enabling researchers to access their experimental results with minimal delay.  
A key feature of the OMF architecture is its scalability, which is essential for managing extensive testbeds involving multiple resources. When a larger experiment setup is needed, multiple ECs and AMs can be added to the testbed, creating a modular system that maintains high performance while reducing the risk of bottlenecks. This scalability allows the OMF framework to adapt to both small and large experimental environments, providing efficient resource management even as the complexity and number of resources increase.  
Each research node within the OMF-enabled testbed hosts a Resource Controller (RC). The RC acts as the executor of node-specific instructions and is deployed across all devices within the test environment. The RC's primary function is to facilitate localized control over each node, receiving commands from the EC and executing them based on the specific requirements of the experiment. This distributed control architecture enables each node to be managed independently, enhancing the system's ability to scale and respond quickly. In a testbed with many nodes, this localized control ensures that each node operates autonomously without relying on a central point for every action, thereby improving responsiveness and reducing latency.  
The three components--EC, AM, and RC--form a cohesive and interdependent architecture where each part plays a vital role. The EC oversees the experiment's broader scope, coordinating the resources managed by the AM and executing tasks on each node through the RC. This interconnected structure not only allows for a high level of control and precision in experiments but also accommodates the diverse needs of network measurement research, making it a suitable choice for both simple and complex experimental setups.