Vous êtes sur la page 1sur 12

Voto Electrnico en Per?: Incrementando la Confiabilidad mediante la aplicacin de Especificaciones Formales.

Juan Carlos Loaiza Valdeiglesias1 Elizabeth Vidal Duarte 1

1Universidad Catlica San Pablo jloaiza@ucsp.edu.pe, evidal@ucsp.edu.pe Resumen Motivados por las recientes elecciones y sobre todo por posibles fraudes electorales en elecciones Peruanas (en cuanto a los tiempos para publicar los resultados), han surgido opiniones que piden impulsar sistemas de votacin electrnica o telemticas en el pas, incluyendo en ese trmino un amplio rango de alternativas, que llegan incluso hasta la votacin va web. Este trabajo presenta una visin de las diversas tecnologas existentes hoy en el mundo que ayudan a automatizar los procesos electorales, as como una propuesta en cuanto a seguridad que deberan tomarse en cuenta para cualquier nuevo sistema de votacin, que decida implementarse en nuestro pas.
1.

Introduccin.

En el sistema electoral peruano las elecciones se realizan con bajas tasas de reclamos o fraudes comprobados, gracias a la amplia experiencia democrtica que ya posee el pas. En Per se usa el sistema de cdula nica de sufragio, en donde el elector marca su preferencia de voto entre una lista de candidatos impresa en una cdula de papel entregada por el Jurado Nacional de Elecciones, sistema que corresponde a lo que se conoce internacionalmente como voto secreto australiano. El voto secreto australiano comenz a ser adoptado en Estados Unidos a partir de 1888 [Jones, 2003]. El proceso de votacin actual en Per se realiza manualmente, libros de registro escritos a mano y votos en papel, involucrando a una gran cantidad de miembros de mesa. El escrutinio de cada mesa se realiza en pblico (miembros de mesa y personeros), voto a voto y a viva voz, lento, pero tambin bastante confiable. Los resultados de cada mesa son registrados no solo por el sistema oficial de escrutinios, sino tambin por los representantes de los distintos partidos. La recoleccin de los resultados de estos escrutinios, hace uso de un sistema computacional, que permite que en pocas horas tras el cierre de las mesas se puedan tener disponibles resultados finales y certeros en base a un alto porcentaje de las mesas concentradas en Lima y las principales ciudades. [Gobierno Peruano, 2005] En la prctica, el sistema funciona aceptablemente y ha operado por varios aos casi sin fallas. Sin embargo, el sistema presenta algunos problemas importantes y resulta evidente la introduccin de mayor uso de tecnologa. Este trabajo presenta una visin de las diversas tecnologas existentes hoy en el mundo que ayudan a automatizar los procesos electorales, as como una propuesta en el tema de seguridad que deberan

