nstantiation of services 3. Network resource autonomous controller, interprets the real-time network map and pro- vides the network resources necessary in creating the services requested by the service control interpreter 4. Adapters, allow multi-vendor and multi-interface configuration and data collection functions 5. API handler, manages the applications that are programming the controller through the API interface 6. Data collection, analytics, and events (DCAE), collects the data and events from the net- work resources, analyzes them creating a real-time network map 7. Policy, is the principle that guides the decisions in instantiating a service or network element 6.4.1 NETWORK CONTROLLER SOFTWARE COMPONENTS Figure 6.3 provides a graphical view of the main software components for the network controller (the functional block ONAP is discussed in Chapter 7). 6.4.1.1 Compiler Function The network controller accepts as input a set of information or data abstraction models-YANG modeling language [1], which define the service abstraction layer (e.g., Ethernet services), network abstraction layer (e.g., Ethernet over optical), the vendor-specific device definition (e.g., Ethernet over Ciena Optical), and the directed graph (DG) (the sequence of steps in configuring components) that the network controller will manage. These will be defined by the vendor or the system engi- neering team. The compiler takes the abstraction models and the network logic (defined in an XML file) and creates the run-time Service Logic DG that is used during event processing. Basically, the actual order and timing of the commands to configure the network elements through a network service order or through a network event will be defined by the collection of these YANG models. Device Service Service Service Network Chain Customer Portal Model Service Model Orchestrator Files Model Model Files Files Files REST API CAPS Data Handler Applications Rulles Compiler SDN Controller AT&T 3rd Party Control Analytic Service Logic Network Resource Inter