19 May
1. Diseño de la Arquitectura del Sistema
Su objetivo es la identificación de los subsistemas y establecer el marco de trabajo que nos permite especificar el control y la comunicación entre los subsistemas. Se recoge en el formulario DM1.
Actividades
- Descomposición del sistema: El sistema se descompone en los principales subsistemas y se identifican los requisitos de comunicación.
- Modelado del control: Se establece el modelo general de las relaciones de control entre las partes del sistema.
- Descomposición modular: Cada uno de los subsistemas identificados se descompone en módulos y se identifica sus tipos e interconexiones.
Definiciones
- Subsistema: Sistema por sí mismo cuyo funcionamiento no depende de los servicios suministrados por otros subsistemas.
- Módulo: Componente de un sistema que suministra servicios a otros módulos o utiliza de otros.
Granularidad de la Arquitectura
Arquitectura Global del Sistema
Se describe la arquitectura del sistema de forma global. CommonKADS recomienda MVC, que cuenta con los subsistemas:
- Modelo: Especifica las funciones y datos que conforman la funcionalidad. En un SBC contiene las funciones de razonamiento, roles dinámicos y los datos de la base de conocimiento.
- Vistas: Vistas externas de las funciones y los datos incluidos en el modelo de la aplicación. Representan las visualizaciones de los objetos y funciones en una interfaz de usuario. El desacoplamiento nos permite definir múltiples vistas para un mismo objeto.
- Controlador: Especifica la unidad de control del sistema. Suele tener un modelo de control dirigido por eventos. Se encarga de activar las funciones del modelo de aplicación y decidir cuándo recoger los resultados. Se implementa en este el mecanismo de comunicación.
Arquitectura del Modelo de la Aplicación
Contiene los elementos (tareas, inferencias y conocimiento del dominio) de software que implementan las funciones y los datos especificados en los modelos de análisis.
Sistema de Extracción de Información (EI)
Su objetivo es obtener información acerca de hechos muy específicos (como fechas, nombres propios, eventos) a partir de un texto en lenguaje natural sobre un dominio de interés.
Fases
Tiene dos fases: una fase de entrenamiento y una fase de utilización. Se caracterizan por:
- Usar plantillas simples, con espacios que se llenan con material del texto.
- Solo una pequeña parte del texto es relevante para llenar la plantilla.
Plantillas
La plantilla tiene las características: Entidades y relaciones. Las reglas de extracción se utilizan para asignar adecuadamente los textos a cada espacio de la plantilla. Existen dos enfoques: el enfoque de ingeniería del conocimiento y el enfoque de métodos empíricos.
MUC
Conjunto genérico de tareas que se toman como punto de referencia por la mayoría de los sistemas de extracción de información.
Tareas del MUC
- Reconocimiento de nombres (Se identifican los nombres propios y se clasifican).
- Construcción de Plantilla de Elementos (Añade a las entidades información descriptiva que es resultado del modelo de resolución de correferencia).
- Construcción de Plantilla de Relaciones (Encuentra las relaciones entre las plantillas de elementos obtenidas en la tarea Construcción de Plantilla de Elementos).
- Construcción de Plantilla de Escenario (Se encarga de relacionar las plantillas de elementos con los eventos de interés).
Prototipado Rápido
Se utiliza en aquellas partes del sistema cuyos requisitos no están bien especificados y que pueden ser fuente de riesgos. Se utiliza en los prototipos de proceso de razonamiento y de interfaz de usuario.
2. Selección de la Plataforma de Implementación
Selección del software y hardware para el desarrollo. Se recoge en el formulario DM2. Si se utiliza la POO resulta más sencillo completar el proceso de diseño.
Selección de una Herramienta
Para seleccionar una herramienta hay que tener en cuenta:
- Disponibilidad de una librería de vistas de objetos.
- Representación declarativa del conocimiento.
- Interoperabilidad.
- Paradigma de programación.
- Control de flujo.
- Soporte para CommonKADS.
3. Especificación de los Componentes de la Arquitectura
Se especifican los componentes de la arquitectura más detalladamente, definiendo las interfaces entre los distintos subsistemas y módulos. Para cada componente se describe la funcionalidad y las opciones de diseño. Se recoge en el formulario DM3.
Modelo de la Aplicación
- Tareas: Cada objeto necesita implementar dos operaciones: inicializar (establece los valores de las entradas de las tareas) y ejecutar (invoca al método de la tarea).
- Métodos de las tareas: Hay que tomar dos decisiones: decidir el lenguaje para especificar la estructura de control de una tarea (suele ser CML) y decidir el lugar en que se definirá la estructura de control.
- Inferencias: Cuando se invoca la operación ejecutar, se tiene que acceder a los roles dinámicos (definen entradas) y los estáticos, e invocar el método de la inferencia.
- Método de inferencia: No debe acceder directamente a los roles dinámicos y estáticos, sino recibir estos como parámetros de entrada cuando el método sea invocado con la inferencia.
- Rol dinámico: Definen las entradas.
- Rol estático: Contienen las expresiones que se pueden definir en el dominio como instancias de relaciones y conceptos. La arquitectura debe proporcionar funciones de acceso como proporcionar todas las instancias asociadas al rol, una única instancia del rol y responder a si existe una determinada instancia.
- Bases de conocimiento: Contienen las instancias de los tipos de reglas que definen distintas parcelas del conocimiento del dominio y que permiten a las inferencias derivar nuevo conocimiento.
- Construcción del dominio: Elementos definidos en el modelo de conocimiento que no han sido tratados anteriormente, son los conceptos, relaciones y tipos de reglas.
- Vistas: Permiten mostrar el contenido de los procesos de razonamiento que se están ejecutando a agentes externos. Existen dos interfaces: la de usuarios finales (el conocimiento experto está disponible para los no expertos) y la de expertos (necesitan funciones adicionales para interactuar con el sistema).
4. Especificación de la Aplicación sobre la Arquitectura
Se trata de proyectar los elementos específicos de la aplicación en la arquitectura. Se realiza en dos pasos.
- Proyectar la información obtenida en el análisis sobre la arquitectura especificada en el tercer paso de forma automática.
- Añadir los detalles necesarios para:
- En el controlador es necesario un proceso de inicialización del sistema y gestores de eventos para obtener la información de los usuarios.
- En el método de la tarea debemos formalizar la estructura de control con el lenguaje de control.
- En la inferencia tenemos que especificar la forma de invocar al método de la inferencia, quedando claro cómo los roles se asocian con los argumentos del método de la inferencia.
- Para cada inferencia debemos especificar o seleccionar el método correspondiente.
- En los roles dinámicos hay que seleccionar un tipo de dato para cada rol. Se recomienda el uso de conjuntos en vez de listas.
- La selección de vistas está dirigida por los principios generales del diseño de interfaces de usuario.
Deja un comentario