tomarse en cuenta para cualquier nuevo sistema de votacin que decida implementarse en nuestro pas. El resto del artculo est organizado de la siguiente manera. En la seccin 2 se muestran las experiencias y trabajos relacionados. La seccin 3 describe un anlisis del sistema electoral peruano mostrando sus debilidades y fortalezas. La seccin 4 nos muestra la forma de integrar la componente tecnolgica a nuestro sistema de votacin. En la seccin 5 presentamos la propuesta de seguridad que deberia considerarse en cualquier nuevo sistema de votacion Finalmente, la seccin 6 nos muestra las conclusiones. 2. Anlisis del Sistema de Elecciones en Per. 2.1. Lo malo del Sistema Actual Algunos de los problemas que presenta el sistema vigente son: Alta demanda de recursos humanos (Miembros de mesa): El sistema actual es muy demandante de mano de obra. Por cada mesa, se nombra un grupo de 3 miembros dentro del registro de votantes vigentes de esa mesa, cuyas personas estn obligadas por la ley a realizar esa tarea. A lo largo del tiempo, la estructura de las mesas de votacin se ha ido transformando en un problema cada vez mayor, debido a la disconformidad de los miembros designados 1, donde se requiere un mnimo de tres para constituir la mesa. Es conocido que quienes concurren a votar a primera hora se arriesgan ser obligados a ser miembros, si la mesa an no ha podido constituirse y esta es una de las causas de las aglomeraciones que se registran cerca al medioda. El trabajo del miembro es arduo y complejo. Adems de coordinar toda la operatoria de votacin durante nueve horas seguidas, luego deben encargarse del recuento y la verificacin de los votos, esto en conjunto a los personeros. Todo el proceso involucra el manejo constante de libros, votos, estampillas, etc., ms la firma de los votos y el llenado de diversos formularios [Gobierno Peruano, 2005]. El alto nmero de personas que participan tiene que ver no slo con la cantidad de trabajo a realizar, sino que tambin con tener un nmero elevado de testigos de todo el proceso, que puedan detectar tanto errores como intentos de fraude. En un proceso complejo y manual, este tipo de redundancia es esencial para que los resultados tengan un grado alto de confiabilidad. Largas colas de espera: El proceso que se realiza por cada persona que vota es lento: buscar al votante en el libro de registro manual, comprobar su identidad con su Documento Nacional de Identidad (DNI), entrar a la cmara secreta, votar, doblar el voto, volver a la mesa, depositar el voto en la urna, firmar en el registro, entintar el dedo, recuperar el DNI. Esto hace que el tiempo por votante sea bastante alto, generando colas de espera enormes en algunos casos, de acuerdo a la habilidad del votante y de los miembros de mesa.
Votar slo en la mesa correspondiente: En el sistema actual un votante est obligado a votar slo en la mesa en donde est inscrito. Esto impide que voten las

personas que no estn ese da cerca de ese lugar. Si consideramos la posibilidad de que el sistema electoral cambie hacia uno de registro automtico y votacin voluntaria, es posible que esta restriccin aumente fuertemente la abstencin al voto. 2.2. Lo bueno del Sistema Actual

El sistema actual tiene, por otra parte, fortalezas importantes, las cuales se debieran buscar preservar en cualquier modernizacin. El voto secreto: El complejo sistema de votacin actual garantiza a cada ciudadano que su voto es secreto. Aunque cada voto fsico est identificado por un nmero de colilla que se asocia al votante, sta se separa antes de insertarlo en la urna, con lo que se pierde esa conexin entre el voto emitido y su emisor2. Cada persona puede votar slo una vez: Al registrar el voto en el libro de registro de la mesa correspondiente, se garantiza que esa persona no pueda votar de nuevo en esa mesa. Los sistemas del Jurado Nacional de Elecciones (JNE) y el Registro Nacional de Identidad y Estado Civil (RENIEC) son responsables de que nadie pueda estar inscrito ms de una vez. No tenemos informacin respecto del grado de confiabilidad con la que esos sistemas realizan dicha labor, pero la ausencia de denuncias comprobadas al respecto permite presumir que los errores, de haberlos, deben ser escasos. No se puede revelar el voto: El sistema no permite que una persona muestre su voto a nadie ni que reciba un voto ya marcado. Con esto, el cohecho resulta prcticamente imposible. El recuento es confiable y auditable: El sistema incluye un recuento pblico mesa a mesa cuyo resultado se transmite se almacenara luego en un sistema central que concentra todos estos datos parciales y realiza la parte ms compleja del proceso: la determinacin de los candidatos que han resultado electos, proceso realizado por el JNE. El hecho que el recuento sea abierto al pblico (y en particular a los personeros de cada partido) permite auditar que los resultados del sistema central correspondan con los reales. Finalmente, en caso de reclamo, los votos fsicos de las urnas se guardan y pueden ser recontados. Sin embargo, la seguridad de los votos fsicos puede ser el eslabn dbil de la cadena. Como en todo sistema con una fuerte componente manual, existe siempre la posibilidad de que se cometan errores. La fortaleza del sistema se basa en que los chequeos y re-chequeos, as como los muchos ojos que miran, hagan que estos errores ocurran con muy baja probabilidad o no ocurran. 2.3. Identificacin de los votantes
Mencin aparte merece el proceso de identificacin de los votantes. En la actualidad, el RENIEC, emite el DNI, documento pblico personal e intransferible. Constituye la nica cdula de identidad personal, para todos los efectos civiles, comerciales, administrativos, judiciales y, en general. Constituye el nico ttulo de derecho al sufragio de la

