Commit d65f3615 authored by shumim's avatar shumim
Browse files

”Initial the baseline for TS28.105 NRM based on S5-238360“

parent fa1e1a06
Loading
Loading
Loading
Loading
Loading
+459 −17
Original line number Diff line number Diff line
@@ -27,10 +27,11 @@ components:
      type: string
      enum:
        - NOT_STARTED
        - TRAINING_IN_PROGRESS
        - IN_PROGRESS
        - SUSPENDED
        - FINISHED
        - CANCELLED
        - CANCELLING

    PerformanceRequirements:
      type: array
@@ -45,11 +46,9 @@ components:
        performanceMetric:
          type: string
        performanceScore:
          type: number
          format: float
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float'
        decisionConfidenceScore:
          type: number
          format: float          
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float'         

    TrainingProcessMonitor:
      description: >-
@@ -79,6 +78,67 @@ components:
        resultStateInfo:
          type: string

    MlManagementPolicy:
      description: >-
              This data type is the "ProcessMonitor" data type defined in “genericNrm.yaml” 
              with specialisations for usage in the "MLTrainingProcess".
      type: object
      properties:
        thresholdList:
          type: array
          items:
            $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ThresholdInfo'

    SupportedPerfIndicator:
      type: object
      properties:
        performanceIndicatorName:
          type: string
        isSupportedForTraining:
          type: boolean
        isSupportedForTesting:
          type: boolean

    ManagedActivationScope:
      oneOf:
        - type: array
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
        - type: object
          properties:
            dNList:
              type: array
              items:
                $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
        - type: object
          properties:
            timeWindow:
              type: array
              items:
                $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow'
        - type: object
          properties:
            geoPolygon:
              type: array
              items:
                $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea'

    AvailMLCapabilityReport:
      type: object
      properties:
        availMLCapabilityReportID:
          type: string # Fixme no specified in DraftCR
        mLCapabilityVersionId:
          type: array
          items:
            type: string
        expectedPerformanceGains:
          type: array
          items:
            $ref: '#/components/schemas/ModelPerformance'
        mLEntityRef:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
          
#-------- Definition of abstract IOCs --------------------------------------------


@@ -101,8 +161,14 @@ components:
              $ref: '#/components/schemas/ManagedElement-Multiple'
            MLTrainingFunction:
              $ref: '#/components/schemas/MLTrainingFunction-Multiple'
            MLTestingFunction:
              $ref: '#/components/schemas/MLTestingFunction-Multiple'
            MLEntityRepository:
              $ref: '#/components/schemas/MLEntityRepository-Multiple'
            MLUpdateFunction:
              $ref: '#/components/schemas/MLUpdateFunction-Multiple'
            AiMlInferenceCapability:
              $ref: '#/components/schemas/AiMlInferenceCapability-Multiple'              

    ManagedElement-Single:
      allOf:
@@ -116,8 +182,14 @@ components:
          properties:
            MLTrainingFunction:
              $ref: '#/components/schemas/MLTrainingFunction-Multiple'
            MLTestingFunction:
              $ref: '#/components/schemas/MLTestingFunction-Multiple'
            MLEntityRepository:
              $ref: '#/components/schemas/MLEntityRepository-Multiple'
            MLUpdateFunction:
              $ref: '#/components/schemas/MLUpdateFunction-Multiple'
            AiMlInferenceCapability:
              $ref: '#/components/schemas/AiMlInferenceCapability-Multiple'

    MLTrainingFunction-Single:
      allOf:
@@ -150,8 +222,6 @@ components:
              allOf:
                - type: object
                  properties:
                    mLEntityId:
                      type: string
                    inferenceType:
                      type: string  
                    candidateTrainingDataSource:
@@ -159,8 +229,7 @@ components:
                      items:
                        type: string
                    trainingDataQualityScore:
                      type: number
                      format: float
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float'
                    trainingRequestSource:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    requestStatus:
@@ -175,6 +244,8 @@ components:
                      type: boolean                  
                    mLEntityToTrainRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    mLEntityCoordinationGroupToTrainRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLTrainingProcess-Single:
      allOf:
@@ -201,9 +272,6 @@ components:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
                    trainingReportRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    mLEnityGeneratedRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'


    MLTrainingReport-Single:
      allOf:
