示例#1
0
        /// <summary>
        /// Método que inicia el proceso de inferencia según el tipo de encadenamiento
        /// </summary>
        public void iniciarProceso()
        {
            base_conocimiento = new LecturaBaseConocimiento();
            if (base_conocimiento.existe_base_conocimiento)
            {
                metadatos = base_conocimiento.leerMetadatos();
                if (metadatos == null)
                {
                    MessageBox.Show("Error en la configuración de la base de conocimiento", "Proceso de inferencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (!metadatos.base_conocimiento_chequeada)
                {
                    MessageBox.Show("La base conocimiento no esta chequeada", "Proceso de inferencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                tipo_de_encadenamiento = metadatos.tipo_de_encadenamiento;
                iniciarVentana();
            }
            else
            {
                terminar_inferencia = true;
                MessageBox.Show("La base de conocimiento no existe", "Proceso de inferencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            if (!terminar_inferencia)
            {
                if (tipo_de_encadenamiento == ENCADENAMIENTO_HACIA_ATRAS)
                {
                    iniciarSeleccionDeObjetivo();
                }
            }

            if (!terminar_inferencia)
            {
                if (tipo_de_encadenamiento == ENCADENAMIENTO_HACIA_ATRAS)
                {
                    if (motor_atras.hecho_objetivo_establecido)
                    {
                        iniciarInferenciaEncadenamientoHaciaAtras();
                    }
                    else
                    {
                        MessageBox.Show("No se ha selecciónado la variable objetivo", "Inferencia, Encadenamiento hacia atrás", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                if (tipo_de_encadenamiento == ENCADENAMIENTO_HACIA_ADELANTE)
                {
                    iniciarInferenciaEncadenamientoHaciaAdelante();
                }
                else
                {
                    throw new System.ArgumentException("Opción invalida de encadenamiento", "GestorMotorInferencia - iniciar proceso");
                }
            }
        }
示例#2
0
        private void mostrarMetadatos()
        {
            MetadatosBaseDeConocimiento metadatos = base_conocimiento.leerMetadatos();

            textBox_titulo.Text = metadatos.titulo_sistema_experto;
            if (metadatos.tipo_de_encadenamiento == MetadatosBaseDeConocimiento.ENCADENAMIENTO_HACIA_ATRAS)
            {
                label_tipo_de_encadenamiento.Text = "Hacia atrás";
            }
            else
            {
                label_tipo_de_encadenamiento.Text = "Hacia adelante";
            }
            check_base_de_conocimiento = metadatos.base_conocimiento_chequeada;
            mostrarImagen(metadatos.ruta_imagen_logo_sistema_experto);
        }
示例#3
0
        /// <summary>
        /// Inicializando los arhivos por defecto de la base de conocimiento
        /// </summary>
        public void inicializarArchivosMetadatos()
        {
            this.metadatos = base_conocimiento.leerMetadatos();
            string ruta_logo = base_conocimiento.ruta_carpeta_configuracion + "logo.jpg";

            if (pictureBox_logo.Image != null)
            {
                pictureBox_logo.Image.Dispose();
            }
            File.Copy("files\\logo_default.jpg", ruta_logo, true);
            base_conocimiento.metadatosCambiarRutaImageLogo(ruta_logo);

            string ruta_archivo_rtf_descriptivo = base_conocimiento.ruta_carpeta_configuracion + "descripcion.rtf";

            File.Copy("files\\descripcion.rtf", ruta_archivo_rtf_descriptivo, true);
            base_conocimiento.metadatosCambiarRutaRtfDescrptivo(ruta_archivo_rtf_descriptivo);
        }
示例#4
0
 /// <summary>
 /// Método para mostrar la configuracion actual de la baes de conocimiento
 /// </summary>
 public void mostrarMetadatos()
 {
     this.metadatos            = base_conocimiento.leerMetadatos();
     this.path_temporal_imagen = null;
     textBox_titulo.Text       = metadatos.titulo_sistema_experto;
     if (metadatos.tipo_de_encadenamiento == MetadatosBaseDeConocimiento.ENCADENAMIENTO_HACIA_ATRAS)
     {
         radioButton_encadenamiento_hacia_atras.Checked    = true;
         radioButton_encadenamiento_hacia_adelante.Checked = false;
     }
     else
     {
         radioButton_encadenamiento_hacia_atras.Checked    = false;
         radioButton_encadenamiento_hacia_adelante.Checked = true;
     }
     check_base_de_conocimiento = metadatos.base_conocimiento_chequeada;
     mostrarImagen(metadatos.ruta_imagen_logo_sistema_experto);
     cambios = false;
 }
示例#5
0
 public ControlConfiguracionBaseDeConocimiento(GestionadorBaseConocimiento base_conocimiento)
 {
     this.base_conocimiento = base_conocimiento;
     this.metadatos         = base_conocimiento.leerMetadatos();
     InitializeComponent();
 }