persona. Su uso es obligatorio para todos los ciudadanos, como se desprende de los Artculos 26 y 27 de la Ley N 26497. La seguridad del sistema se basa de manera esencial en que las cdulas de identidad emitidas por el RENIEC. Nadie debe poder obtener un DNI autntico con una identidad falsa, o adulterar una cdula, y por otra parte la cdula debe contener suficiente informacin como para poder verificar en el momento de la votacin que la persona presente es quien dice ser. 3. Mayor componente Tecnolgico? Dado que el sistema vigente en Per, a pesar de los problemas antes mencionados, es exitoso, presenta a quienes quieran modernizarlo el desafo de llevarlo a un nivel superior sin poner en riesgo sus fortalezas. El cmo hacer para modernizar los sistemas electorales est generando mucha atencin, y tambin grandes controversias y debates. El uso de tecnologa de votacin en las elecciones no es nuevo en Estados Unidos. Desde hace ya muchos aos que se utilizan diversas mquinas para votar", que ayudan a la automatizacin del conteo de votos. Algunos de estos dispositivos se basan en tecnologa muy antigua, como por ejemplo, tarjetas perforadas que son contadas automticamente, que no aprovechan las ventajas de la tecnologa moderna, pero que por otra parte se basan en un voto fsico, que permite la auditabilidad del proceso. Otros se basan en marcas de lectura ptica, las cuales tambin se basan en un voto de papel. Tambin se utilizan otros sistemas en que el votante expresa su preferencia bajando una palanca asociada al candidato, as como sistemas puramente electrnicos (DRE, por direct recording electronics), que no son votos fsicos, sino que los almacenan en un sistema computacional.[ ] En Brasil, desde 1996, se utilizan mquinas de votar electrnicas, las cuales registran el voto en papel que el votante puede ver y que permitira eventualmente un recuento manual. Una simulacin de estas mquinas para votar se puede ver en [TSEB, 2009]. Ante la gran diversidad de diseos posibles para sistemas de votacin modernos debemos tener presente los requisitos expuestos por Michael Shamos, llamados los seis mandamientos [Shamos, 2010]: 1. Mantendrs en secreto la eleccin de cada voto. 2. Permitirs a cada votante inscrito votar slo una vez y solo para los cargos a los cuales tiene derecho a voto. 3. No permitirs la alteracin del sistema de votacin, ni que se comercialice el voto. 4. Contabilizars cada voto rigurosamente. 5. El sistema deber estar operativo durante toda la votacin. 6. Debers mantener un registro para auditora de violaciones de los mandamientos del 2 al 4, pero este registro no deber violar en primer mandamiento. Segn Shamos, en su experiencia los tres primeros mandamientos son la base, mientras que los restantes suelen admitir alguna flexibilidad, en la medida que no cambie el resultado de una eleccin. En la discusin que sigue, tendremos presentes estos mandamientos para evaluar las diferentes alternativas y veremos que muchas veces se oponen unos con otros. A continuacin examinaremos tres posibilidades de modernizacin de nuestro sistema de votacin.