@@ -222,24 +290,174 @@ components:
                      type: array
                      items:
                        type: string
                    modelConfidenceIndication:
                    confidenceIndication:
                      type: integer
                    modelPerformanceTraining:
                      type: array
                      items:
                        $ref: '#/components/schemas/ModelPerformance'
                    modelPerformanceValidation:
                      type: array
                      items:
                        $ref: '#/components/schemas/ModelPerformance'
                    dataRatioTrainingAndValidation:
                      type: integer  
                    areNewTrainingDataUsed:
                      type: boolean
                    trainingRequestRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
                    trainingProcessRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    trainingReportRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    lastTrainingRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    mLEnityGeneratedRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    mLEntityCoordinationGroupToTrainRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLTestingFunction-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
                - type: object
                  properties:
                    mLEntityIdList:
                      type: array
                      items:
                        type: string
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
        - type: object
          properties:
            MLTestingRequest:
              $ref: '#/components/schemas/MLTestingRequest-Multiple'
            MLTestingReport:
              $ref: '#/components/schemas/MLTestingReport-Multiple'

    MLTestingRequest-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - type: object
                  properties:
                    requestStatus:
                      $ref: '#/components/schemas/RequestStatus'
                    cancelRequest:
                      type: boolean
                    suspendRequest:
                      type: boolean                  
                    mLEntityToTestRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    mLEntityCoordinationGroupToTestRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLTestingReport-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - type: object
                  properties:
                    modelPerformanceTesting:
                      type: array
                      items:
                        $ref: '#/components/schemas/ModelPerformance'
                    mLTestingResult:
                      type: string
                    testingRequestRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLInferenceFunction-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
                - type: object
                  properties:
                    mLEntityIdList:
                      type: array
                      items:
                        type: string
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
        - type: object
          properties:
            MLEntityLoadingRequest:
              $ref: '#/components/schemas/MLEntityLoadingRequest-Multiple'
            MLEntityLoadingProcess:
              $ref: '#/components/schemas/MLEntityLoadingProcess-Multiple'
            MLEntityLoadingPolicy:
              $ref: '#/components/schemas/MLEntityLoadingPolicy-Multiple'
            MLEntity:
              $ref: '#/components/schemas/MLEntity-Multiple'

    MLEntityLoadingRequest-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - type: object
                  properties:
                    requestStatus:
                      $ref: '#/components/schemas/RequestStatus'
                    cancelRequest:
                      type: boolean
                    suspendRequest:
                      type: boolean                  
                    mLEntityToLoadRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLEntityLoadingPolicy-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - type: object
                  properties:
                    inferenceType:
                      type: string 
                    mLEntityId:
                      type: string
                    policyForLoading:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLEntityLoadingProcess-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - type: object
                  properties:
                    progressStatus:
                      $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor'
                    cancelProcess:
                      type: boolean
                    suspendProcess:
                      type: boolean
                    resumeProcess:
                      type: boolean
                    MLEntityLoadingRequestRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    MLEntityLoadingPolicyRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                    LoadedMLEntityRef:
                      $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLEntity-Single:
      allOf:
@@ -261,6 +479,12 @@ components:
                  $ref: '#/components/schemas/MLContext'
                runTimeContext:
                  $ref: '#/components/schemas/MLContext'
                supportedPerformanceIndicators:
                  $ref: '#/components/schemas/SupportedPerfIndicator'
                retrainingEventsMonitorRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                sourceTrainedMLEntityRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLEntityRepository-Single:
      allOf:
