SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Desarrollo con el INGENIAS
          Development Kit

                     Agente Hola Mundo


                                 Jorge J. Gómez Sanz



        Dep. de Sistemas Informáticos y Programación


                       http://grasia.fdi.ucm.es
Desarrollo de agentes con el IDK
       El IDK proporciona soporte a la metodología
   
       INGENIAS
                Metodología: notación + herramientas + proceso +
            
                paradigma




UCM, 2003                              Agentes Software            2
IDK: Generación de código


      modelo                                                                    código
        modelo                                                                    código
       SMA                                                                     de agente
                                                                                    código
                                            Generador
          modelo
         SMA                                                                    de agente
                                                                                   de agente
         SMA (XML)


                                                                              Completar/Revisar
                                                                              por el programador
               plantilla de código
        plantilla de código
    plantilla de código con XML
               marcado
        marcado con XML
    marcado con XML

     Específicos de una plataforma
                                                                      Plataforma de agentes
(deben reunir los elementos de los metamodelos)



                                Ingeniería del Software Orientada a Agentes                        3
Sobre el IDK

    Se basa en un lenguaje para el modelado de SMA

        El lenguaje está expresado como un meta-modelo
    

    El lenguaje es un superconjunto de lo que reconoce

    el generador de código
        No todos los elementos son reconocidos para generar el
    
        SMA
    Se pueden construir múltiples generadores de

    código




                          Ingeniería del Software Orientada a Agentes   4
Sobre el IDK

    Está desarrollado en Java

        Compatible con versiones superiores a la 1.4
    

    Usa la herramienta ant

        http://ant.apache.org
    

    Está desarrollado con código GPL en su mayoría

        Librerías para gestión de gráficos
    

        Librerías para persistencia en XML
    

        Plataforma JADE
    

    Los SMA que se generan con IAF están completos al

    70%
        Falta introducir el código correspondiente a las tareas
    

        La coordinación y flujo de control está prácticamente
    
        implementado
                           Ingeniería del Software Orientada a Agentes   5
Descargando el software

    Ir a http://ingenias.sourceforge.net


    Saltar a la sección downloads


    Descargar la versión IDK 2.7


    Descomprimir en la carpeta c:hlocal


    Lanzar la consola de ant





                     Ingeniería del Software Orientada a Agentes   6
Estructura general

    IDK

        editor. Contiene el editor visual de especificaciones.
    

        iaf. Contiene el generador de código
    

        workspace. Contiene los diferentes proyectos
    

    Se recomienda crear los proyectos dentro de

    workspace, pero se pueden mantener fuera
    igualmente
    Dentro de un proyecto hay, entre otras, las

    siguientes carpetas
        src. Contiene fuentes generados manualmente
    

        gensrc. Son los fuentes generados automáticamente
    

        permsrc. Fuentes generados automáticamente y no
    
        regenerados
        spec. La especificación del problema
    
                           Ingeniería del Software Orientada a Agentes   7
Creando un proyecto

    Se abre una consola de comandos


    Se abre la carpeta donde se ha instalado el IDK


    Se invoca la creación del proyecto con:





    Esto creará un proyecto en

    c:hlocalIDK2.7workspaceMiProyecto
    Dentro de este proyecto se crea automáticamente

    una especificación ya preconfigurada en la carpeta
    spec

                      Ingeniería del Software Orientada a Agentes   8
Abriendo la especificación

    Hay que ejecutar el editor con ant runide





    La especificación se crea con el editor visual


    La creación del proyecto incluye la creación de una

    especificación donde están configurados los
    parámetros de generación de código




                      Ingeniería del Software Orientada a Agentes   9
Abriendo la especificación

    Se elige la opción File -> Load


    Vamos a la carpeta c:hlocalIDK2.7workspaceMiProyectospec


    Se abre el fichero specification.xml





                           Ingeniería del Software Orientada a Agentes   10
Propiedades de la especificación

    Definen parámetros para los módulos de

    generación
    Ir a Project -> Properties





                     Ingeniería del Software Orientada a Agentes   11
