INGENIAS: Desarrollo dirigido por modelos de SMA



Documentos relacionados
Desarrollo de Sistemas Multi-Agente con INGENIAS

Hace falta utilizar agentes?

El Proceso Unificado de Desarrollo de Software

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él.

MACROPROCESO GESTIÓN TECNOLÓGICA

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

Anteproyecto Fin de Carrera

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

comunidades de práctica

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Proyecto Tutelkán Tutelkán - Descripción General del Proyecto

SUPLEMENTO EUROPASS AL TÍTULO

M.T.I. Arturo López Saldiña

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

PROYECTO GESTIÓN POR PROCESOS: INFORME DE AUTOEVALUACIÓN MEDIANTE CUESTIONARIO

6 Anexos: 6.1 Definición de Rup:

Microsoft Dynamics Sure Step Fundamentos

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

Gestión de proyectos

Se aportan, para la configuración de este anexo, las categorías profesionales más habituales según la definición del MRFI-C:

Elementos requeridos para crearlos (ejemplo: el compilador)

Software de Simulación aplicado a entornos de e-learning

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Enterprise Analyst: Taller de Bautizo

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

INGENIERÍA DEL SOFTWARE I. Univ. Cantabria Fac. de Ciencias. Especificación de Requisitos. Práctica 2

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gestión y Desarrollo de Requisitos en Proyectos Software

Contribuciones a los Lenguajes de Modelado Educativo

Service Oriented Architecture: Con Biztalk?

1. Introducción: Qué es la Gestión Documental-TI o Gestor Documental?


Grado en Ingeniería Informática

Formamos auditores internos de Sistemas de Gestión

Una puerta abierta al futuro

Implantación de Aplicaciones Web Fecha:

Capitulo III. Diseño del Sistema.

Visión General de GXportal. Última actualización: 2009

SUPLEMENTO EUROPASS AL TÍTULO

CAPÍTULO 3 Servidor de Modelo de Usuario

Gestión de la Configuración

Workflows? Sí, cuántos quiere?

"Módulo OOWS para StarUML" INTRODUCCIÓN

Notación de Modelado de Procesos de Negocio

PROTOCOLO DE EVALUACIÓN PARA LA VERIFICACIÓN DE TÍTULOS OFICIALES (GRADO Y MÁSTER)

Resumen General del Manual de Organización y Funciones

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Resumen General del Manual de Organización y Funciones

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

Consideraciones para implementaciones BPM y EDA

Guía metodologíca para la gestión de proyectos de software basada en metodologías agiles, que integre las herramientas de seguimiento de actividades,

arquitectura que maneja. Encontraremos también los diferentes servidores que

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

Máster Universitario en Diseño Gráfico de la Comunicación

Gestión de proyectos en tiempos de crisis

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Ingeniería de Software en SOA

Roles y Características

Análisis del Sistema de Información

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

ITBA - UPM MAGISTER EN INGENIERIA DEL SOFTWARE ANTEPROYECTO DE TESIS

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, Introducción al Diseño de Software

Resultados del aprendizaje y Criterios de evaluación del módulo: Implantación de Aplicaciones Web

Servicios TIC. Propuesta educación Universidad

Escuela Técnica Superior de Ingeniería Informática

Oferta tecnológica: Herramienta software y método para modelar aplicaciones web independientes de dispositivo

ÁLAMO SOFTWARE PARA GESTIÓN INMOBILIARIA

Curso. Introducción a la Administracion de Proyectos

GMF Gestor de incidencias

O jeto de apre r ndizaje

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

CMMI (Capability Maturity Model Integrated)

GUÍA DOCENTE. Curso DESCRIPCIÓN DE LA ASIGNATURA. Ingeniería Informática en Sistemas de Información Doble Grado: Módulo: Módulo 6

MARCO DE REFERENCIA SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DE TI EN EL ESTADO COLOMBIANO

Informe de Seguimiento. Máster Universitario en Dirección y Administración de Empresas-MBA. Empresas-MBA de la Universidad de Málaga

Business Process Management(BPM)

Ventajas del software del SIGOB para las instituciones

Servidores Donantonio

Describir una metodología sistemática de análisis de los procesos organizacionales y cómo estos pueden ser apoyados por las TI.

