Exemplo n.º 1
0
 public static bool IEExecute(ref vMRClsDef.IEvMRInput oIEvMRInput, ref vMRClsDef.IEvMROutput oIEvMROutput)
 {
     if (ObtainDataModel(ref oIEvMRInput))
     {
         if (DataMapper.MapDataToFact(ref oIEvMRInput))
         {
             if (vMRFunDef.vMRDataValueFromUItoIE(oIEvMRInput, ref oIEvMROutput))
             {
                 //获取推理解释结果成功
                 //结果转换为UI可用形式
                 StructedIEResult.AddIEStructedInfo(oIEvMROutput);
                 DataMapper.MapIEOutputToUI(oIEvMRInput, oIEvMROutput);
                 return(true);
             }
             else
             {
                 //获取推理解释结果失败
                 return(false);
             }
         }
         else
         {
             //获取Fact失败
             return(false);
         }
     }
     else
     {
         //获取DataModel失败
         return(false);
     }
 }
        public static void AddIEStructedInfo(vMRClsDef.IEvMROutput oIEvMROutput)
        {
            foreach (vMRClsDef.OutputInfo oOutputInfo in oIEvMROutput.lstOutputInfo)
            {
                StructedConclude oStructedIEInfo = new StructedConclude();
                oStructedIEInfo.oEventModel.strEventENName = oOutputInfo.oTriggeringEvent.oEvent.strEventName;
                oStructedIEInfo.oEventModel.strEventCNName = oOutputInfo.oTriggeringEvent.oEvent.strEventCNName;
                oStructedIEInfo.lstConclude.AddRange(oOutputInfo.oInference.lstStructedInferMessage);

                lstStructedConclude.Add(oStructedIEInfo);
            }
        }
Exemplo n.º 3
0
 public static void MapIEOutputToUI(vMRClsDef.IEvMRInput oIEvMRInput, vMRClsDef.IEvMROutput oIEvMROutput)
 {
     //TODO IE输出结果映射,供界面显示
     foreach (vMRClsDef.OutputInfo oOutputInfo in oIEvMROutput.lstOutputInfo)
     {
         int i;
         for (i = 0; i < oIEvMRInput.lstInputDataModel.Count; i++)
         {
             if (oOutputInfo.oTriggeringEvent.oEvent.strEventCNName
                 == oIEvMRInput.lstInputDataModel[i].oTriggeringEvent.oEvent.strEventCNName)
             {
                 break;
             }
         }
         FormatResult(oIEvMRInput.lstInputDataModel[i], oOutputInfo);
     }
 }
Exemplo n.º 4
0
        public static void ClearIEInAndOut()
        {
            oDiagnoseIEvMRInput  = new vMRClsDef.IEvMRInput();
            oDiagnoseIEvMROutput = new vMRClsDef.IEvMROutput();

            oTherpayIEvMRInput  = new vMRClsDef.IEvMRInput();
            oTherpayIEvMROutput = new vMRClsDef.IEvMROutput();

            oSelfMonitorIEvMRInput  = new vMRClsDef.IEvMRInput();
            oSelfMonitorIEvMROutput = new vMRClsDef.IEvMROutput();

            oMSEvaluationIEvMRInput  = new vMRClsDef.IEvMRInput();
            oMSEvaluationIEvMROutput = new vMRClsDef.IEvMROutput();

            oRiskEvaluationIEvMRInput  = new vMRClsDef.IEvMRInput();
            oRiskEvaluationIEvMROutput = new vMRClsDef.IEvMROutput();

            oDietaryIEvMRInput  = new vMRClsDef.IEvMRInput();
            oDietaryIEvMROutput = new vMRClsDef.IEvMROutput();

            oPhysicalActivityIEvMRInput  = new vMRClsDef.IEvMRInput();
            oPhysicalActivityIEvMROutput = new vMRClsDef.IEvMROutput();
        }
Exemplo n.º 5
0
 /// <summary>
 /// UI端决策代理引擎服务具体实现,推理引擎端调用
 /// </summary>
 /// <param name="oIEvMROutput"></param>
 /// <returns></returns>
 public static bool OutputFromIEtoUI(ref vMRClsDef.IEvMROutput oIEvMROutput)
 {
     return(true);
 }
Exemplo n.º 6
0
 /// <summary>
 /// 推理引擎端决策代理服务具体实现,UI端调用
 /// </summary>
 /// <param name="oIEvMRInputDataValue"></param>
 /// <param name="oIEvMROutput"></param>
 /// <returns></returns>
 public static bool vMRDataValueFromUItoIE(vMRClsDef.IEvMRInput oIEvMRInputDataValue, ref vMRClsDef.IEvMROutput oIEvMROutput)
 {
     oIEvMROutput.oRoles = oIEvMRInputDataValue.oRoles;
     foreach (vMRClsDef.InputDataModel oInputDataModel in oIEvMRInputDataValue.lstInputDataModel)
     {
         List <vMRClsDef.DataModel> lstDataModelForIE = new List <vMRClsDef.DataModel>();
         vMRClsDef.OutputInfo       oIEOutputInfo     = new vMRClsDef.OutputInfo();
         FactConstruct.FormFactInDataModel(oInputDataModel, ref lstDataModelForIE);
         oIEOutputInfo.oTriggeringEvent = oInputDataModel.oTriggeringEvent;
         InferenceService.BeginInference(oIEvMROutput.oRoles, lstDataModelForIE, ref oIEOutputInfo);
         ExplanationService.BeginExplanation();
         oIEvMROutput.lstOutputInfo.Add(oIEOutputInfo);
     }
     return(true);
 }