Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Formulación de Proyecto
Nombre ProofNix con interfaz RCP de Eclipse
Director Rodrigo López Beltrán
Equipo de estudiantes Oscar Barrios y Luis Molina
Centro de estudios CEIS
Lı́nea de Investigación
Proyecto de investigación al que pertenece AlJuarizmi
Duración 8 meses
1. Resumen ejecutivo
Dentro del software de apoyo para sistemas de demostración, han tomado fuerza los llamados “asis-
tentes de demostración” que no pretenden descubrir demostraciones por sı́ solos sino que aparecen
como apoyo para demostradores humanos a quienes ayudan con las fases tediosas y potencialmente
muy largas de una demostración. ProofNix ( [1]) es el resultado de una primera fase de reingenierı́a
del sistema ProofStar ( [2], [3])
El presente proyecto es una segunda fase de reingenierı́a del sistema en la que se quiere:
2.2. Justificación
1
ha recibido elogiosos comentarios pero todavı́a no puede ser utilizado de manera confiable (sobre todo
por su interfaz) con propósitos pedagógicos. Esta serie de proyectos apuntan a producir una versión
suficientemente robusta para ser usada en el salón de clase.
Múltiples son los factores que contribuyen a que una aplicación sea denominada como adecuada, desea-
ble e inclusive, tal y como se describe generalmente: “buena”. Aunque tales calificativos, dependerán
expresamente de la percepción del usuario al momento de su uso y de cómo este asigne prioridades
en cuanto a requerimientos se refiere, la combinación y la proporción - entre cada uno de ellos- en la
cual hacen presencia, son la clave en la cual radica la acogida del software en los distintos mercados
(comercial, educativo, de investigación, etc.). Considerando el aspecto no funcional, la usabilidad pro-
porcionada por un ambiente gráfico de usuario adquiere tanta importancia al momento de definir la
funcionalidad de una aplicación, que intrı́nsecamente adquiere la cualidad de la cual inicialmente se
excluı́a.
RCP (Rich Client Platform) es una plataforma de desarrollo para la implementación de interfaces
enriquecidas, compatibles y capaces de lucir como una aplicación nativa; haciendo uso de componentes
propios de Eclipse, de forma que todo producto lleva consigo la apariencia de tal IDE. Al establecerse
esta relación entre el componente gráfico de Eclipse y las aplicaciones desarrolladas mediante el uso
de RCP, se transfieren caracterı́sticas tales como:
ProofNix, es un ambiente de demostración (cuya versión previa fue denominada ProofStar) basado
en la lógica calculativa de Dijkstra, que actualmente cuenta con un entorno gráfico desarrollado en
la biblioteca gráfica de Java, Swing, haciendo que su implementación como mecanismo de interacción
entre el usuario y la aplicación sea estática y se limite su uso al de un software incapaz de integración
alguna de nuevos componentes. Adicionalmente, se cuenta con un problema que se ha propagado desde
la implementación de su primera versión, el cual consiste en un mecanismo de traducción de doble vı́a
( [1]) destinado a la presentación ası́ como el procesamiento de caracteres asociados a sı́mbolos lógicos
requeridos para expresar fórmulas ingresadas por el usuario.
Es precisamente en torno a estos dos aspectos, que la segunda fase de reingenierı́a del sistema ha sido
diseñada para el trabajo de esta nueva etapa del proyecto.
Como ya se dijo, se quiere ante todo, obtener una interfaz robusta para el asistente de demostración
ProofNix. Por otro lado, se quiere adquirir experiencia de implementación de Interfaces de Usuario
usando Eclipse-RCP. Esta es una tecnologı́a muy exitosa ( [5], [6]) y particularmente adaptada para
ambientes de desarrollo de software (ide) pero que no es muy conocida dentro de la Escuela Colombiana
de Ingenierı́a . Este proyecto también puede verse como un primer paso en la dirección de incorporar
esta tecnologı́a a los cursos de ingenierı́a de software de La Escuela.
2
2.5. Alcance del proyecto
Para el proyecto se dispuso una amplia documentación bibliográfica en la que se describe de manera
detallada la estructura, uso, descripción, ventajas y estándares de la herramienta RCP. Ésta literatura
será la base teórica de la investigación, de la cual se obtendrá el contenido propicio para el desarrollo
del proyecto relacionado con ProofStar de tal manera que la información que se consigne sea concisa
y puntual a la hora de construir la interfaz. De la misma manera, con el fin de obtener experiencia de
primera mano, se cuenta con un extensivo catálogo de tutoriales de distintos niveles de la implemen-
tación y utilización de RCP. Con dichos tutoriales se espera crear conocimientos concretos pasando
de la teorı́a bibliográfica a un entorno práctico que materialice la recolección de información sobre el
tema, para quizás crear versiones propias, ajustadas para el proyecto y que eventualmente se utilicen
como material en cursos de ingenierı́a de software en La Escuela.
Una interfaz de usuario apropiada para un asistente de demostración conectada al sistema Proof-
Nix y desarrollada en Eclipse RCP.
3
2.10. Cronograma
2.13. Evaluadores
Bibliografı́a
[1] Rodolfo Arteaga. ProofNix, un asistente de demostración portátil. Proyecto de Grado. Escuela
Colombiana de Ingenierı́a, Bogotá, 2009.
[2] Jaime Bohórquez y Camilo Rocha. Assisted Calculational Proofs and Proofchecking Based on
Partial Orders. FORMED Workshop, Budapest, 2008.
[3] Andrés Bogotá. ProofStar. Proyecto de Grado. Escuela Colombiana de Ingenierı́a, Bogotá, 2008.
[5] Vladimir Silva Eclipse Rich Client Platform Projects. APress 2009.