Arquitectura de Aplicaciones

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DEL ZULIA NÚCLEO PUNTO FIJO PROGRAMA DE CIENCIA Y TECNOLOGÍA LICENCIATURA EN COMPUTACIÓN

Sistema Gestión Licitación para la compra del desarrollo y migración del Sistema de Gestión de Activos y Configuraciones para Plan Ceibal

Programación de SMAs

Ingeniería de Software. Pruebas

ARQUITECTURAS DE PROCESOS DE NEGOCIOS INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Decisiones a tomar en los estudios de INGENIERÍA INFORMÁTICA

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

LA IMPORTANCIA DE LOS TABLEROS DE CONTROL. Conocido también como Cuadro de Mando Integral (CMI) o tablero de comando o balanced scorecard.

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

Transcripción:

INGENIAS: Desarrollo dirigido por modelos de SMA Juan Pavón Mestras jpavon@pdi.ucm.es Dep. de Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid http://grasia.fdi.ucm.es Objetivo de INGENIAS Proporcionar soluciones de ingeniería para desarrollar SMA Notación Lenguaje visual para expresar el diseño de SMA y agentes Métodos Proceso de desarrollo Organización de entregas Actividades relacionadas Herramientas: Ingenias Development Kit (IDK) Generación de especificación Validación de diseño Generación de código Generación de documentación Juan Pavón Mestras, UCM INGENIAS 2 1

Planteamiento de INGENIAS Principios Agentes como paradigma de modelado Conceptos de más alto nivel que en objetos y más cercanos al dominio Se pueden considerar adaptaciones específicas a dominios de aplicación particulares Los aspectos organizativos e intencionales reducen el salto de especificación de requisitos al diseño (modelo, solución) de sistema Implementación sobre distintos tipos de plataforma Un modelo de SMA se puede implementar sobre una plataforma de agentes o sobre un entorno de objetos tradicional La metodología facilita y promueve el desarrollo de herramientas de generación de código que faciliten el paso del modelo (análisis y diseño) a la implementación Contempla la evolución de la tecnología de agentes Integración de resultados del área Adaptabilidad a nuevos lenguajes y estándares (p.ej. AUML) Todo ello basado en la utilización y manipulación de metamodelos y transformaciones Desarrollo dirigido por modelos de SMA Juan Pavón Mestras, UCM INGENIAS 3 Desarrollo de software dirigido por modelos (MDD) Los modelos dirigen el desarrollo y mantenimiento del sistema Además de: Analizar y experimentar Documentar Facilitar la comunicación entre clientes, usuarios y desarrolladores No sólo como guía de implementación Los modelos (y no los programas) pasan a ser el centro y los artefactos fundamentales del proceso software Herramientas necesarias: Edición de modelos Generación automática de código Potencialmente sobre múltiples plataformas Verificación y validación de modelos Análisis de propiedades Simulación (ejecución de los modelos) Juan Pavón Mestras, UCM INGENIAS 4 2

Motivación para MDD de SMA (1/3) La mayoría de las propuestas de ISOA hacen énfasis en el modelado MDD trata sobre modelado Actualmente se está estudiando en la comunidad de ISOA la integración de métodos y notaciones MDD, y más concretamente MDA, establece un marco de transformaciones entre modelos MDD, y especialmente MDA, aborda los cambios en la tecnología ISOA también Parece razonable considerar MDD/MDA en ISOA MDD: Desarrollo Dirigido por Modelos MDA: Model Driven Architecture del OMG ISOA: Ingeniería del Software Orientada a Agentes, en inglés, AOSE Juan Pavón Mestras, UCM INGENIAS 5 Motivación para MDD de SMA (2/3) INGENIAS Especificación de metamodelos para SMA Mecanismo para integrar resultados del área Fundamento de las herramientas: INGENIAS Development Kit (IDK) IDK proporciona la infraestructura necesaria para MDD IDK: INGENIAS Development Kit SMA: Sistemas MultiAgente Juan Pavón Mestras, UCM INGENIAS 6 3