@@ -272,8 +496,150 @@ components:
              properties:
                mLRepositoryId:
                  type: string
            MLEntityList:
              $ref: '#/components/schemas/MLEntity-Multiple'
            MLEntityCoordinationGroups:
              $ref: '#/components/schemas/MLEntityCoordinationGroup-Multiple'
    
    MLEntityCoordinationGroup-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                memberMLEntityRefList:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'

    ## 7.3a.4.1 IOC
    MLUpdateFunction-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
             attributes:
               allOf:
                 - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
                 - type: object
                   properties:
                     availMLCapabilityReport:
                       $ref: '#/components/schemas/AvailMLCapabilityReport'
                     mLEntityRef:
                       $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
        - type: object
          properties:
            MLUpdateRequest:
              $ref: '#/components/schemas/MLUpdateRequest-Multiple'
            MLUpdateProcess:
              $ref: '#/components/schemas/MLUpdateProcess-Multiple'
            MLUpdateReport:
              $ref: '#/components/schemas/MLUpdateReport-Multiple'

    MLUpdateRequest-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                performanceGainThreshold:
                  type: array
                  items:
                    $ref: '#/components/schemas/ModelPerformance'
                newCapabilityVersionId:
                  type: array
                  items:
                    type: string
                updateTimeDeadline:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow'
                requestStatus:
                  $ref: '#/components/schemas/RequestStatus'
                mLUpdateReportingPeriod:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow'
                mLUpdateProcessRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
                mLEntityRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'

    MLUpdateProcess-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                progressStatus:
                  $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor'
                mLEntityRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
                mLUpdateRequestRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
                mLUpdateReportRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    MLUpdateReport-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                updatedMLCapability:
                  $ref: '#/components/schemas/AvailMLCapabilityReport'
                mLEntityRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
                mLUpdateProcessRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'

    AiMlInferenceCapability-Single:
      allOf:
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
        - type: object
          properties:
            attributes:
              allOf:
                - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
                - type: object
                  properties:
                    activationStatus:
                      type: string
                      enum:
                        - ACTIVATED
                        - DEACTIVATED
                    managedActivationScope:
                      $ref: '#/components/schemas/ManagedActivationScope'
        - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
        - type: object
          properties:
            MLEntity:
              $ref: '#/components/schemas/MLEntity-Multiple'
    AiMlESCapability-Single:
      allOf:
        - $ref: '#/components/schemas/AiMlInferenceCapability-Single'
        #- $ref: '#/components/schemas/MlInferenceFunction-Single'
        - type: object
          properties:
            attributes:
              type: object
              properties:
                DMROFunctionRef:
                  $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
                # Todo for other attribute related to role 
                
    AiMlLBCapability-Single:
      allOf:
        - $ref: '#/components/schemas/AiMlInferenceCapability-Single'
        # Todo for attribute related to role

    AiMlMOCapability-Single:
      allOf:
        - $ref: '#/components/schemas/AiMlInferenceCapability-Single'
        # Todo for attribute related to role

#-------- Definition of JSON arrays for name-contained IOCs ----------------------

@@ -309,6 +675,66 @@ components:
      type: array
      items:
        $ref: '#/components/schemas/MLEntityRepository-Single'
    MLEntityCoordinationGroup-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLEntityCoordinationGroup-Single'
    MLTestingFunction-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLTestingFunction-Single'
    MLTestingRequest-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLTestingRequest-Single'
    MLTestingReport-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLTestingRequest-Single'
    MLInferenceFunction-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLInferenceFunction-Single'
    MLEntityLoadingRequest-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLEntityLoadingRequest-Single'
    MLEntityLoadingProcess-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLEntityLoadingProcess-Single'
    MLEntityLoadingPolicy-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLEntityLoadingPolicy-Single'
    MLUpdateFunction-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLUpdateFunction-Single'
    MLUpdateRequest-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLUpdateRequest-Single'      
    MLUpdateProcess-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLUpdateProcess-Single'
    MLUpdateReport-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MLUpdateReport-Single'
    AiMlInferenceCapability-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/AiMlInferenceCapability-Single'
    AiMlESCapability-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/AiMlESCapability-Single'      
    AiMlLBCapability-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/AiMlLBCapability-Single'

#-------- Definitions in TS 28.104 for TS 28.532 ---------------------------------

@@ -323,3 +749,19 @@ components:
        - $ref: '#/components/schemas/MLTrainingReport-Single'
        - $ref: '#/components/schemas/MLEntity-Single'
        - $ref: '#/components/schemas/MLEntityRepository-Single'
        - $ref: '#/components/schemas/MLEntityCoordinationGroup-Single'
        - $ref: '#/components/schemas/MLTestingFunction-Single'
        - $ref: '#/components/schemas/MLTestingRequest-Single'
        - $ref: '#/components/schemas/MLTestingReport-Single'
        - $ref: '#/components/schemas/MLInferenceFunction-Single'
        - $ref: '#/components/schemas/MLEntityLoadingRequest-Single'
        - $ref: '#/components/schemas/MLEntityLoadingProcess-Single'
        - $ref: '#/components/schemas/MLEntityLoadingPolicy-Single'

        - $ref: '#/components/schemas/MLUpdateFunction-Single'
        - $ref: '#/components/schemas/MLUpdateRequest-Single'
        - $ref: '#/components/schemas/MLUpdateProcess-Single'
        - $ref: '#/components/schemas/MLUpdateReport-Single'
        - $ref: '#/components/schemas/AiMlInferenceCapability-Single'
        - $ref: '#/components/schemas/AiMlESCapability-Single' 
        - $ref: '#/components/schemas/AiMlLBCapability-Single'