3.1. Registro Electoral Electrnico Lo mejor y ms obvio en Per es que el registro de los votantes (la Base de Datos de las personas con derecho a voto), debiera ser completamente automatizado. Hoy en da, el registro electoral es en realidad el conjunto de libros que se llevan a las mesas de votacin y donde los miembros de mesa buscan pacientemente a los votantes. El sistema actual, aunque funciona, es obviamente primitivo y posee errores. Lo ms difcil es mantener la consistencia a medida que la gente se cambia de direccin y cambia de mesa de votacin. En Per gracias a la existencia de una cdula de identidad con un nmero nico a nivel nacional permitira usar la Base de Datos de la RENIEC como punto de partida. Si se pasa a un sistema de inscripcin automtica con votacin voluntaria, como se ha propuesto que ocurra 4, esto es an ms natural, puesto que no se necesita un registro separado. Tener un Registro Electoral electrnico permite que los votantes ya no estn amarrados a un local de votacin y puedan votar en cualquier lugar del pas. Eventualmente, si se incluyen mecanismos de votacin telemtica o remota, tambin se podra votar fuera de Per. Por otro lado, permitira implementar sistemas de verificacin de identidad ms avanzados como la validacin de las huellas dactilares, si esos datos estn incluidos en el registro (lo que es el caso del Registro Civil). Sin embargo, las claras ventajas de un registro electrnico en cuanto a coherencia, calidad de los datos, flexibilidad y duracin en el tiempo tambin se acompaan de algunos problemas frente al sistema actual: el segundo mandamiento "votars una sola vez". El sistema de libros garantiza ese mandamiento porque cada votante figura solamente en el libro de su mesa (aunque los cambios de direccin podran generar duplicaciones). Para garantizar la unicidad del voto se puede mantener el esquema de asociar el votante a una mesa nica, pero con eso se pierden muchas ventajas del Registro Electrnico. Si se mantiene la flexibilidad de votar en cualquier local de votacin, se debera contar con un acceso en lnea a una Base de Datos central de modo de ir marcando a los que ya votaron y garantizar la unicidad. La factibilidad de este acceso falle o tenga interrupciones a lo largo de toda la votacin, es muy baja a corto plazo. En todo caso, habra que disear un sistema que permitiera continuar con la votacin aunque el enlace hubiera fallado, tolerancia a fallas. Una alternativa interesante es tener una copia de la Base de Datos en cada mesa de votacin. Una Base de Datos de todos los mayores de 18 aos vivos en Per no ocupara ms de unos cuantos Gigabytes que caben hoy da en cualquier disco duro. El problema es que as se puede validar a los votantes pero no se puede garantizar la unicidad del voto. Probablemente habra que implementar una solucin mixta, en donde se transmitiera y se recibiera los que ya votaron pero tambin se mantuvieran los viejos sistemas de control como la tinta indeleble.

Algo muy importante del Registro Electoral Electrnico es que se almacene y se controle en un sistema completamente separado del sistema de votacin y recuento (que veremos a continuacin), porque si estn interconectados se hace posible obtener una relacin entre votantes y votos, violando el primer mandamiento, el secreto del voto. 3.2. Mquinas de Votacin Migracin hacia la urna electrnica. Esto es totalmente independiente del Registro Electoral, en el sentido que se podra automatizar el registro pero dejar el voto en papel actual. Existe mucho ms controversia en el mundo sobre la automatizacin de los sistemas de votacin que sobre el Registro Electoral. Este es un tema en pleno desarrollo y no existe un estndar aceptado mundialmente. Sin embargo, existen algunos consensos han ido apareciendo a nivel del mundo cientfico y que los presentaremos aqu. Han existido varios mecanismos de voto electrnico, desde tarjetas perforadas, lectura ptica hasta mquinas de votacin "all in one" que reciben el voto a travs de una pantalla sensible al tacto, donde uno selecciona su preferencia y realizan a su vez el registro y sumarizacin de votos, conocidas por su sigla en ingls DRE (Direct Recording Electronics). Hoy en da el consenso cientfico [ACM, 2010], apunta a que no es posible garantizar que una mquina tipo DRE no est adulterando sus resultados. Peor an, este tipo de mquinas hacen posible un fraude a gran escala en una eleccin nacional, dado que todas ejecutan el mismo software. Por lo tanto, al igual que en el sistema tradicional, se requiere un registro fsico de la votacin que pueda ser auditado posteriormente y compararlo con los resultados reportados originalmente. Es decir los DRE violan el mandamiento 6, lo que permite violar el mandamiento 4 sin detectarlo. Por ello, la opcin ms aceptada hoy en da es el tener una mquina de votacin tipo DRE pero que imprima el voto y almacenarlo en una urna sellada similar a la de hoy en da. Esto permite la verificacin del voto, el votante lo valide y la mquina lo deje caer en una urna transparente. Esta idea fue propuesta originalmente por [Mercuri a, 2011], en este tipo de sistemas de votacin el lder mundial ha sido Brasil, en donde se comenz con sistemas DRE sin papel y luego se migr hacia sistemas con registro de papel. Una mquina DRE con registro de papel reemplazara los miembros de mesa en su rol de coordinacin de la votacin y tambin en el recuento final. Si se familiariza a los votantes con estas mquinas, el tiempo el costo y la cantidad de los miembros de mesa disminuye significativamente. Obviamente, tambin disminuyen los errores de recuento y de recopilacin de los resultados. Otra ventaja de introducir este tipo de mquinas es que permitiran instalar mesas de votacin en embajadas y consulados en el extranjero. Desventajas del DRE: Si el sistema cambia hacia un registro electrnico, la eleccin de vocales de mesa sera un gran problema puesto que ya no estarn las personas asociadas a una mesa en particular. Otra desventaja de un DRE con registro de papel suele ser su costo y complejidad tcnica. Si una mquina falla o se bloquea, hay que disponer de medios alternativos y personal tcnico para continuar con la votacin.

