SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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 dwrgarciafjgs
 
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
 
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
 

Semelhante a 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
 

Último

IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 

Último (20)

IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 

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