Motivación para MDD de SMA (3/3) La experiencia en desarrollos de SMA muestra que Es conveniente separar modelo de agentes de plataforma de implementación Las plataformas de implementación son diversas No siempre de agentes El proceso de desarrollo requiere cambios en las herramientas que manipulan los modelos Los metamodelos evolucionan Necesidad de incorporar nuevos conceptos Durante el proceso se trata modelado de la aplicación y definición de transformaciones También se va conociendo mejor la plataforma final La reusabilidad es mayor si se aplica también a las actividades del proceso Herramientas Procesos Juan Pavón Mestras, UCM INGENIAS 7 Metamodelado de SMA La comunidad de ISOA es receptiva al metamodelado Ejemplos: Ferber (1993) AOR, Odell (2004) AGR, AOSE2004, AgentLink3 (2005) Un buen metamodelo como base de un proceso de ingeniería requiere una validación mediante transferencia tecnológica en aplicaciones reales Hay muy pocos metamodelos completos para SMA INGENIAS, AML, PASSI, Tropos Ejemplos de aplicación de metamodelos y MDD para SMA En papel: Meta-DIMA, Malaca En la práctica: INGENIAS Method engineering (en desarrollo): FAME, PASSI Juan Pavón Mestras, UCM INGENIAS 8 4

Conceptos para el modelado con agentes Cinco puntos de vista en INGENIAS Modelo de Organización Modelo de Agente Sistema Multi Agentes Modelo de Objetivos/Tareas Modelo de Interacciones Modelo de Entorno Juan Pavón Mestras, UCM INGENIAS 9 Aspectos del SMA Modelo de organización Estructura del SMA, roles, grupos, relaciones de poder Dinámica: workflows Modelo de agente Los agentes realizan tareas o persiguen objetivos Responsabilidades, control y estado mental del agente Modelo de objetivos y tareas Identificación de objetivos generales y descomposición en objetivos más concretos que se pueden asignar a agentes Similarmente con tareas Objetivos: motivación Tareas: actividad Modelo de interacción Qué interacciones existen entre agentes/roles Modelo de entorno Entidades y recursos con los que interactúa el SMA Juan Pavón Mestras, UCM INGENIAS 10 5

Ejemplo de desarrollo orientado a agentes Diseño de un sistema de recomendación usando filtrado colaborativo Los documentos llegan a una comunidad de usuarios Serán evaluados según los gustos mayoritarios de la comunidad de usuarios de gustos similares Juan Pavón Mestras, UCM INGENIAS 11 Ejemplo de desarrollo orientado a agentes 1. Identificar OBJETIVOS Análisis: Qué tiene que hacer el sistema (requisitos) De casos de uso a objetivos Juan Pavón Mestras, UCM INGENIAS 12 6

Ejemplo de desarrollo orientado a agentes 2. Descomponer los OBJETIVOS en subobjetivos y TAREAS Del análisis al diseño: OBJETIVOS identifican requisitos (propósito) Juan Pavón Mestras, UCM INGENIAS 13 Modelo de objetivos y tareas Qué consecuencias tiene la ejecución de tareas y por qué se deberían ejecutar Justifica la ejecución de tareas basándose en objetivos Que a su vez se van modificando tras su ejecución Objetivo: Situación deseada Conjunto de estados que el agente quiere lograr, mantener, o evitar Una función de utilidad que maximizar Responde a por qué? Tarea: Transiciones de estado Conduce a la consecución de objetivos Responde a cómo? Objetivo <<activa>> Tarea Juan Pavón Mestras, UCM INGENIAS 14 7

Ejemplo de desarrollo orientado a agentes 2. Descomponer los OBJETIVOS en subobjetivos y TAREAS Del análisis al diseño: TAREAS definen procedimientos para satisfacer OBJETIVOS Juan Pavón Mestras, UCM INGENIAS 15 Ejemplo de desarrollo orientado a agentes 3. Asignar OBJETIVOS a ROLES en la ORGANIZACIÓN Diseño: ROLES definen servicios (responsabilidades y funcionalidad esperada) Juan Pavón Mestras, UCM INGENIAS 16 8

Modelo de organización Descripción estructural Propósito persigue Organización descompone Grupo workflow Agente juega Rol Aplicación Recurso usan descompone tarea Juan Pavón Mestras, UCM INGENIAS 17 Ejemplo de desarrollo orientado a agentes 3. Asignar OBJETIVOS a ROLES en la ORGANIZACIÓN Diseño: ORGANIZACIÓN define arquitectura (estructura, normas) Juan Pavón Mestras, UCM INGENIAS 18 9

