You are on page 1of 14
1 1] Revista inge-CUC / Vol. 6 - No. 6 / Octubre 2010 / Barranquilla - Colombia /ISSN 0122-6517, o—____ °° ° SISTEMA DE TRADUCCION DE COMANDOS DE CISCO A AVAYA® = Por: Darwin Ramiro Mercado Polo™ Fecha de reibido: I dejo de 2010 + Fecha de aceptacén: 30 de rptiombre de 2010 RESUMEN: Es especialmente relevante para la formacién de los ingenieros de sistemas y profesionales de ‘carreras afines, adquirir las competencias relacionadas con la configuracin de dispositives de Alfabeto ab" + Expresién regular El lenguaje correspondiente a la expresién regu- lar a. L(a).L*(b) cada uno representa su conjunto, entonces, L@).L*(b)={a}.{b}*, luego se desarrolla la cerradura de Kleene de Figura 2. Programa fuente Analizador léxico {b}*={ © ,b,bb,bbb,....}_concatenado da como resultado {a}.{b}*= {a, ab, abb, abbb, abbbb, Este lenguaje regular corresponde a la ex- presién regular ab’. 4, ANALISIS SINTACTICO El analizador sintéctico tiene como funcién ob- tener una cadena de componentes Iéxicos del analizador léxico como se muestra en la figura 2y ademés comprueba si la cadena puede ser generada por la gramética del lenguaje fuente. El analizador debe informar de cualquier error sin- ‘téctico que se presente de manera inteligible’ Como muchos de los lenguajes de programacién tienen una estructura inherentemente recursiva entonces se pueden definir mediante Gramética Independiente del Contexto (GIC). Esta gramé- tica tiene una gran facilidad para resolver lengua- jes regulares y no regulares. 4.1. Gramatica independiente del contexto ‘© Gramatica BNF (Forma Backus-Nour)* 1. Terminal: Simbolo bésico a partir del cual se pueden formar las cadenas, ejemplo: una le~ tra, palabra reservada, *, etc. 2. No terminal: Es una variable sintéctica que puede ser sustituida por una tert presién u otra variable sintéctica osicién del analizador sintdctico en el traductor Componente Léxico Arbol de andlisis Analizador sintactico Sintactico Obtener Componente Léxico 44 ABO, A.V; SETHL R y ULLMAN... Complore: Prncp, ses y herariens, Wiingon, elaware: Adon: Wesley Ieroumercana SA. 1390 plot 5. KENNETH, LC Cansrcande Complies frnepory price. Mo: Thomson ears, 2004p. o ©2010 i Ce) @ -———_141 3. Simbolo inicial: Es un simbolo no terminal a partir del cual se origina la gramitica. 4, Produccién: Expresién que asocia termina- les y no terminales. 4.2. Analizadores sintacticos* Existen varios tipos generales de analizadores sintécticos para graméticas como los métodos universales Cocke-younger-Kasami y el de Ear- ley, estos métodos son muy ineficientes para usarfos en la produccién de compiladores. Los mas empleados se clasifican en descendentes y ascendentes. La funcién principal de estos analizadores sin- tdeticos consiste en examinar la secuencia de tokens entregados por el analizador léxico y ve- rificar si es sintacticamente correcta mediante Ia obtencién del arbol de derivacién asociado a dicha secuencia, 4.2.1, Analizador sintdctico descendente + Son tlamados predictivos y orientados hacia Un fin, debido a la forma en que trabajan y construyen el érbol sintéctico. + Construyen al arbol sintactico de la sentencia a reconocer de una forma descendente co- menzando por el simbolo inicial o raiz, hasta llegar a los simbolos terminales que forman la sentencia. ‘+ Trabaja con la gramética LL((). 4.2.2. Analizador sintdctico ascendente ‘Trabaja la gramatica LR. Donde: > R: Derivacién derecha (derecha inverti= da). > L:Evaluacién de izquierda a derecha. + También trabajan con las siguientes graméti- «as, que son mejoras de la anterior: grama- tica SLR y gramatica LALR. | GYSIELGUNS. - Revista de te Facultad de Ingenieria, > SLR: LR sencilo. > LALR: LR con anilisis anticipado. En el desarrollo de este traductor se utiliza una sgramatica LL, ya que es la gramatica que utiliza Javacc en el proceso de traduccién. 4,3. Gramatica LL’ La gramética LL permite construir de manera automitica analizadores sintécticos predictivos. La ventaja se debe al hecho de poder construir manualmente analizadores sintdcticos eficientes con mayor facilidad Esta gramética utiliza un andlisis sintéctico pre- dictivo en el que el simbolo de pre-andlisis de- termina sin ambigiiedad el procedimiento selec- cionado para cada no terminal. La gramatica necesita para su proceso predictivo tuna gramatica muy elaborada, es decir no debe tener ambigliedad, ni recursividad por izquierda, ni factorizable por izquierda. 5, ANTECEDENTES DE TRADUCTORES. En la actualidad existen muchos manuales para aprender y aplicar los comandos de la plataforma CISCO y AVAYA, sin embargo no existen pro- ‘gramas que ensefien la traduccién de una plata~ forma a otra. En algunas consultas realizadas en medios digitales y bibliograficos no se pudieron encontrar antecedentes de este tipo de traduc- tor. Se encontré una traduccién de comando de CISCO denominado NAT (Network Address Traslation) y PAT (Port Address Traslation)*. NAT (Network Address Traslation) él permite acceder a Internet traduciendo las direcciones privadas en direcciones IP registradas. Incre- ‘menta la seguridad y la privacidad de la red lo- cal al traducir el direccionamiento interno a uno externo. 4. ANUGANELLO. , log CCNA Arend Res en ww prerrde com KENNETH, LC. Certucan de Compledes Prrcbery pcice. Mica: Toman etre. 2004 5.34 ‘AHO, A.V; SETH, Ry ULLMAN.) D.Complaore: Png, hens yharamarne Wimngron, Osawa: Adon: Was beoamarcaa a 1 Revista inge-CUCVol.6-No. 6 / Octubre 2010 Baranguila- Colombia ISSN 0122-6517 IX PAT (Port Address Traslation): Es una forma de NAT dinamica que asigna varias direcciones IP internas a una sola externa, PAT utiliza néme- ros de puertos de origen tinico en la direccién global interna para distinguir entre las diferentes traducciones. 5.1. Plataforma CISCO y AVAYA Cisco Systems es una empresa multinacional ubicada en San José (California, Estados Unidos), principalmente dedicada a la fabricacién, venta, mantenimiento y consultoria de equipos de tele- ‘comunicaciones tales como: + Dispositivos de conexién para redes informa- ticas: routers (enrutadores, encaminadores o ruteadores), switches (conmutadores) y hubs (concentradores); + Dispositivos de seguridad como Cortafuegos y Concentradores para VPN: + Productos de telefonia IP como teléfonos y el CallManager (una PBX IP); + Software de gestién de red como CiscoWor- ksy + Equipos para redes de érea de almacenamien- to. Actualmente, Cisco Systems es lider mundial en soluciones de red e infraestructuras para Inter- net’ Avaya Inc. Es una empresa privada de teleco- municaciones que se especializa en el sector de la telefonia y centros de llamadas. Fue el provee- dor oficial de comunicacién convergente de la ‘Copa Mundial de Clubes de la FIFA 2006. Tam- bién proporcioné las redes de comunicaciones de la Copa Mundial de Fiitbol 2002 y la Copa Mundial Femenina de la FIFA en 2003", 6. JAVACC (JAVA COMPILER COMPILER- METACOMPILADOR EN JAVA) Es el principal metacompllador en Javacc, tanto Por sus posibilidades, como por su ambito de di: fusi6n, Se trata de una herramienta que facilita la construcci6n de analizadores léxico y sintactico por el método de las funciones recursivas, aun- que permite una notacién muy relajada pareci- da a la BNF (abreviatura en inglés de Forma de Backus-Naur). De esta manera, los analizadores generados utilizan la técnica descendente a la hora de obtener el arbol sintéctico!’. En 1996, Sun Microsystems liberé un parser llamado Jack. Los desarrolladores responsables de Jack crearon su propia compafia llamada Me- tamata y cambiaron el nombre Jack a JavaC. ‘Metamata se convirtié en WebGain. Después de que WebGain finalizara sus operaciones, javaCC. se trasladé a su ubicacién actual”. Sus principales caracteristicas son”? Laestructura basica de un programa en Javacc es como aparece en la figura 3. 7. TRADUCCION CISCO Y AVAYA 7.1, Comandos de cisco seleccionados para la traduccion Para efectos de traduccién se escogié una mues- tra representativa de los comandos mas impor- tantes de CISCO que pueden ser traducidos a AVAYA. Estos comandos fueron probados cialmente con un simulador para asegurar que las funciones realizadas por los comandos de las. dos plataformas son iguales o similares. También se tuvo en cuenta el modo de operacién de cada comando. 9. Chco canon exwitpda crue To. AVAYAn wiped rpnkiue 1H. GALVEZ, Sy MORA.PLA. 2009, Compitdorer:Traducoresy compitdres con Lance y ace, Unvanida de Mg p31. Corsado en tnt bock gong com clbootsd=FIVLsITAMCRpriaec-HortzoverBPPATSL. I 12. Conatado en bpen peda orphance 1D. GALVE?, Sy MORAM'A (04), Complore: Tradoorey: tr pala goglcom cafes =FaWisl AMC Epc adres con Lexy nace Urs de Mag. pp 131-132. Connsado ©2010 Ce) [GEL GUIS. - Revista de te Facultad de Ingenieria »~—— Figura 3. Estructura de un programa en Javacc'* ibaa nantes ~~ empiajee F ayemptacan 2 emp oGanane: Spices I jonploTokeranmgerie ‘enploTalehtanget clan | reer pope Singuchsvean cam | id Stacie “enter a etapa ye Sroistuesucaine rene La siguiente es la lista de los comandos més re-_na con los comandos de AVAYA hacia los cuales presentativos y susceptibles a ser traducidos. En va dirigida la traduccién y una columna de des- ‘esta tabla se presenta una columna con los co- _cripcién que indica la funcién de cada comando y mandos de CISCO a ser traducidos, una colum- el modo de operacién. cisco AVAYA DESCRIPCION Ping Ping Envi una peticin de eco para diagnosticar la co- nectvidad bisica de re. Show clock Show time Muestra a hora y fecha del equipo. Show ip route ‘Show ip route Muestra el contenido de la tabla de enrutamiento P. Exit Ext Salir de linea de comands. Copy tftp lash Copy ttp module-config | Descarga una nueva imagen desde un servidor ‘TETP enta memoria Flash, en AVAYA la descarga a un médulo de los del dispositive Show interfaces [Spo Numero] | Show interface Muestra estadistcas para laf interfaces indicadas Show arp Show cam Muestra la asignacion de direcciones IP a MAC a interfaz dl router, Show interfaces Show port Muestra las interfaces - Puertos del dispostvo ‘#an database Clear Vian Bora una Vian. ‘#0 vlan [No dela Vian} Show vlan Show vlan Muetra una Vian ‘Wien database Set van ‘Crea una Vian en el dispositive, #vlan [No. de la Vian] name Modo Cisco: modo via [Nombre de la ian} 1H. GALVEZ, Sy MORA HA. (008), Complore: Tauorey compares con Leary Jace UnveiaddeMalgn. .14, Conmado a wt booka google com cloak = aL TAMCAprintc rotor #PPATDIT Y a 1 Ravistainge-CUC/Vol.6-No. 6 Octubre 2010 Baranguila- Colombia ISSN 0122-6517 [- ©2010 cisco AVAYA DESCRIPCION ‘interface [Tipo de interface] | Set port van [Puerto NofModulo] #switehport access vlan [No. Maar] ‘Asigna un puerto a una Vian en particular Modo Cisco: configuracién terminal interface [Tipo de interface] | Clear port static-van [No. Puerto/Modulo} Aswitchport access vlan [I=Puerto por defects) Borra un puerto de una Vian en particular Modo Cisco: configuracién terminal ‘show spanning-tree ‘Show spantree 8. METODOLOGIA UTILIZADA EN LA TRADUCCION Para el reconocimiento de los comandos se uti- lizaron los lenguajes formales y gramética. Los lenguajes formales permiten identificar cada uno de los componentes o elementos individuales de cada comando. Mediante las expresiones regula- res se especifican las reglas que permiten deter- minar la escritura de los comandos y la abrevia- cin que lo representa asi. Si el usuario desea escribir en la plataforma CIS- CO el comando Show clock. Lo puede escribir en forma completa o abreviarlo asi: Sh cl y el traductor lo reconocera y realizaré su respectiva traducci6n. También se tienen definidas todas las palabras reservadas. Por otro lado, se utiliza la Gramética Indepen- diente del Contexto cuando se desea reconocer una estructura sintactica. Por ejemplo: #Vlan database #vlan [No. de la Vian] name [Nombre de la vlan] Para estos casos se realiza una Gramética inde- pendiente del Contexto que permite identificar y reconocer toda la estructura gramatical repre- sentada por la especificacién de la plataforma CISCO. En la figura 4 se indica el procedimiento utilizado en la traduecién. Figura 4. Procedimiento de traduccién comandos ‘CISCO a AVAYA, Comandos de cisco Analisis Lexico Componentes léxicos: reconocido: Estructura reconocida ‘Comparacion de comandos Comandos identificados | Traduccion Comandos | enAVAYA y Luego del reconocimiento léxico y sintéctico se procede a realizar la comparacién de cada pala- bra reservada en CISCO con cada palabra reser- vada en AVAYA y por tiltimo se hace la traduc- cién a los comandos en AVAYA. o \ Ce) oO -———_141 9. RESULTADOS 9.1, Expresiones regulares y gramaticas in- depedientes del contexto utilizadas en el traductor Para el reconocimiento de componentes se uti- lizaron las expresiones regulares y para el reco- nocimiento de la estructura gramatical se utiliz6 tuna gramatica independiente del contexto. Ejemplos: ‘Comando Show clock. Las expresiones regula- res en JavaCC son: < SHOW: ("8/5") (R" IB") (("0"|"0") (ow 1"W")) 2)? > En esta expresion regular se determina la forma cémo se puede escribir show, la cual puede ser abreviada sh, sho 0 en forma completa show, también puede ser en maydscula 0 mindscula. En esta ‘expresién regular se determina cémo se puede escribir clock la cual puede ser abreviada cl, clo, cloc 0 simplemente en forma completa clock. ‘También se controla que puede ser mayiscula ‘0 mindscula, < BOL: Syn | Nr | \r\n > La gramitica que permite establecer el orden légico y significative de los componentes es la siguiente: oid Tt) yoTO La gramética anterior equivale a la produc Y=YT donde Y y T son no terminales. Y y T se definen como sigue: void 0. ( 5()) | GYSIELGUNS. - Revista de te Facultad de Ingenieria, a La gramatica anterior equivale a la producci6n Y SHOW B donde show es una expresién regu- lar definida anteriormente y B es un no terminal definida como sigue: void BQ) { { ( ) ( | ) { System. out-printin ("Show clock"); ) } B es un no terminal que puede ser CLOCK def- nida anteriormente o simplemente nada. Otro ejemplo para la aplicacién de las expresio- nes regulares y gramaticas es: Vian database no vlan [Ne de la Vian] Expresiones regulares permite abreviar vi, via o simplemente vlan Paxmite abreviar da, dat, data, datab, data- ba, databas o simplemente 1a palabra < EOL | Xr" | M\r\n" > Final de linea < NUM: ([S172"9") ()+ | [92"= ory) OS LN | Nn OME) > Némeros que empiezan con digitos del 1 al 9 y contintan digites. | < ONE: “1” > Define al ol Gramitica Independiente del Contexto void HQ) :AN> ) () 1 Revista inge-CUCVol.6-No. 6 / Octubre 2010 Baranguila- Colombia ISSN 0122-6517 IX La no terminal H referencia la palabra reservada VLAN concatenada con DATABASE y luego se concatena con una terminal I que se define como sigue: (_ ( | ) ) ( | System, out.print1n ("Clear Vlan"); } } La no terminal referencia las palabras reservadas NO VLAN seguida de NUM y ONE que son ex- presiones regulares definidas anteriormente. 9.2. Ejemplo del traductor El traductor funciona de la siguiente forma. Ini- cialmente al entrar al programa se presenta la Figura 5. Teaduccién de oman india Traductor Cisco To Avaya ie Avaya ventana principal que consta de dos éreas: drea | (area izquierda) donde se ingresan los comandos en CISCO que se desean traducir, estos coman- dos pueden digitarse individualmente (ver figura 5) 0 colocarlos uno debajo del otro (ver figura 6). El rea 2 (area de la derecha) contiene donde apareceran los comandos en AVAYA producto de la traduccion, El traductor tiene la particularidad de recono- cer e identificar los comandos de CISCO con solo escribir las iniciales de cada componente. Por ejemplo si desea traducir el comando show dock, solo puede digitar sh cl él lo reconoce- 4 e inmediatamente lo traduciré a su comando respectivo en AVAYA como se puede ver en la figura 7 También el traductor esté en capacidad de tra- ducir comandos que ocupan mas de una linea como se puede ver en la figura 8. Figura 7. Simplificacién de los comandos a tradu A Traductor Cisco To Avaya = 5 a 3 Avaya a “Traduecién de varios comandos Traductor Cisco To Avaya Figura 8. Comando de mi: ie Traductor Cisco To Avaya ©2010 ay ce) 10 Es importante tener en cuenta que el traductor realiza un andlisis léxico y sintéctico antes de realizar la traduccién, de manera que cualquier error que se presente desde el punto léxico y Gary sintéctico seré reportado para su respectiva co- rreccién. Hasta que no se realice la correccién no se podré realizar la traduccién. En la figura 9 ‘se muestran los comandos a traducir y en la figu- ral0 se muestran el mensaje de error indicando la posicién muestra donde se produjo. ‘Traductor Cisco To Avaya Figura 10. Comando de mas de una linea Mensaje ‘Se encontio™ "\in at tine 2, con ‘Se esperaba: UN. oO -————_1 [GEL GUIS. - Revista de te Facultad de Ingenieria »~—— 10, CONCLUSIONES Y TRABAJOS FUTU- ROS Se espera que este proyecto genere un gran im- acto sobre todo en los docentes y estudiantes de las asignaturas de Redes ya que seré una he- rramienta de apoyo en el proceso de ensefianza- aprendizaje de la asignatura de Redes. Ademis seré de gran importancia para el fortalecimiento de las capacidades cientificas y tecnolégicas de los estudiantes. También, seria un gran aporte para todos aquellos profesionales del area que realicen operaciones en una de las dos platafor- mas y quieran emigrar hacia la otra. Por otro lado, mediante este software los estu- diantes y profesionales podrian realizar compa- raciones entre las dos plataformas. Si cuenta con las dos plataformas podria pasar los comandos de CISCO a AVAYA de forma répida y segura, y si solo cuenta con la plataforma CISCO se utili- zaria de forma didactica para ensefiar fa analogia entre las dos plataformas. De este trabajo se pueden plantear trabajos a corto y mediano plazo como crear un traductor de AVAYA a CISCO permitiendo de esta mane- ra tener un traductor en dos vias. Este no seria un simple aporte didéctico sino también desde el punto de vista laboral ya que los ingenieros 0 personas encargadas de manejar las dos plata- formas contarian con un software de soporte de ‘gran ayuda en el proceso de reconocimiento y traduccién de un comando a otro. 1 Ravistainge-CUC/Vol.6-No. 6 Octubre 2010 Baranguila- Colombia ISSN 0122-6517 [- II, BIBLIOGRAFIA. AHO, A. V.; SETHI, R. y ULLMAN, J. D. (1990) (Compiladores). Principios, técnicas y herramientas. Wilmington, Delaware: Addison-Wesley Iberoamericana S. A. pp. 1-5. ARIGANELLO, E. Blog CCNA Aprende Redes en www.aprenderedes.com BROOKSHEAR, J. G. y PEAKE, E. M. (1993). Teoria de la computacién: lenguajes formales, autématas y complejidad. Addison-Wesley. p. 110. GALVEZ, S. y MORA, M. M. (2004, Mar). Compiladores. Traductores y compiladores con Lex/yacc y JavaCC. pp. 127-134. Disponible: http://books.google.com.co/bookstid=F3WLs|iTAMC&printse c=frontcover#PPAI31,MI KENNETH, L. C. (2004). Construcciéin de compiladores. Principios y practica. México: Thomson Edi- tores. pp. 31-35. LEMONE, K. A. (1996). Fundamentos de compiladores: Cémo traducir al lenguaje de computadora México: Compaiia Editorial Continental S. A. MARTIN, J. (2004). Lenguajes Formales y teoria de la Computacién. Editorial McGraw-Hill. pp. 12- 25 RODGER, S. H. y FINLEY, T. W. (2006, agosto). Tutorial de lap Disponible: http://www.jflap.org/ tutorial! RODRIGO, D. K. (2004). Teoria de la Computacién: lengugjes, autématas y graméticas. Colombia: Unilibros. pp. 17-20. SANCHEZ, G. y VALVERDE, J. A. (1989). Compiladores ¢ intérpretes. Un enfoque pragmatico. Edi- ciones Diaz de Santos. pp. 48. TEUFEL, B.; SCHMIDT, S. y TEUFEL, T. (1993) (Compitadores). Conceptos fundamentales. Addison- Wesley Iberoamericana. pp. 10-15. www.es.wikipedia.org/wiki/JavaCC www scribd.com/doc/99776/IntroduccionAjavaC www geocities.com/raptware/javacc/index.html www.cs.duke.edu/esed/jflap http://es.wikipedia.org/wiki/Lenguaje_formal o ©2010 {Czas 2010 VS -——————_4 | GYSIELGUNS. - Revista de te Facultad de Ingenieria, Pagina Oficial JavaCC, en https:/fjavace.dev java.net! Documentacién JavaCC en https:/javacc.dev java.net/doc/docindex.htm! Tutorial JavaC, en hetp://www.geocities.com/raptwareljavace! C50 ji P: ee pt i hetp:/iwww javaworld.com/javaworld/jw-2-1996/jw- 12-jack.html http://www javaworld.com/javaworld/jw-12-2000/jw- 1229-cooltools.htm! Expresiones regulares en Javace en hetp:/iwww geocities.com/raptware/javacc/Capitulo2.html hetp:liwww.rpi.edu/ hetp:/iwww.duke.edu/ http://trevinca.ei.uvigo.es/~formella/doc/talf05/talf/node42.html isco systems en es.wikipedia.org/wikilCisco

You might also like