La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño e Implementación del Sistema Principios del diseño y criterios de calidad Arquitectura del Sistema CommonKADS Pasos para la creación de un modelo.

Presentaciones similares


Presentación del tema: "Diseño e Implementación del Sistema Principios del diseño y criterios de calidad Arquitectura del Sistema CommonKADS Pasos para la creación de un modelo."— Transcripción de la presentación:

1 Diseño e Implementación del Sistema Principios del diseño y criterios de calidad Arquitectura del Sistema CommonKADS Pasos para la creación de un modelo de diseño

2 Curso CommonKADSDiseño e implementación del Sistema2 Desde el análisis al diseño

3 Curso CommonKADSDiseño e implementación del Sistema3 Diseño del Sistema r Entrada: ä Modelo del conocimiento = requisitos de resolución de problemas ä Modelo de comunicación = requisitos de interacción ä Otros modelos = requisitos ‘no funcionales’ r Salida: ä Especificación de una arquitectura software ä Diseño de la aplicación con dicha arquitectura

4 Curso CommonKADSDiseño e implementación del Sistema4 Arquitectura del sistema r Descripción del software en términos de: ä Descomposición en sub-sistemas ä Elección del(los) regímene(s) de control ä Descomposición de los sub-sistemas en módulos software r Elemento central en el proceso de diseño r Arquitectura base para sistemas basados en CommonKADS

5 Curso CommonKADSDiseño e implementación del Sistema5 Diseño basado en el mantenimiento de la estructura del análisis “Preservar durante el diseño tanto el contenidos como la estructura del modelo de análisis” r Principio esencial en el diseño moderno r Se considera que el diseño sólo debe ‘añadir detalles específicos de la implementación a los resultados del análisis’ r La clave está en preservar la información r Relacionado directamente con los criterios de calidad

6 Curso CommonKADSDiseño e implementación del Sistema6 Criterios generales de calidad en el diseño r Minimización del acoplamiento r Maximización de la cohesión r Transparencia r Mantenibilidad

7 Curso CommonKADSDiseño e implementación del Sistema7 Criterios de calidad para el diseño de SBC r Reusabilidad de elementos del diseño /del código resultante r Mantenibilidad y adaptabilidad ä Desarrollos en un solo paso es poco realista, especialmente para sistemas intensivos en conocimiento r Posibilidad de generar explicaciones r Facilidad en la extracción y refinamiento del conocimiento ä El conocimiento evoluciona en el tiempo

8 Curso CommonKADSDiseño e implementación del Sistema8 Pasos en el diseño de sistemas

9 Curso CommonKADSDiseño e implementación del Sistema9 Paso 1: especificar la arquitectura global r Principio: separar las cuestiones de funcionalidad de la interfase r Arquitectura MVC: ä Desarrollado para el Smaltalk-80 ä Se distingue entre los objetos de la aplicación y su visualización ä Unidad de control central con un régimen dirigido por eventos

10 Curso CommonKADSDiseño e implementación del Sistema10 Arquitectura del Sistemas: Componentes principales

11 Curso CommonKADSDiseño e implementación del Sistema11 Subsistema: modelo de la aplicación r Contiene los datos y las funciones de la aplicación = objetos del modelo de conocimiento r Datos ä Bases de conocimiento ä Datos dinámicos manipulados durante el razonamiento (roles dinámicos) r Funciones ä Tareas, inferencias, funciones de transferencia

12 Curso CommonKADSDiseño e implementación del Sistema12 Subsistema: vistas r Visualizaciones de los datos de la aplicación y de sus funciones r Posibilidad de que existan múltiples visualizaciones r Visualización por agregación de múltiples objetos de la aplicación r Requiere de mecanismos de actualización /integridad de la arquitectura ä Tabla de mapeo ä Protocolo de mensajes para cambios en los estados de los objetos

13 Curso CommonKADSDiseño e implementación del Sistema13 Subsistema: controlador r Unidad central de ‘mando y control’ r Proporciona manipuladores para los eventos internos y externos r Posibilita la activación de funciones de la aplicación r Puede definir sus propias vistas de control r Puede tener un reloj y una agenda interna ä Comportamiento por ‘demonios’

14 Curso CommonKADSDiseño e implementación del Sistema14 Puntualizaciones sobre la arquitectura MVC r Desarrollo en un contexto orientado a objetos r Es de hecho una descomposición funcional de objetos r Su utilización no está necesariamente limitada a aproximaciones O-O ä Aunque el paradigma de paso de mensajes se ajusta bien con las características de esas arquitecturas