Creando un agente

    Crear un diagrama de agentes





                     Ingeniería del Software Orientada a Agentes   12
Definiendo la tarea

    Definir la tarea con un diagrama de

    tareas/objetivos




                      Ingeniería del Software Orientada a Agentes   13
Asociando código a la tarea

    Definir un diagrama de componentes





                    Ingeniería del Software Orientada a Agentes   14
El código de la tarea




    Las tareas java contienen el código introducido

    dentro del componente



                      Ingeniería del Software Orientada a Agentes   15
Generando código

    Seleccionar Modules -> Code Generator ->

    Ingenias Agent Framework generator -> Generate
    La pestaña Logs mostrará el resultado de la

    generación




                     Ingeniería del Software Orientada a Agentes   16
Ejecutando




    Ir a la carpeta del proyecto

        Abrir dos consolas aquí
    

    En la primera consola

        ant runjade
    

        Se ejecuta sólo una vez
    

    En la segunda consola

        ant run
    

        El mensaje aparecerá al final
    

    Se verán dos GUIS

        El del adminstrador de JADE
    

        El del depurador del IAF del Software Orientada a Agentes
    
                           Ingeniería                               17
Ejecutando II

    Como alternativa, se puede abrir una única consola

    y escribir lo siguiente

    ant runProdStandAlone



    Con eso se lanza de forma conjunta un contenedor

    JADE y los agentes definidos
        No se lanza ningún GUI adicional
    

        Útil para despliegues en entornos de producción
    




                          Ingeniería del Software Orientada a Agentes   18
Definiendo un despliegue

    Crear un diagrama de despliegue





                     Ingeniería del Software Orientada a Agentes   19
Definiendo un despliegue




                 Ingeniería del Software Orientada a Agentes   20
Ejecutando

    Se regenera el código y se vuelve a ejecutar


    El número de opciones para ejecutar aumenta





    Hay opciones para

    ejecutar el despliegue
    que acabamos de
    definir:

    ant runDespliegueTresAgentes
                             Ingeniería del Software Orientada a Agentes   21
Integrando con Eclipse

    La modificación de

    fuentes se puede hacer
    desde eclipse
        Creando un nuevo
    
        proyecto JAVA desde los
        fuentes existentes




                         Ingeniería del Software Orientada a Agentes   22
Integrando con Eclipse

    Las carpetas que deben

    configurarse como
    código fuente son
    gensrc, permsrc, y src
        Pulsar con el botón
    
        derecho en una carpeta
        para ver la opción de
        agregar al build path
    Definir la carpeta bin

    para los binarios que se
    generen




                         Ingeniería del Software Orientada a Agentes   23
Integrando con Eclipse

    Ahora se puede trabajar

    como si se tratara de
    JAVA
        La carpeta gensrc no
    
        debe modificarse, a
        menos que se alteren
        tareas
        La carpeta permsrc
    
        puede modificarse. No se
        sobreescribirán lo
        modificado
        La carpeta src está
    
        gestionada por completo
        por el usuario



                         Ingeniería del Software Orientada a Agentes   24
Modificando una tarea




    Las tareas se generan en

    gensrc/ingenias/jade/components
        Buscar el nombre de la tarea en cuestión
    

    Las modificaciones hay que copiarlas a mano en el

    editor
                           Ingeniería del Software Orientada a Agentes   25
Modificando una tarea

    Si queremos

    modificar como
    en el ejemplo,
    hay que
    actualizar el
    cambio en el
    módulo




                     Ingeniería del Software Orientada a Agentes   26
Advertencia

    Modificaciones diferentes de insertar código en la

    parte indicada de la tarea no pueden gestionarse en
    la versión actual del generador de código
        Por ejemplo, si se necesita meter un nuevo método en la
    
        tarea
         • Si se necesita algo como esto, se recomienda crear estos
           métodos en clases externas a la tarea
    Si se usa eclipse, es frecuente que se incluyan

    automáticamente imports de clases que se vayan
    utilizando
        Los imports no se guardarán en el modelo
    




                            Ingeniería del Software Orientada a Agentes   27