3.3. Votacin Remota Otro tema muy interesante es permitir que la gente pueda votar desde lugares que no son locales de votacin especiales. La idea es permitir que se pueda votar por Internet a travs de una pgina web. El voto a travs de Internet permitira votar de cualquier parte y desde cualquier dispositivo con un navegador disponible, incluso desde un telfono celular. Con un registro en lnea y una cedula digital se puede autentificar a los votantes y asegurar la unicidad del voto. La auditora del recuento y el garantizar a la gente que su voto fue tomado en cuenta es mucho ms difcil aunque existen propuestas de sistemas de recibos en papel encriptados que permiten verificar esta propiedad sin violar el anonimato del votante [Chaum, 2011]. Lo que resulta realmente difcil es garantizar el primer mandamiento (secreto del voto). En algunos pases se empieza a pensar seriamente en implementar estos sistemas, pero los obstculos son formidables. Desde el punto de vista tecnolgico, si pensamos en la cantidad de Spyware que se encuentra instalado en los computadores conectados a Internet (generalmente sin que el usuario tenga conciencia de ello) el garantizar que nadie est espiando o adulterando nuestras acciones en un navegador sin que nos demos cuenta se vuelve muy difcil. Desde el punto de vista humano, si los votos se emiten desde lugares en donde no existe supervisin independiente, es imposible garantizar que quien vota lo haga en forma secreta y libre de presiones. El ao 2003, el Pentgono asign 22 millones de dlares al proyecto SERVE (Secure Electronic Registration and Voting Experiment) para permitir votar va Internet a unas 100 mil militares y civiles destinados en el extranjero [CBS, 2009]. Sin embargo, despus de que un panel de expertos elabor en 2004 una evaluacin negativa [Jefferson, 2004], el programa fue cancelado dos semanas antes de ser usado por primera vez. El panel no solo descart que se pusiera en prctica el sistema propuesto, sino que descart posibles alternativas de voto va Internet. En el caso Per no, todos los argumentos anteriores son plenamente aplicables, y a ellos se suma el que la cultura nacional hace esperable que haya quienes intenten hacer trampas al sistema. Por lo tanto, no podemos recomendar en absoluto la implementacin de sistemas de votacin va Internet a travs de cualquier computador. 4. Incrementando la Confiabilidad El proceso de votaciones es complicado de monitorear ya que debemos considerar las mltiples instancias por las cuales se debe pasar para obtener un resultado final, el cual deber en todo momento reflejar el sentir popular de los votantes. En la seccin 3 se presentaron tres alternativas para poder automatizar el proceso electoral en el Per. Tomando en consideracin cualquiera de las tres alternativas, podemos afirmar que el proceso de eleccin debe ser correctamente validado. Para lograr esto uno de los elementos a considerar es que se debe garantizar que el software utilizado en este proceso sea confiable. Una de las tcnicas utilizadas utilizadas para garantizar el correcto funcionamiento en sistemas crticos son los mtodos formales.

