Publication:
EasyInterface: a toolkit for the rapid development of GUIs for research prototype tools

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2016
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
During the lifetime of a research project, different partners develop several research prototype tools that share many common aspects. This is equally true for researchers as individuals and as groups: during a period of time they often develop several related tools to pursue a specific research line. Making research prototype tools easily accessible to the community is of utmost importance to promote the corresponding research, get feedback, and increase the tools’ lifetime beyond the duration of a specific project. One way to achieve this is to build graphical user interfaces (GUIs) that facilitate trying tools; in particular, with web-interfaces one avoids the overhead of downloading and installing the tools. Building GUIs from scratch is a tedious task, in particular for web-interfaces, and thus it typically gets low priority when developing a research prototype. Often we opt for copying the GUI of one tool and modifying it to fit the needs of a new related tool. Apart from code duplication, these tools will “live” separately, even though we might benefit from having them all in a common environment since they are related. This work aims at simplifying the process of building GUIs for research prototypes tools. In particular, we present EasyInterface, a toolkit that is based on novel methodology that provides an easy way to make research prototype tools available via common different environments such as a web-interface, within Eclipse, etc. It includes a novel text-based output language that allows to present results graphically without requiring any knowledge in GUI/Web programming. For example, an output of a tool could be (a structured version of) “highlight line number 10 of file ex.c” and “when the user clicks on line 10, open a dialog box with the text ...”. The environment will interpret this output and converts it to corresponding visual e_ects. The advantage of using this approach is that it will be interpreted equally by all environments of EasyInterface, e.g., the web-interface, the Eclipse plugin, etc. EasyInterface has been developed in the context of the Envisage [5] project, and has been evaluated on tools developed in this project, which include static analyzers, test-case generators, compilers, simulators, etc. EasyInterface is open source and available at GitHub2.
Durante la vida de un proyecto de investigación, los diferentes integrantes desarrollan varios prototipos de herramientas de investigación que tienen muchos aspectos comunes. Esto es igualmente cierto para grupos de investigación e investigadores individuales: durante cierto tiempo desarrollan varias herramientas siguiendo una línea de investigación específica. Hacer prototipos de herramientas de investigación de fácil acceso a la comunidad es de suma importancia para promover la investigación, obtener retroalimentación, y aumentar la vida útil de las herramientas más allá de la duración de un proyecto específico. Una forma de lograr esto es construir interfaces gráficas de usuario (GUI) que faciliten el uso de las herramientas; además, una interfaz web evita la sobrecarga de tener que descargar e instalar las herramientas. La construcción de GUIs desde cero es una tarea tediosa, y más una interfaz web, y por lo tanto normalmente se reduce su prioridad durante el desarrollo del prototipo. A menudo optamos por la copia de la GUI de una herramienta antigua modificándola para que se adapte a las necesidades de una nueva herramienta relacionada. Además de la duplicación de código, estas herramientas “viven” por separado, a pesar de que podríamos beneficiarnos de tener todas en un entorno común ya que pertenecen a una misma línea de investigación. El trabajo presentado tiene por objeto simplificar el proceso de construcción de interfaces gráficas de usuario para prototipos de herramientas de investigación. En concreto, presentamos EasyInterface, un conjunto de herramientas basadas en una novedosa metodología que proporciona una manera fácil de hacer prototipos de investigación y hacerlos disponibles a través de diferentes entornos comunes tales como una interfaz web, dentro de Eclipse, etc. El trabajo incluye un nuevo lenguaje de salida basada en texto que permite presentar resultados de forma gráfica sin necesidad de ningún conocimiento en GUI/Web. Por ejemplo, la salida de una herramienta podría ser (una versión estructurada de) “resalta la línea número 10 del archivo ex.c” y “cuando el usuario haga clic en la línea 10, abre un cuadro de diálogo con el texto ...”, entonces un entorno gráfico interpreta esta salida y la convierte en los correspondientes efectos visuales. La ventaja de utilizar este enfoque es que será interpretada por igual por todos los entornos de EasyInterface, por ejemplo, la interfaz web, el plugin de Eclipse, etc. EasyInterface se ha desarrollado en el contexto de proyecto Envisage [5], y ha sido evaluado en las herramientas desarrolladas en este proyecto, que incluyen analizadores estáticos, generadores de casos de prueba, compiladores, simuladores, etc. EasyInterface es de código abierto y está disponible en GitHub1.
Description
Máster en Ingeniería Informática, Facultad de Informática, Departamento de Sistemas Informáticos y Computación, curso 2015-2016
Keywords
Citation