Configurando Eclipse

    Para evitar el uso de

    imports, hay que
    modificar las
    preferencias de Eclipse
        Menú Window-
    
        >Preferences
    Para actualizar los

    ficheros
    automáticamente con
    cada generación de
    código, hay que activar
    el refresco automático



                       Ingeniería del Software Orientada a Agentes   28
Sincronizando Código y especificación

    Consiste en asegurar que todo lo que hay en la

    carpeta gensrc del proyecto es regenerable desde la
    especificación
        Toda modificación realizada al código de las tareas debe
    
        poder subirse al editor
    Hay una forma más sencilla, pero requiere bajarse

    la última versión del IDK. Para ello hay que tener el
    Subversion instalado.
        Mirar las transparencias del CodeUpdater
    




                            Ingeniería del Software Orientada a Agentes   29

Weitere ähnliche Inhalte

Ähnlich wie Agente Hola Mundo

Depuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studioDepuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studioJavier Hermoso Blanco
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittJavier Muñoz
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .netJefersonGuevara1
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .netJefersonGuevara1
 
Presentacion med line ed bennett con ajax y dwr
Presentacion   med line ed bennett con ajax y dwrPresentacion   med line ed bennett con ajax y dwr
Presentacion med line ed bennett con ajax y dwrdamaji2
 
Presentacion med line ed bennett con ajax y dwr
Presentacion   med line ed bennett con ajax y dwrPresentacion   med line ed bennett con ajax y dwr
Presentacion med line ed bennett con ajax y dwrgarciafjgs
 
Breve introducción práctica al DevOps - (es) 2021_03_18
Breve introducción práctica al DevOps -  (es) 2021_03_18Breve introducción práctica al DevOps -  (es) 2021_03_18
Breve introducción práctica al DevOps - (es) 2021_03_18Young Suk Ahn Park
 
Guia practica 1.0 2011
Guia practica 1.0  2011Guia practica 1.0  2011
Guia practica 1.0 2011puchichin666
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkitCesar Escalante
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
 

Ähnlich wie Agente Hola Mundo (20)

Depuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studioDepuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studio
 
Metodo watch y lps
Metodo watch y lpsMetodo watch y lps
Metodo watch y lps
 
No más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKittNo más "programación copy&paste". Generación automática de código con MOSKitt
No más "programación copy&paste". Generación automática de código con MOSKitt
 
Andrid studio
Andrid studioAndrid studio
Andrid studio
 
Watch, lps
Watch, lpsWatch, lps
Watch, lps
 
Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
Watch, lps
Watch, lpsWatch, lps
Watch, lps
 
Presentacion med line ed bennett con ajax y dwr
Presentacion   med line ed bennett con ajax y dwrPresentacion   med line ed bennett con ajax y dwr
Presentacion med line ed bennett con ajax y dwr
 
Presentacion med line ed bennett con ajax y dwr
Presentacion   med line ed bennett con ajax y dwrPresentacion   med line ed bennett con ajax y dwr
Presentacion med line ed bennett con ajax y dwr
 
Presentacion med line ed bennett con ajax y dwr
Presentacion   med line ed bennett con ajax y dwrPresentacion   med line ed bennett con ajax y dwr
Presentacion med line ed bennett con ajax y dwr
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Breve introducción práctica al DevOps - (es) 2021_03_18
Breve introducción práctica al DevOps -  (es) 2021_03_18Breve introducción práctica al DevOps -  (es) 2021_03_18
Breve introducción práctica al DevOps - (es) 2021_03_18
 
Guia practica 1.0 2011
Guia practica 1.0  2011Guia practica 1.0  2011
Guia practica 1.0 2011
 
Trabajo
TrabajoTrabajo
Trabajo
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
Desarr
DesarrDesarr
Desarr
 

Kürzlich hochgeladen

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 

Kürzlich hochgeladen (20)

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 