4.1 Mtodos Formales Los Mtodos Formales son mtodos matemticos para producir software El Departamento de Defensa Militar del Reino Unido [The UK Ministry of Defense, 1989]en la consecucin de software de seguridad crtica define un mtodo formal como: Un mtodo para la especificacin y produccin de software, basado en sistemas matemticos, que comprende: una coleccin de notaciones matemticas dirigiendo la especificacin, fases de diseo y desarrollo de produccin de software, un sistema de lgica en el cual la verificacin formal y pruebas de otras propiedades puedan ser formuladas, un marco de trabajo metodolgico en el cual el software pueda ser verificado desde su especificacin en una manera verificable formal. En la definicin anterior, se puede concluir que la especificacin formal de requerimientos y la verificacin formal de software son los pilares de un mtodo formal. Si bien existen muchos mtodos formales de probada experiencia en la industria: VDM[Fitzgerald and Gorm Larsen,1998], VDM++[CSK SYSTEMS, 2009], JML[JML,2006 ], Z[Z Notation, 2006]. Hemos elegido JML como lenguaje de especificacin por el antecedente de haber sido utilizado en el sistema de votacin irlandes Votail [Cochran and Kiniry, 2004]. 4.2 Java Modeling Language(JML) Es un lenguaje de especificacin formal para Java el cual se basa en el concepto de software basado en contratos [Bjorner and Jones, 1982]. Especifica el comportamiento de las clases de Java y guarda las decisiones tomadas en el diseo e implementacin de cada clase [JML, 2006]. Algunas de las aserciones utilizadas en JML son las siguientes: Precondiciones: Indican las premisas que deben cumplirse para ejecutar un procedimiento de manera correcta . Son introducidas por la palabra clave requires. Postcondiciones: Nos aseguran un determinado resultado al terminar de ejecutar un procedimiento funcin, en muchos casos se considera la operacin realizada como la propia postcondicion. En este caso utilizamos la palabra reservada ensures. Invariantes: Son restricciones dadas en distintos puntos de un cdigo a ejecutar, en muchos casos se utilizan para evitar desbordes en arreglos o para asegurar que no trabaje con valores nulos.Se utiliza la palabra reservada invariant. Invariantes en bucles: Se usan para describir restricciones a ser cumplidas en cada iteracin de un bucle. Se utilizan las palabras reservadas loop invariant y maintaining. La principal meta de JML es ser fcil de usar para cualquier programador Java. Ya que cada asercin es aadida a manera de comentarios /*@ ..@*/ o //@. Las sentencias JML aadidas al cdigo Java pueden ser chequeadas y testeadas buscando violaciones a las aserciones durante la ejecucin. Tambin podemos asegurarnos que los contratos no sean violados en tiempo de compilacin utilizacin la herramienta ESC/JAVA2 [ESC/.Java2, 2006]. 4.3 Ejemplo de Aplicacin

