NiMo: un lenguaje gráfico para usuarios finales
 

Silvia Clerici
Universitat Politècnica de Catalunya, Dept. Llenguatges i Sistemes Informatics
Barcelona, España, 08028
silvia@lsi.upc.edu

y

Cristina Zoltan
Universitat Politècnica de Catalunya, Dept. Llenguatges i Sistemes Informatics
Barcelona, España, 08028
zoltan@lsi.upc.edu

 
Resumen
 
En este trabajo presentamos un lenguaje de programación visual inspirado en redes de procesos, con construcciones sencillas, bien adaptado a usuarios finales y completamente gráfico. El lenguaje tiene una semántica muy clara y el hecho de que la prueba de programas se pueda hacer paso a paso, corrigiendo el código sin tener que recomenzar la ejecución, y visualizando las transformaciones que sufre el programa a medida que va ejecutándose hace que sea muy fácil la programación y la puesta a punto de programas. Su estructura jerárquica permite la construcción de aplicaciones de envergadura. En la literatura de programación funcional, vemos con frecuencia que los programas funcionales textuales se describen como redes de procesos, a modo de asistencia visual a la comprensión del mismo. NiMo (Nets in Motion) es la extensión de las redes de procesos a un lenguaje de programación con un ambiente que actúa como un banco de desarrollo y prueba de programas. La potencia de sus primitivas algorítmicas, a la vez muy intuitivas, junto con la claridad y expresividad gráfica del modelo Data-flow lo convierten en un lenguaje sencillo y seguro para que programen usuarios finales.
 
Palabras claves: Lenguaje de programación, gráfico, funcional, Data-flow, paralelismo implícito, usuario final
Abstract
 
In this paper we present a visual programming language inspired in process networks, with simple constructs well suited to end users and totally graphic. The language has a very clear semantics, and the fact that programs can be executed step by step, modifying code without starting execution again, seeing all the way the program transformation during execution, makes programming and program tuning an easy task. The language hierarchical structure allows construction of rather complex applications. In functional programming literature we see very often that textual programs are described as process networks, as a visual aid to its understanding. NiMo (Nets in Motion) is an extension from process networks to a complete programming language, with an environment acting as a workbench for program development and testing. The power of its algorithmic primitives, very intuitive also, combined with the Data-flow model graphical expressiveness turn NiMo into a simple and safe language for end users.
 
Keywords:Programming language, graphical, functional Data-flow, implicit parallelism, end user.