15 Curso CommonKADSDiseño e implementación del Sistema15 Descomposición del subsistema del modelo de la aplicación r Criterio ä Debe permitir un diseño que preserve la estructura del análisis ä Debe posibilitar la integración con otras aproximaciones r Opciones ä Descomposición funcional o por objetos r Elección: descomposición basada en objetos ä Se ajusta bien con el carácter declarativo de las especificaciones de los objetos en el modelo de conocimiento (tarea => objeto) ä Simplifica la traducción (mapeo) en la implementaciones O-O

16 Curso CommonKADSDiseño e implementación del Sistema16 Arquitectura del sistema: Subsistema del modelo de la aplicación

17 Curso CommonKADSDiseño e implementación del Sistema17 Paso 2: Identificar la plataforma de implementación r Los requisitos específicos del cliente suelen restringir esta elección = es necesario considerar esto desde el principio r Hoy día es más importante la elección del software que la del hardware ä Excepto en aplicaciones de control en tiempo real r Si la elección no está limitada, considerar retrasar la elección hasta la finalización del paso 3

18 Curso CommonKADSDiseño e implementación del Sistema18 Criterios de selección de la plataforma r Librería de visualización de clases de objetos ä Su desarrollo puede ser muy costoso r Formalismo de representación del conocimiento declarativo r Interfaces estándar a otro software ä Ej. ODBC, CORBA ä Suele ser un requisito r Facilidades de tipado en el lenguaje ä El tipado débil implica usualmente más trabajo en mapeo del modelo de análisis (ver paso 4a) r Control de las facilidades/protocolos

19 Curso CommonKADSDiseño e implementación del Sistema19 Entorno ejemplo: Prolog r Librería de visualización: dependiente del vendedor r Representación del conocimiento declarativa r Interfaces con BD: depende del vendedor r Tipado débil del lenguaje r No existen protocolos estándar para el control de eventos o paso de mensajes

20 Curso CommonKADSDiseño e implementación del Sistema20 Entornos ejemplo: Java r Librería de vistas r No tiene una representación del conocimiento declarativa r Posee interfases con BD r Facilidades de tipado similares a C++ r Facilidades de control: ä Ej. Multi-threading

21 Curso CommonKADSDiseño e implementación del Sistema21 Paso 3: especificar los componentes de la arquitectura r Especificar las interfases de los componentes r Diseñar las utilidades/facilidades generales de la arquitectura ä Mecanismo de actualización de las vistas

22 Curso CommonKADSDiseño e implementación del Sistema22 Facilidades del controlador r Activación/terminación de las funciones de la aplicación r Interrupciones de usuario para trazar o editar información de background r Aborto de funciones r Gestión de las funciones de transferencia

23 Curso CommonKADSDiseño e implementación del Sistema23 Facilidades del modelo de la Aplicación (1) r Tarea: ä Métodos de inicialización y ejecución r Método de la tarea: ä Elementos de control del lenguaje ä ‘Declaratividad’ del lenguaje de control r Inferencia: ä Ejecutar, ¿más soluciones?, ¿tiene solución? ä Enlace con los métodos de inferencia

24 Curso CommonKADSDiseño e implementación del Sistema24 Facilidades del modelo de la Aplicación (2) r Método de Inferencia ä ¿existe un catálogo de métodos? ä Posibilitar relaciones muchos a muchos entre las inferencias y los métodos r Funciones de transferencia ä Implementarlas mediante envío de mensajes r Roles dinámicos ä Tipos de datos permitidos: elemento, conjunto, lista ¿?¡ ä Operaciones de actualización y acceso: seleccionar, eliminar, añadir,...

25 Curso CommonKADSDiseño e implementación del Sistema25 Facilidades del modelo de la Aplicación (3) r Roles estáticos ä Funciones de acceso y de query r Modelos del Dominio ä Formato representacional ä Funciones de acceso y query ä Funciones de modificación y análisis r Construcciones del Dominio ä (Sólo revisarlas)

26 Curso CommonKADSDiseño e implementación del Sistema26 Facilidades de las vistas r Visualizaciones gráficas standard r Generación de formatos externos ä e.j. SQL query r Facilidades de actualización de vistas ä Tabla de mapeo ä Protocolos basados en mensajes

27 Curso CommonKADSDiseño e implementación del Sistema27 Interfases de usuario r Interfase de usuario final ä Considerar utilidades específicas como la generación de lenguaje natural. ä Utilizar visualizaciones características del Dominio r Interfase Experta ä Interfase de traza ä Interfase para editar o refinar las bases de conocimiento

28 Curso CommonKADSDiseño e implementación del Sistema28 Ejemplo de trazador

29 Curso CommonKADSDiseño e implementación del Sistema29 Paso 4: especificar la aplicación en la arquitectura Paso 4a: “mapear el análisis en la arquitectura” ä Es un proceso engorroso Paso 4b: “añadir detalles de diseño” ä Listar los detalles de diseño que necesiten añadirse para completar la operacionalización del modelo de análisis

