Test FTC100 fails since A1-SIM update
[nonrtric.git] / docs / requirements.rst
index 9fe6d37..471cf89 100644 (file)
@@ -9,24 +9,40 @@ Find detailed description of what Non-RT RIC is on this `page`_.
 
 .. _page: https://wiki.o-ran-sc.org/display/RICNR/
 
-There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following:
+The NONRTRIC project (and the O-RAN Non-RealTime RIC function) can be considered from a number of different viewpoints. This page presents some of these views:
 
-#. Non-RT RIC shall support data retrieval and analysis; the data may include performance, configuration or other data related to the application (recommended data shown in required data section for  different use cases).
-#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for non-real-time optimization of configuration parameters in RAN or Near-RT RIC, as applicable for the use case.
-#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for generating/optimizing policies and intents to guide the behavior of applications in Near-RT RIC or RAN, as applicable for the use case.
-#. Non-RT RIC shall support training of relevant AI/ML models based on the data in 1. to be deployed/updated in Near-RT RIC as required by the applications.
-#. Non-RT RIC shall support performance monitoring and evaluation.
-#. Non-RT RIC shall support a fallback mechanism to prevent drastic degradation/fluctuation of performance, e.g. to restore to the previous policy or configuration.
+**Scope 1: A1 Controller (Mediator, Endpoint)**
 
-The non-functional requirements are the following ones:
+* Southbound: Provide termination point for A1 interface(s) - REST endpoint for messages to/from Near-RealTime RIC
+* Northbound: Provide a more generic interface for A1 operations - provide interface to rApps, without the need for A1 message generation, addressing, coordination, mediation, etc.
+* O1 interfaces do not terminate in NONRTRIC function (but may terminate in same controller host/instance)
 
-#. Non-RT RIC shall not update the same policy or configuration parameter for a given Near-RT RIC or RAN function more often than once per second.
-#. Non-RT RIC shall be able to update policies in several Near-RT RICs.
+**Scope 2: Coordinate/Host A1 Policy Management Services**
 
-Moreover, there are functional requirements regarding the A1 interface:
+* Map high level RAN goal/intent directives to finely-scoped A1 Policies towards individual Near-RT RIC instances
+* Informed by observed RAN context (provided over O1 via OAM functions), and other external context (via other SMO functions)
+* Dynamically coordinate life cycles of A1 Policies in individual Near-RT RICs as contexts change
 
-#. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance.
-#. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC.
+**Scope 3: Coordinate ML/AI Models - In RAN (“E2 nodes” & Near-RT RICs) and NONRTRIC (future)**
+
+* Acts as model-training host
+* May act as model-inference host (others: Near-RT RICs, “E2 nodes”)
+* Dynamically coordinate ML/AI model lifecycle management (e.g. re-train, re-deploy, etc)
+* Models are (always?) deployed over O1 interface
+
+**Scope 4: Enrichment Data Coordinator**
+
+* Additional context that is unavailable to Near-RT RICs (e.g. RAN data, SMO context, External context)
+* Dynamically coordinate access and pass data to appropriate Near-RT RICs (e.g. for use in ML/AI model inference)
+
+**Scope 5: rApp Host & rApp Coordinator**
+
+* rApps may act as, or form part of, NONRTRIC- or SMO-level applications
+* rApps, via rApp host function, may consume many other services - some from the NONRTRIC platform, some from the SMO platform, and some from other rApps
+* Dynamically coordinate rApp lifecycle management
+
+**Scope 6: Provide R1 interface for rApps**
+
+* rApps may only consume services over the R1 interface (from NONRTRIC platform, or from SMO platform, or from other rApps)
+* Platform services and services optionally provided by rApps must be exposed over the R1 Interface
+* These services may be "standardized" R1 services or R1 extensions (some may be proprietary)