Title: Diapositiva%201
1DOCTORADO EN PROGRAMACIÓN DECLARATIVA E
INGENIERÍA DE LA PROGRAMACIÓN
Especificación y verificación de routers software
(12 Créditos)
J. Guadalupe Ramos Díaz
DSIC-PLIS-ELP-MIST
Tutor Dr. Germán Vidal
2Agenda
1. Currículum 1.1 Formación 1.2 Materias
impartidas en México 1.3 Participación en
proyectos 1.4 Ponencias en Congresos
Nacionales 2. Docencia 3. Investigación 3.1
Definición de router 3.2 Objetivo 3.3
Anotaciones 3.4 Especificación de circuitos 3.5
Lenguaje anfitrión 3.6 Solución 4. Conclusiones
5. Trabajos futuros 6. Plan de trabajo
31. Currículum Formación
- Maestría en Ciencias Computacionales
- I. T. León (1998)
- Adiestramiento en Investigación Tecnológica
- Instituto de Investigaciones Eléctricas
(Cuernavaca, México, 1995) - Ingeniería en Sistemas Computacionales
- I. T. Morelia (1994)
41. Currículum Materias impartidas
- Programación
- Programación de sistemas
- Programación para Internet
- Administración de archivos
- Redes de área local
- Sistemas abiertos
- Tópicos de redes
- Teleproceso
- Graficación
51. Currículum Proyectos de ID
- Sistema de graficación para QNX
- Instituto de Investigaciones Eléctricas
- Asesor de proyectos de creatividad en etapas
nacionales - Servidor genérico P2P
- Sistema de monitoreo y control remoto por
Internet - Aplicaciones P2P
61. Currículum Ponencias en Congresos Nacionales
- Intermediario para sistemas de información
distribuida - Congreso de Ing. en Sist. Computacionales e
Informática (I.T.Tuxtla Gutiérrez, Chiapas)
CISCI02 - Propuesta de middleware para aplicaciones P2P
- Simposium Intertecnológico de Ciencias
Computacionales SICI01 - Servidor genérico para aplicaciones P2P
- 1er. Congreso Nacional de Calidad en la
Educación Superior Tecnológica CNCEST00
72. Etapa de Docencia
Materia Créditos
Ingeniería de requisitos O.O. 5
Bases de datos avanzadas 4
Tecnología software para ambientes web 5
Fundamentos lógicos de la Ingeniería de Software 4
Ingeniería de Software automática 4
83. Investigación Definición
93. Investigación Definición
Existen dos tipos Spalink et al., 2001
- Ejecución en un PC
- Enchufes Decasper et al. 1998, ETH Zurich U.
Washington - Scout Peterson et al. 1999, U. Arizona, U.
Princeton - Click Kohler et al. 1999, MIT
- Ejecución en un PC Procesador de Red
- VHDL FPGA Lee et al. 1999, I.P. Virginia
- Intel IXP1200 Ensamblador Spalink et al.
2001, U. Princeton - NPClick Intel IXP1200 Shah et al. 2003, U.
Berkeley
103. Investigación Objetivo
- Ventajas claras de los routers extensibles (tema
actual) respecto a los routers hardware - Actividad crucial en una red ? Click debería
tener un entorno para especificación y
verificación de routers software, etc. No lo
tiene!
- Objetivo Desarrollar un lenguaje de dominio
específico sobre un lenguaje declarativo
(multi-paradigma) para la especificación y
verificación de routers Click
113. Investigación Anotaciones
- No existen antecedentes en la literatura del uso
de un lenguaje declarativo para la especificación
de routers software - Existe un campo relacionado especificación y
verificación de hardware - Explotamos la relación circuitos lt-gt grafos Click
Un lenguaje declarativo empotrado es una librería
que se incorpora a un lenguaje ya existente
Librería Lenguaje de dominio específico
123. Investigación Especificación de circuitos
- Especificación del lenguaje empotrado Lava
Claessen, 2001 - Apoyado por Xilinx Inc.
halfAdd (a, b) (sum, carry) where sum
xor (a, b) carry and (a, b)
133. Investigación Especificación de circuitos
- Especificación del lenguaje empotrado Hawk
Matthews, et al., 2000 - Apoyado por Intel Inc.
sham1 (cmd, destReg, srcRegA, srcRegB)
(destReg, aluOutput) where (aluInputA,
aluInputB) regFile srcRegA srcRegB(destReg,aluO
utput) aluOutput alu cmd
aluInputA aluInputB aluOutput
delay 0 aluOutput destReg
delay R0 destReg
143. Investigación Lenguaje anfitrión
Curry
Permitirá adaptar inmediatamente Lava y Hawk
- Curry es una extensión conservativa de Haskell
(base de Lava / Hawk) con características de la
programación lógica
Proporciona el entorno apropiado para practicar
verificación, simulación y análisis
- Curry lógica funcional concurrente
distribuida OO multi-paradigma
153. Investigación Solución
Caso Simple
type Packet Char
FromDevice(eth0)-gtPrint (Paq)-gtDiscard
fromDevice Int -gt Packet fromDevice _
newPacket
print (String, Packet) -gt Packet print (s, px)
let p spx
in p
Conector de orden superior (fromDevice -gt-
discard) 1
discard Packet-gtInt discard p 0
(-gt-) (a-gtb) -gt ( b-gtc) -gt a -gt c (element1
-gt- element2) inp let
mid element1
inp
in element2 mid
163. Investigación Solución
Caso a modelar
Principal problema propio a un routerLa
conexión funciones? o conectores? o
condicionales?
173. Investigación Solución
router pkin out where
(pk, pto)
classifier pkin pk2 if pto2 then
paint pk 2 else GOTO . . .
- Características
- Problema de salidas múltiples y condicionales
- Poco declarativo
- En Click no hay condicionales
183. Investigación Solución
194. Conclusiones
- Los routers extensibles son un tema de actualidad
que madurará y en el que Click sobresale - La especificación y verificación formal son de
gran importancia para las empresas de hardware y
ya hay esfuerzos basados en el uso de lenguajes
declarativos. Curry podría tener un lugar
ventajoso gracias a sus características
multi-paradigma - Se han comprobado las ventajas de escribir un
lenguaje empotrado con respecto la creación de un
lenguaje nuevo (con intérprete, compilador,
herramientas de verificación . . . )
205. Trabajos futuros
- Enlazar nuestro lenguaje con Click Traductor de
especificaciones Curry a Click - (colaboración con E. Kohler, MIT)
- Especificar los 242 elementos Click
- Definir e implementar técnicas de análisis,
verificación, etc. (concretas al dominio del
problema) - Propiedades de un router
- No puede haber ciclos infinitos, verificar que a
una entrada hay una salida, excepto con paquetes
vencidos - El paquete sólo puede ser modificado en ciertos
campos - Para todo paquete debe haber una ruta de
encaminamiento, etc.
216. Plan de trabajo
- Publicación PROLE03 (Terceras Jornadas sobre
Lenguajes de Programación ) - TESIS Especificación (presente) Y verificación
(futuro) de routers software - Metodología de trabajo
- Contacto regular vía email
- Visita a la UPV
- Asistencia a congresos
- Proyecto de ID centrado en el tema
22