30 Curso CommonKADSDiseño e implementación del Sistema30 Paso 4a: mapear la información del análisis en la arquitectura r Existen herramientas de mapeo en desarrollo ä ejemplo: VOID API ä Ver el web de CommonKADS r El alcance del mapeo va a depender de algunas decisiones de diseño

31 Curso CommonKADSDiseño e implementación del Sistema31 Diseño de la aplicación para el controlador r Entrada: modelo de comunicación r Mínimo: procedimiento de arranque r Otras funciones: ä Requerimientos de gestión de justificaciones ä Control del usuario sobre el proceso de razonamiento ä Interrupciones del razonamiento / estrategia de control ä Posibilitar escenarios “what-if”

32 Curso CommonKADSDiseño e implementación del Sistema32 Diseño del modelo de la aplicación Conjunto mínimo de actividades para el diseño de la aplicación: r Para cada método de tarea: ä Construir la estructura de control operacional r Para cada role dinámico: ä Elegir un tipo de datos r Para cada inferencia ä Identificar un mapeo ä Escribir un método de invocación para la inferencia

33 Curso CommonKADSDiseño e implementación del Sistema33 Diseño de la aplicación para las vistas r Si fuera necesario, seleccionar una vista para cada objeto de la aplicación r Consejo: utilizar vistas lo más parecidas a los formatos utilizados en el dominio para la interfase de usuario ä Demasiado a menudo los diseñadores imponen a los usuarios sus preferencias ä Cada dominio tiene sus propias tradiciones a la hora de representar la información (y normalmente por buenos motivos)

34 Curso CommonKADSDiseño e implementación del Sistema34 Prototipado: subsistema de razonamiento r ¿Cuándo se necesita? ä Para elementos de conocimiento novedosos o sin precedentes ä Cuando se detecten ‘vacíos’ en el conocimiento del dominio ä En general: para verificar y validar el modelo de conocimiento –verificación: “is the system right” –validación: “is it the right system” r La plataforma de implementación debe ser capaz de facilitar este proceso ä La construcción del prototipo debe ser cuestión de días

35 Curso CommonKADSDiseño e implementación del Sistema35 Elementos Clave r Se considera al diseño como un proceso de refinamiento en el que se mantiene la estructura del análisis r Cuatro pasos para el proceso de diseño r Se puede recibir apoyo de: ä Arquitectura CommonKADS ä Herramientas de transformación de los modelos de conocimiento y comunicación ä Plataformas específicas con paquetes CommonKADS r “diseño racional: cómo y porqué imitarlo” (Parnas & Clements)

36 Curso CommonKADSDiseño e implementación del Sistema36 Prototype: mock-up agent interface r Test mock-up interface without full application functionality r When needed: ä complex external interaction (e.g.; HOMEBOTS) ä complex view formats ä complex view aggregations

37 Curso CommonKADSDiseño e implementación del Sistema37 Sistemas de conocimiento distribuidos r Servicios de Razonamiento ä El modelo de la aplicación actúa como un servicio ä Sin interfase de usuario r Servidor de bases de conocimiento /ontologías r Servicio de métodos ä Sistemas distribuidos implementados mediante un conjunto de métodos r Combinaciones

38 Curso CommonKADSDiseño e implementación del Sistema38 Sample implementations r Housing application r Source code at web-site r “Academic” implementation ä public-domain Prolog r “Business” implementation ä Aion8 r Experiences show that prototypes of “running knowledge models” can be built within days

39 Curso CommonKADSDiseño e implementación del Sistema39 Architecture Prolog system

40 Curso CommonKADSDiseño e implementación del Sistema40 Trace Prolog system (1)

41 Curso CommonKADSDiseño e implementación del Sistema41 Trace Prolog system (2)

42 Curso CommonKADSDiseño e implementación del Sistema42 Trace Prolog system (3)

43 Curso CommonKADSDiseño e implementación del Sistema43 Trace Prolog system (4)

44 Curso CommonKADSDiseño e implementación del Sistema44 Aion8 system for “housing” r Realized as O-O “framework” ä roles, interfaces => multiple inheritance ä Hollywood principle r Includes task-template library facility r Default implementation of inferences

45 Curso CommonKADSDiseño e implementación del Sistema45 Aion8 system architecture

46 Curso CommonKADSDiseño e implementación del Sistema46 Aion8 CommonKADS classes

47 Curso CommonKADSDiseño e implementación del Sistema47 Aion8 assessment library

48 Curso CommonKADSDiseño e implementación del Sistema48 Trace Aion8 system (1)

49 Curso CommonKADSDiseño e implementación del Sistema49 Trace Aion8 system (2)


Descargar ppt "Diseño e Implementación del Sistema Principios del diseño y criterios de calidad Arquitectura del Sistema CommonKADS Pasos para la creación de un modelo."

Presentaciones similares


Anuncios Google