Usaremos las herramientas anteriores para modelar el proceso de conteo de votos dado en las ultimas elecciones congresales peruana a modo de de ejemplo ilustrativo. . El sistema de conteo de votos peruano posee las siguientes particularidades [Gobierno Peruano, 2005]: 1. Para el cmputo del sufragio no se toman en cuenta los votos nulos ni los votos en blanco. 2. Las Elecciones para Congresistas se realizan conjuntamente con las elecciones para Presidente y Vicepresidentes de la Republica. 3. El mtodo utilizado para la distribucin de escaos es conocido como cifra repartidora el cual tiene como objeto la representacin de las minoras. Siendo el mtodo de calculo de la cifra repartidora el siguiente: a) Se determina el nmero de votos vlidos obtenidos por cada lista de candidatos. b) El total de votos vlidos obtenidos por cada lista se divide, sucesivamente, entre 1, entre 2, entre 3, etc. segn sea el nmero total de Congresistas que corresponda elegir. Esto puede variar dependiendo de la cantidad de votantes de cada distrito electoral. c) Los cocientes parciales obtenidos son colocados en orden sucesivo de mayor a menor, hasta obtener el numero de congresistas a elegir por distrito electoral. El cociente que ocupe el ltimo lugar es el que obtiene el nombre de cifra repartidora. d) Los votos totales por cada lista son divididos entre la cifra repartidora, de esta divisin obtenemos el numero de candidatos elegidos por cada lista. e) El nmero de congresistas se obtiene de la parte entera de la divisin anterior, en caso de que no se obtengan todos los puestos, se adicionar un puesto adicional a la lista que posea mayor parte decimal. f ) En caso de empate se decide mediante sorteo. Mdulo Desarrollado Se ha considerado desarrollar el mtodo correspondiente al clculo de la cifra repartidora debido a que es justamente este calculo el que determina el numero de escaos que cada partido poltico ocupara por regin. Basndonos en los requerimientos anteriormente, se plantea que para el clculo de la cifra repartidora requerimos un arreglo en el cual se almacenaran los cocientes de los votos obtenidos por cada participante entre su numero de orden en la lista del partido. En la figura 1 se muestra el cdigo en java para la asignacin de la cifra repartidora. El arreglo est representado con la variable repartidora (lnea 5).

Figura 1: Cdigo asignacin cifra repartidora

Considerando el cdigo de la figura 1 se puede notar algunos errores potenciales En primer lugar requerimos que la variable repartidora se encuentre en memoria, as mismo cada valor en el arreglo repartidora debe ser nulo debido a que los valores irn adicionndose en el proceso. En segundo lugar para el primer bucle mostrado en la lnea 1 de la figura 1, requerimos que cada valor de la lista de postulantes no sea nulo ya que iteraremos sobre dicha lista, adicionalmente el valor del ndice iterador no debe sobrepasar al numero de agrupaciones de la eleccin. Mientras que para el siguiente bucle se tiene que el indice iterador no debe ser mayor que el n_mero de postulantes por agrupacion. Las consideraciones anteriormente descritas, han sido especificadas en JML a modo de precondiciones, postcondiciones e invariantes. En la figura 2 se presentan las consideraciones referidas al arreglo repartidora. En las lneas 1 al 4 se muestra la especificacin en JML.

Figura 2: Especificacin Formal restricciones variable repartidora En la figura 3 se presenta las consideraciones referidas a los bucles. Las especificaciones para el primer bucle se muestran entre las lneas 1 y 5. Las especificaciones para el segundo bucle se muestran entre las lneas 8 y 9.

Figura 3: Especificacin Formal restricciones en bucles Las especificaciones mostradas fueron validas con la herramienta ESC/JAVA2. En ella pudimos descubir errores adicionales de inicializacion. 5. Conclusiones

En nuestra opinin es recomendable modernizar el sistema electoral Peruano, tanto el registro electoral como el sistema de votacin. Esto permitira reducir el costo en horas hombre (miembros de mesa) as como las colas de espera de una eleccin e incrementara la participacin ciudadana al flexibilizar el lugar de votacin de cada uno. Sin embargo, este proceso debe realizarse conservando las caractersticas positivas que tiene nuestro sistema actual, perfeccionado en base a muchos aos de experiencia democrtica. Hoy en da no existe estandarizacin para votacin electrnica y se aplican sistemas muy diferentes de pas a pas. Esta realidad permitira a Per explorar en un rea an abierta y buscar experiencias similares entre los pases que ya han implementado algunas de estas tecnologas. Lo que hay que evitar es caer en tentaciones de comprar soluciones ya hechas, ya que algunos proveedores de DRE en Estados Unidos han sido criticados y sus mquinas son consideradas muy riesgosas. Entonces existe una gran oportunidad de investigacin, trabajo y desarrollo a futuro que debe realizarse con seriedad y que probablemente con un empezara con un prototipo en alguna eleccin local y luego ir escalando al sistema nacional de elecciones.