Ejemplo de desarrollo orientado a agentes 4. Definir WORKFLOWS e INTERACCIONES Diseño: WORKFLOWS definen relaciones entre TAREAS, ROLES y RECURSOS Juan Pavón Mestras, UCM INGENIAS 19 Modelo de interacciones Los agentes se comunican para Mostrar a otros agentes su estado mental Intentar modificar el estado mental de otros agentes Basado en teoría de los actos del habla (speach acts): peformativas del lenguaje B+D=>I I=>A Yo creo que... B+D=>I I=>A Yo quiero que... Juan Pavón Mestras, UCM INGENIAS 20 10

Definición de interacciones Qué actores participan en la interacción Cada actor debe mostrar la razón por la que participa Roles iniciador y colaboradores Definición de unidades de interacción Mensajes, actos de habla Orden de las unidades de interacción Protocolos: contract net, FIPA request, específicos. Diagramas de protocolos AUML Acciones ejecutadas en la interacción Criterios para decidir cuándo ejecutar una tarea Consecuencias de la ejecución de una tarea Definición del contexto de la interacción Objetivos que persigue la interacción Estado mental de los participantes Modelo de control Mecanismos de coordinación Juan Pavón Mestras, UCM INGENIAS 21 Ejemplo de desarrollo orientado a agentes 4. Definir WORKFLOWS e INTERACCIONES Diseño: INTERACCIONES definen cómo se comunican los ROLES Juan Pavón Mestras, UCM INGENIAS 22 11

Ejemplo de desarrollo orientado a agentes 5. AGENTES desempeñan ROLES Diseño: AGENTES tienen capacidades para desempeñar ROLES Cada AGENTE puede tener una estrategia diferente para satisfacer los objetivos del mismo ROLE Juan Pavón Mestras, UCM INGENIAS 23 Ejemplo: diseño de los agentes Descripción de las capacidades de los agentes Autonomía El agente puede decidir por sí mismo qué agentes contactar para el proceso de compra de billete. Su propósito es asistir al usuario Inteligencia El agente decidirá, de acuerdo a ciertos parámetros (tiempo de respuesta, precio, calidad del cine, etc.) si le interesa o no aceptar un trato Una manera de hacerlo es elaborando árboles de decisión y un algoritmo de inducción (como ID3) para determinar los criterios de selección de un buen cine Además el agente podría ser capaz de aprender nuevas tareas En INGENIAS todo ello se hace gestionando y procesando un Estado Mental Juan Pavón Mestras, UCM INGENIAS 24 12

Control del agente Agente Quiere satisfacer Objetivo puede satisfacerse ejecutando Rol Satisfac e Evidencia Produce tarea interacción Satisfac e tarea Agente Quiere satisfacer Objetivo puede satisfacerse ejecutando Rol Juan Pavón Mestras, UCM INGENIAS 25 Ejemplo de desarrollo orientado a agentes 6. Generación de código Simulación: validar el comportamiento del sistema multiagente INGENIAS Agent Framework (IAF) Realización e implantación de un sistema ejecutable Módulos de generación de código del IDK Generación de documentación Módulo de generación de documentación HTML del IDK Juan Pavón Mestras, UCM INGENIAS 26 13

Proceso de desarrollo orientado a agentes Hay otras posibilidades Centrarse y comenzar con los workflows Cuando la organización está orientada a procesos Centrarse en la coordinación y las interacciones Cuando el problema es la definición de un algoritmo distribuido Sistemas cooperativos Centrarse en el entorno Sistemas empotrados Robótica Centrarse en los actores Simulación social Juan Pavón Mestras, UCM INGENIAS 27 Proceso de desarrollo con INGENIAS El uso del IDK determina un proceso de desarrollo característico, que es MDD, que complementa procesos software Proceso centrado en el modelado La implementación se deriva de los modelos mediante módulos del IDK para generación de código Aparte del role del desarrollador clásico (usando CASE tools) hay que considerar el role del ingenierio de metamodelos Puede extender el lenguaje de modelado y realizar nuevos módulos del IDK Juan Pavón Mestras, UCM INGENIAS 28 14

