reporte final age200 integradover2

Upload: pinshi-fabian

Post on 05-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    1/12

    Modificación de IDE de Tesis:”Compilador y Máquina

    Virtual para un Lenguae de !ociedades de "gentes

    #eacti$os”

    Rosa María Gutiérrez1, Juan Pablo García1, Patricia Aparicio 1,Roberto Núñez1

    1 Maestría en Tecnologías de o!puto Aplicado, "ni#ersidad de Tecnol$gica de la Mi%teca,

    arretera a Acatli!a &!' (') *ua+uapan de e$n, -a%', Mé%ico 'P' ./000

    #esumen% l presente traba+o tiene co!o ob+eti#o realizar la !odi2icaciones e incre!entar 

    2uncionalidad al 34 3nAge, co!o reno#ar la inter2az con Ja#a5%, agregar la opci$n de !ulti6

    idio!as, así co!o lle#ar a cabo la si!ulaci$n #isualizada en el 34 a una si!ulaci$n real en un

    robot'

    &ala'ras Cla$e: 78ing, Ja#a5%, ego Mindstor!, e+os N9T, internacionalizaci$n'

    1 Introducción

    En las ultimas décadas se ha visto un gran uso de los agentes inteligentes en

    diferentes áreas de la vida cotidiana. Un agente inteligente es capaz de percibir el

    entorno que lo rodea utilizando sensores y comportarse de manera correcta con la

    ayuda de actuadores. Una clasicación de los agentes inteligentes son los modelos

    reactivos, estos no necesitan conocer el mundo en el que se desenvuelven.

    El presente trabao tiene como obetivo realizar ciertas tareas de tal forma que el

    compilador propuesto en !"# se pueda aplicar a la realidad.

    2 Descripción del Problema

    $o que se espera del presente proyecto es realizar un simulador con caracter%sticas

    que se apeguen más a la realidad, las cuales se describen en los siguiente puntos.

    $as modicaciones propuestas son&

    1' Reno#ar inter2az de usuario usando Ja#a59' Actual!ente la inter2az esta

    :ec:a usando Ja#a 78ing ; se pretende ca!biar Ja#a5% ;a

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    2/12

    @' Generaci$n de c$digo ob+eto del lengua+e Age(000 a e+ecutable e+os? la

    intenci$n es, a partir de la interpretaci$n del c$digo ob+eto generado por el

    co!pilador Age(000, generar c$digo ob+eto del lengua+e e+os ? rear 

    arc:i#os de palabras cla#es para la traducci$n de la inter2az, ; lla!arlas desde un

    !enú para

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    3/12

    entendi$

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    4/12

    (. 3e selecciona el botón +e,... el cual abre una nueva ventana y aparecentres opciones& Classic Eclipse messages class, Direct ResoucesBundel usage,

     ResourceBundle in feld. 'ara este caso se seleccionó la primera opción.

    4. 3e selecciona el botón -nable all, para seleccionar todos los elementos

    que se quieren traducir.

    5. En la pesta6a +-#ID-.messa%es se puede ver la lista de elementos, la

    primera columna son las claves o /e$s que se necesitan para la traducción.

    'ara agregar un nuevo idioma se selecciona +e, locale... que nos permitirá

    escoger el idioma y el 'a%s, en este caso se selecciona el idioma inglés y el

    pa%s Estados Unidos. $a ventaa de esto es que se pueden elegir varios

    idiomas.

    7. Una vez elegido el idioma, se genera un lista, donde la primera columna

    se encuentran las claves para la traducción, la segunda columna es el idioma

    por default 8para este proyecto es el espa6ol9 y la tercera columna es la

    traducción al idioma deseado. 3e debe dear claro que Eclipse genera los

    archivos automáticamente de esta forma, pero se debe hacer la traducción

    palabra por palabra en la tercera columna.

    :. El proceso anterior genera ( archivos, uno que contiene las palabras

    claves en el lenguae por default ;messages.properties”, el segundo

    ;messages_en_US.properties< que contiene las palabras claves con su

    traducción y el tercero messages.java que es la clase que manda a llamar los

    archivos .properties.

    =. Una vez que se tienen los archivos .properties se genera un men> ?dioma

    en la interfaz gráca para las opciones espa6ol e inglés de la interfaz. $as

    funciones que implementa el men> están en ?@EA'anatalla.ava.

    B. El men> de traducir a inglés y a espa6ol utilizan la función

    cambiar?dioma89 descrita en ?@EA'antalla.ava, donde se llama la palabra

    clave para cada botón de la interfaz gráca.

    ". Una vez realizado estas tareas se ha logrado la internacionalización de la

    interfaz gráca.

    Para la traducci$n del co!pilador se cre$ una 2unci$n

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    5/12

    compilador, en otro caso marcara error. $as palabras que no aparecen en la lista como3EC3D y motor es porque su traducción es la misma.

    &ala'ra

    i d i o m a p o r

    default

    &ala'ra

    traducida

    &ala'ra idioma

    por default

    &ala'ra

    traducida

    accion action a#anza !o#e

    conducta conduct entero int

    entonces t:en 2in end

    2inAccion endAction 2inAcciones endActions

    2inonducta endonduct 2ino!porta!iento ende:a#ior  

    deci!al 2loat gira4er turnRig:t

    gira3z< turne2t :acer do

    inicio star !ientras 8:ile

    otro else repite repeat

    retrocede bacC solicita solicit

    si i2 luz lig:t

    te!peratura te!perature #eces ti!es

    ca!inar 8alC agente1 agent1

    agente( agent( e#itarHobstaculos a#oidHobstacle

    sociedad societ; agente agent

    2inAgente endAgent sensorH2rente sensorH2ront

    2in7ociedad end7ociet; co!porta!iento be:a#ior  

    tactil tactile sensorHluz sensorHlig:t

    darHunHpaso stepH2or8ard gira turn

    'or >ltimo se hace la traducción de cada mensae de error o 1arnings que genera lainterfaz debido a un codigo erroneo. Esto se hace de forma manual, utilizando unacondicional 8if9, si el idioma esta en espa6ol los errores o 1arnings se muestran enespa6ol, si el idioma esta en inglés estos se muestran en inglés.

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    6/12

    4.3 0eneración de códi%o objeto del len%uaje a ejecutable en ejos

    7e obtu#o el so2t8are de e+os de la pgina o2icial' a instalaci$n se realiz$ en

    e

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    7/12

    después de resol#er algunos proble!as de los cuales #ale la pena !encionar ;compilar en $eos< ubicado en el men>

    compilar que al presionarse inicializa la traducción del código obeto del *ge+,

    también cuenta con un botón en la barra de herramientas para este mismo n.

    F 'ara que las opciones de compilar en $eos se activen, es necesario que se compile

    primero el código fuente del *ge+, esto para que no haya problemas de código

    fuente antiguo u otros posibles problemas de lectura, además como el usuario va a

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    8/12

    compilar su programa con el compilador *ge+, se tendrá el código correcto en elcódigo obeto a leer.

    F Huando se traduce, el programa genera una carpeta por cada agente denido con el

    nombre ; *genteCmero de agente. En cada carpeta se genera el

    codigo fuente . java que corresponde al agente, es decir este archivo contiene todo el

    comportamiento del agente C, y también se genera el archivo .nJ8uno para cada agente9,

    que contiene los archivos obeto .class correspondientes.

    F El archivo .nxj   es el que debe cargarse al $ego -indstorm desde el s%mbolo del

    sistema8como se indico anteriormente9, para lo cual se debe tener instalado el $eos.

    Para lograr la traducci$n al c$digo ob+eto para ego Mindstor!, en el c$digo 2uente

    solo se e#alúa? para el sensor tctil es 2also=No est presionado> ; #erdadero=est

     presionado> ; sensor luz es por intensidad ' No se utiliza el sensor te!peratura por

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    9/12

    2uncional del 34

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    10/12

    7e logr$ el prop$sito de lle#ar la si!ulaci$n #isualizada en 3nAge a una si!ulaci$n

    2ísica en ego Mindstor!, se si!ula cada uno de los agentes por separado' 4entro del

    lengua+e Age(000 se encuentran de2inidos @ sensores, tctil, luz ; te!peratura, de los

    cuales el sensor de te!peratura no se pudieron probar por

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    11/12

    ?QProgra! 5ilesQJa#aQ+dC1'B'0H.0QbinL ar 3c$fm

    ?Q"serQno!"suarioQ4esCtopQe+ecutable'+ar

    ?Q"serQno!"suarioQ4eCstopQ34QMTA63N5QMAN357T'M5 3C

    ?Q"serQno!"suarioQ4esCtopQ34Q %

    on esto , desde un inicio,

    el 4r' arlos Alberto 5ernndez sugiri$ utilizar algún controlador de Oersiones para

    a#anzar en con+unto ; cu!plir en tie!po con la entrega, situaci$n

  • 8/16/2019 Reporte Final Age200 IntegradoVer2

    12/12

    @' 4ea ,,*ecCler G', Pereda J' et al' Ja#a59 B 3ntroduction b; %a!ple' "7A'Apress

    (01D :ttps?docs'oracle'co!+a#a2%(s8ing+2%pub6s8ing':t!' 5ec:a de consulta? . de

    nero (10.'

    D' Anon' (01)' -racle En lineaF A#ailable at? :ttp?docs'oracle'co!+a#aseB+a#ase6

    clienttec:nologies':t!

      )' clipse docu!entation6Arc:i#ed Release, clipse Juno'  onsultado en 5ebrero

    (01.'

    :ttp?:elp'eclipse'org+unoinde%'+spStopicK(5org'eclipse'8b'doc'userK(5:t

    K(52eaturesK(5internationalization':t!l'

    https://docs.oracle.com/javafx/2/swing/jfxpub-swing.htmhttp://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.wb.doc.user%2Fhtml%2Ffeatures%2Finternationalization.htmlhttp://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.wb.doc.user%2Fhtml%2Ffeatures%2Finternationalization.htmlhttp://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.wb.doc.user%2Fhtml%2Ffeatures%2Finternationalization.htmlhttp://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.wb.doc.user%2Fhtml%2Ffeatures%2Finternationalization.htmlhttps://docs.oracle.com/javafx/2/swing/jfxpub-swing.htm