Referencias
[ACM, 2010] ACM, USACM Policy Brief: E-voting Technology and Standards, http://www.acm.org/usacm/Issues/EVoting.htm. [CALTECH-MIT, 2011] CALTECH-MIT Voting Technology Project, http://www.vote.caltech.edu [CBS, 2009] CBS News, American Abroad To Vote Online,`http://www.cbsnews.com/stories/2003/07/12/politics/main562983.shtml. [CBS, 2009] CBS News, Pentagon Votes No On E-Balloting, http://www.cbsnews.com/stories/2004/01/22/tech/main595067.shtml. [Chaum, 2011] Chaum, D., Secret-Ballot Receipts: True Voter-Verifiable Elections, http://www.voterverifiable.com/article.pdf. [ Cochran and Kiniry, 2004]Cochran D. and Kiniry J. R. (2004) Votail: Pr-stv ballot counting software for irish elections. [Fischer, 2010] Fischer, E. A., Election Reform and Electronic Voting Systems (DREs): Analysis of Security Issues, Congressional Research Service, The Library of Congress,USA, http://www.epic.org/privacy/voting/crsreport.pdf. [Jefferson, 2004] Jefferson, D., Rubin, A., Simons, B. and Wagner, D., A Security Analysis of the Secure Registration and Voting Experiment (SERVE), http://servesecurityreport.org [Jones, 2011] Jones, D. W., Voting and Elections, http://www.cs.uiowa.edu/~jones/voting/. [Jones, 2003] Jones, D. W. A Brief Illustrated History of Voting, http://www.cs.uiowa.edu/~jones/voting/pictures/. [Mercuri, 2011a ] Mercuri, R. Electronic Voting, http://www.notablesoftware.com/evote.html. [Mercuri, 2011 b ] Mercuri, R., A Better Ballot Box?, http://www.notablesoftware.com/Papers/1002evot.pdf [TSEB, 2009] Tribunal Superior Eleitoral do Brasil, Simulador da Urna Eletrnica, http://www.tse.gov.br/eleicoes/urna_eletronica/simulacao_votacao/UrnaApplet2.htm. [Shamos, 2010] Shamos, M. I., Electronic Voting Evaluating the Threat, http://www.cpsr.org/prevsite/conferences/cfp93/shamos.html.

[The UK Ministry of Defense, 1989] The UK Ministry of Defence. Defence standard for military safety-critical software 00-59. draft. [CSK SYSTEMS, 2009] CSK SYSTEMS (2009). The VDM++ Language. Technical Report. [Fitzgerald and P.Gorm Larsen,1998] J. Fitzgerald and P.Gorm Larsen. Modelling Systems Practical Tools and Techniques in Software Development. Cambridge University Press, The Edinburgh Building, Cambridge CB2 2RU, UK. [JML, 2006] The Java Modeling Language (2006). Disponible en http://www.cs.iastate.edu/~leavens/JML/. [Bjorner and Jones, 1982] D. Bjrner and C.B. Jones (1982). Formal Specification and Software Development. Prentice-Hall International. [ESC/.Java2, 2006] The ESC/Java2 Project (2006), Disponible en http://www.cs.kun.nl/sos/research/escjava/. [Gobierno Peruano, 2005] Gobierno Peruano. Ley org_anica de elecciones, 2005. [JML, 2006] The Java Modeling Language (2006). Disponible en http://www.cs.iastate.edu/~leavens/JML/. [Z Notation, 2006] The Z Notation (2006), Disponible en http://vl.zuser.org/, 2006.

Vous aimerez peut-être aussi