Agente Hola Mundo

  • 1. Desarrollo con el INGENIAS Development Kit Agente Hola Mundo Jorge J. Gómez Sanz Dep. de Sistemas Informáticos y Programación http://grasia.fdi.ucm.es
  • 2. Desarrollo de agentes con el IDK El IDK proporciona soporte a la metodología  INGENIAS Metodología: notación + herramientas + proceso +  paradigma UCM, 2003 Agentes Software 2
  • 3. IDK: Generación de código modelo código modelo código SMA de agente código Generador modelo SMA de agente de agente SMA (XML) Completar/Revisar por el programador plantilla de código plantilla de código plantilla de código con XML marcado marcado con XML marcado con XML Específicos de una plataforma Plataforma de agentes (deben reunir los elementos de los metamodelos) Ingeniería del Software Orientada a Agentes 3
  • 4. Sobre el IDK Se basa en un lenguaje para el modelado de SMA  El lenguaje está expresado como un meta-modelo  El lenguaje es un superconjunto de lo que reconoce  el generador de código No todos los elementos son reconocidos para generar el  SMA Se pueden construir múltiples generadores de  código Ingeniería del Software Orientada a Agentes 4
  • 5. Sobre el IDK Está desarrollado en Java  Compatible con versiones superiores a la 1.4  Usa la herramienta ant  http://ant.apache.org  Está desarrollado con código GPL en su mayoría  Librerías para gestión de gráficos  Librerías para persistencia en XML  Plataforma JADE  Los SMA que se generan con IAF están completos al  70% Falta introducir el código correspondiente a las tareas  La coordinación y flujo de control está prácticamente  implementado Ingeniería del Software Orientada a Agentes 5
  • 6. Descargando el software Ir a http://ingenias.sourceforge.net  Saltar a la sección downloads  Descargar la versión IDK 2.7  Descomprimir en la carpeta c:hlocal  Lanzar la consola de ant  Ingeniería del Software Orientada a Agentes 6
  • 7. Estructura general IDK  editor. Contiene el editor visual de especificaciones.  iaf. Contiene el generador de código  workspace. Contiene los diferentes proyectos  Se recomienda crear los proyectos dentro de  workspace, pero se pueden mantener fuera igualmente Dentro de un proyecto hay, entre otras, las  siguientes carpetas src. Contiene fuentes generados manualmente  gensrc. Son los fuentes generados automáticamente  permsrc. Fuentes generados automáticamente y no  regenerados spec. La especificación del problema  Ingeniería del Software Orientada a Agentes 7
  • 8. Creando un proyecto Se abre una consola de comandos  Se abre la carpeta donde se ha instalado el IDK  Se invoca la creación del proyecto con:  Esto creará un proyecto en  c:hlocalIDK2.7workspaceMiProyecto Dentro de este proyecto se crea automáticamente  una especificación ya preconfigurada en la carpeta spec Ingeniería del Software Orientada a Agentes 8
  • 9. Abriendo la especificación Hay que ejecutar el editor con ant runide  La especificación se crea con el editor visual  La creación del proyecto incluye la creación de una  especificación donde están configurados los parámetros de generación de código Ingeniería del Software Orientada a Agentes 9
  • 10. Abriendo la especificación Se elige la opción File -> Load  Vamos a la carpeta c:hlocalIDK2.7workspaceMiProyectospec  Se abre el fichero specification.xml  Ingeniería del Software Orientada a Agentes 10
  • 11. Propiedades de la especificación Definen parámetros para los módulos de  generación Ir a Project -> Properties  Ingeniería del Software Orientada a Agentes 11
  • 12. Creando un agente Crear un diagrama de agentes  Ingeniería del Software Orientada a Agentes 12
  • 13. Definiendo la tarea Definir la tarea con un diagrama de  tareas/objetivos Ingeniería del Software Orientada a Agentes 13
  • 14. Asociando código a la tarea Definir un diagrama de componentes  Ingeniería del Software Orientada a Agentes 14
  • 15. El código de la tarea Las tareas java contienen el código introducido  dentro del componente Ingeniería del Software Orientada a Agentes 15
  • 16. Generando código Seleccionar Modules -> Code Generator ->  Ingenias Agent Framework generator -> Generate La pestaña Logs mostrará el resultado de la  generación Ingeniería del Software Orientada a Agentes 16
  • 17. Ejecutando Ir a la carpeta del proyecto  Abrir dos consolas aquí  En la primera consola  ant runjade  Se ejecuta sólo una vez  En la segunda consola  ant run  El mensaje aparecerá al final  Se verán dos GUIS  El del adminstrador de JADE  El del depurador del IAF del Software Orientada a Agentes  Ingeniería 17
  • 18. Ejecutando II Como alternativa, se puede abrir una única consola  y escribir lo siguiente ant runProdStandAlone Con eso se lanza de forma conjunta un contenedor  JADE y los agentes definidos No se lanza ningún GUI adicional  Útil para despliegues en entornos de producción  Ingeniería del Software Orientada a Agentes 18
  • 19. Definiendo un despliegue Crear un diagrama de despliegue  Ingeniería del Software Orientada a Agentes 19
  • 20. Definiendo un despliegue Ingeniería del Software Orientada a Agentes 20
  • 21. Ejecutando Se regenera el código y se vuelve a ejecutar  El número de opciones para ejecutar aumenta  Hay opciones para  ejecutar el despliegue que acabamos de definir: ant runDespliegueTresAgentes Ingeniería del Software Orientada a Agentes 21
  • 22. Integrando con Eclipse La modificación de  fuentes se puede hacer desde eclipse Creando un nuevo  proyecto JAVA desde los fuentes existentes Ingeniería del Software Orientada a Agentes 22
  • 23. Integrando con Eclipse Las carpetas que deben  configurarse como código fuente son gensrc, permsrc, y src Pulsar con el botón  derecho en una carpeta para ver la opción de agregar al build path Definir la carpeta bin  para los binarios que se generen Ingeniería del Software Orientada a Agentes 23
  • 24. Integrando con Eclipse Ahora se puede trabajar  como si se tratara de JAVA La carpeta gensrc no  debe modificarse, a menos que se alteren tareas La carpeta permsrc  puede modificarse. No se sobreescribirán lo modificado La carpeta src está  gestionada por completo por el usuario Ingeniería del Software Orientada a Agentes 24
  • 25. Modificando una tarea Las tareas se generan en  gensrc/ingenias/jade/components Buscar el nombre de la tarea en cuestión  Las modificaciones hay que copiarlas a mano en el  editor Ingeniería del Software Orientada a Agentes 25
  • 26. Modificando una tarea Si queremos  modificar como en el ejemplo, hay que actualizar el cambio en el módulo Ingeniería del Software Orientada a Agentes 26
  • 27. Advertencia Modificaciones diferentes de insertar código en la  parte indicada de la tarea no pueden gestionarse en la versión actual del generador de código Por ejemplo, si se necesita meter un nuevo método en la  tarea • Si se necesita algo como esto, se recomienda crear estos métodos en clases externas a la tarea Si se usa eclipse, es frecuente que se incluyan  automáticamente imports de clases que se vayan utilizando Los imports no se guardarán en el modelo  Ingeniería del Software Orientada a Agentes 27
  • 28. Configurando Eclipse Para evitar el uso de  imports, hay que modificar las preferencias de Eclipse Menú Window-  >Preferences Para actualizar los  ficheros automáticamente con cada generación de código, hay que activar el refresco automático Ingeniería del Software Orientada a Agentes 28
  • 29. Sincronizando Código y especificación Consiste en asegurar que todo lo que hay en la  carpeta gensrc del proyecto es regenerable desde la especificación Toda modificación realizada al código de las tareas debe  poder subirse al editor Hay una forma más sencilla, pero requiere bajarse  la última versión del IDK. Para ello hay que tener el Subversion instalado. Mirar las transparencias del CodeUpdater  Ingeniería del Software Orientada a Agentes 29