Actores en un desarrollo con INGENIAS (1) El modelo de desarrollo con INGENIAS El desarrollador de SMA: realiza la aplicación Modela con el editor del IDK Simula y valida el modelo Genera código y valida el modelo Implanta el SMA en la red Juan Pavón Mestras, UCM INGENIAS 29 Actores en un desarrollo con INGENIAS (2) El modelo de desarrollo con INGENIAS Ingeniero INGENIAS: prepara las herramientas Define metamodelo del dominio de aplicación y puede personalizar el editor Implementa plugins de verificación y validación Crea generador de código para plataforma final Juan Pavón Mestras, UCM INGENIAS 30 15

INGENIAS Development Kit (IDK) Editor de modelos Herramienta visual (notación INGENIAS) Inicialmente basado en herramienta de meta-modelado (METAEDIT+) Actualmente 100% Java Generación de modelos siguiendo los meta-modelos Integración con agentes (en desarrollo) Módulos: Para la generación de código Plantillas configurables, marcadas con XML, para distintas plataformas de agentes Jade, Robocode, Servlets, Agentes grasia! Para verificación y validación de especificaciones Para generar documentación (HTML) Armazón para desarrollar módulos personalizados Juan Pavón Mestras, UCM INGENIAS 31 Editor del IDK El editor del IDK permite Crear y modificar modelos de SMA Generar documentación (HTML) Sacar snapshots de los diagramas para utilizarlos en otras aplicaciones Procesar las especificaciones mientras se están generando con el editor o una vez grabadas en un fichero Introducir explicaciones en lenguaje natural de los diferentes diagramas y de cada elemento en los diagramas, así como añadir etiquetas de texto Invocar módulos de generación de código, validación y verificación de las especificaciones Juan Pavón Mestras, UCM INGENIAS 32 16

Editor del IDK Juan Pavón Mestras, UCM INGENIAS 33 IDK: Editor + Módulos modelo de modelo de agente modelo de agente agente modelo de organización modelo de objetivos/tareas modelo de objetivos/tareas modelo de objetivos/tareas produce modelo de entorno modelo de modelo de interacciones modelo de interacciones interacciones Especificación del SMA procesados por Editor Generado a partir de contiene Metamodelo INGENIAS Módulo Módulo Módulo Módulo Módulo usa Juan Pavón Mestras, UCM INGENIAS 34 17

Generación del editor Goals/tasks Environmen metamodel Organizatio t Agent n Interaction metamodel metamodel Relationship Editor Attributes (e.g. Icons) With metamodels XML ic o ic o icon Metamodel Description XML MetaEditor MAS Editor Editor template Java/XML Juan Pavón Mestras, UCM INGENIAS 35 Generación de código modelo SMA modelo SMA modelo SMA (XML) Generador código código de agente código de agente de agente Completar/Revisar por el programador plantilla de código plantilla plantilla de marcado de código código con XML marcado con XML marcado con XML Específicos de una plataforma (deben reunir los elementos de los metamodelos) Plataforma de agentes Juan Pavón Mestras, UCM INGENIAS 36 18

Resumen INGENIAS proporciona Una notación para modelar un SMA desde cinco puntos de vista: Organización Agente Objetivos/Tareas Interacciones Entorno Modelos de proceso de desarrollo dirigido por modelos Herramientas de soporte: Ingenias Development Kit (IDK) http://ingenias.sourceforge.net Generación de código sobre distintas plataformas En el futuro tiene que evolucionar para: Mejorar usabilidad y documentación Facilitar trabajo en equipo (esto requiere, entre otras facilidades, control de versiones) Identificación de patrones de diseño orientado a agentes Juan Pavón Mestras, UCM INGENIAS 37 Bibliografía Ana Mas (2005). Agentes Software y Sistemas Multiagente. Conceptos, Arquitecturas y Aplicaciones. Pearson-Prentice Hall Brian Henderson-Sellers y Paolo Giorgini, editores (2005). Agent- Oriented Methodologies. Idea Group Publishing Juan Pavón Mestras, UCM INGENIAS 38 19