GLIDER: Languaje de Simulación 
 Guía de Usuarios WINDOWS 

IEAC/FACES - CESIMO/FAI

Proyecto CDCHT  I-524-95-02-AA
Universidad de Los Andes. Mérida, Venezuela. 

Septiembre 2003

Groupo de Desarrollo GLIDER 

 

Contenido


Version GLIDER WINDOWS

Esta es una guía para usuarios de la versión WINDOWS  del Lenguaje de Simulación GLIDER  [1]. Esta versión requiere el uso de BORLAND Delphi versiones 4, 5 or 6, que debe estar ya instalado antes de poder usar GLIDER. BORLAND Delphi [4] es también el recurso de desarrollo de GLIDER.

Para instalar GLIDER descomprima el archivo de distribución (dGLIDER.zip para Delphi4, dGLIDER5.zip para Delphi 5, dGLIDER6.zip para Delphi 6) en su disco duro. Cree un Acceso Directo al ejecutable WinGli.exe ubicado en el directorio de instalación (dGLIDER, dGLIDER5 or dGLIDER6). Cambie el ícono al archivo WinGli.ico ubicado en ese directorio.

Consulte el GLIDER Reference Manual para ver la sintaxis del lenguaje así como  ejemplos de programación de modelos.  http://afrodita.faces.ula.ve/Glider/gliweb

NOTA IMPORTANTE :NO instale GLIDER ni programas GLIDER  en directorios o subdirectorios cuyos nombres contengan caracteres blancos, como Archivos de Programa. Las actuales versiones de GLIDER no los reconocen y por lo tanto, se producen errores.
Este problema será corregido en futuras versiones.


Guía Rápida
Double click el acceso Directo a WinGli para ejecutarlo. O click en el Botón Start, selecione Ejecutar y escriba el comando:
<drive>:<path>\dGLIDER\WinGli
(dGLIDER5 o dGLIDER6, según su instalación de Delphi)

Los programas GLIDER deben tener extension .gld. Seleccione el nombre del programa con la opción File|Open en el Menú Principal de WinGli. Seleccione Compile para compilar el programa. El proceso de compilación abre dos ventanas tipo Console en sucesión. Ignore cualquier mensaje de tip "File not Found" (Archivo no encontrado), presione cualquier tecla cuando así se le solicite y cierre manualmente la última ventana si no hace automáticamente. Si la compilación tuvo éxito, un correspondiente archivo .exe debe haberse creado. Para ejecutarlo seleccione Run en el Menú Principal, o ejécutelo fuera de WinGli como cualquier ejecutable en WINDOWS.

La opción Complete Compilation está seleccionada por defecto en el submenú Optionsdel Menú Principal. Si hubo errores de compilación de GLIDER, puede editar el programa con el editor de WinGli. Si hubo errores de compilation de Delphi  y no logra encontar el problema en su archivo gld, cambie el modo de Compilación al modo to Partial Compilation en el submenú Options y compile nuevamente. Con este modo de compilación seleccionado, el compilador Glider sólo genera los archivos ObjectPascal (<program>.dpr, Pru.pas and Unid1.pas (Unid2...)). Use su instalación de Delphi editar el proyecto, usando la opción File|Open para abrie correspondiente .dpr archivo de proyecto (Delphi PRoject) que fue creado por WinGli. Puede compilar y ejecutar el proyecto directamente en el ambiente Delphi (IDE), después de agregar el directorio dGLIDER (dGLIDER5 o dGLIDER6) a la lista de búsqueda (Search path list) (Project|Options|Directories|Conditional Search path)


Crear y  editar un programa GLIDER

Los usarios de la versión WINDOWS pueden crear y editar sus programas usando cualquier programa editor de texto, como Notepad o MS Word o WordPad (guardando el archivo como texto con saltos de línea y extensión .gld) o también pueden usar el editor de WinGli. La sintaxis de GLIDER es case insensitive (indistinto uso de minúsculas o mayúsculas). Consulte el GLIDER Reference Manual para ver la sintaxis del lenguaje así como  ejemplos de programación de modelos.  http://afrodita.faces.ula.ve/Glider/gliweb

Los nombre de programas GLIDER  deben tener extensión gld, como myexample.gld

NOTA: Para programas muy grandes no use el Editor WinGli, sino más bien WordPad, tal como se le avisará si se da el caso.



Compilar un programa  GLIDER

Compilación Completa

Use el programa WinGli para compilar un programa GLIDER, por ejamplo myexample.gld, seleccionando su nombre con la opción File|Open en el Menu Principal.

Si el precompilador GLIDER encuentra cualquier error de sintaxis se produce un mensaje de error, indicando los números de línea y columna donde el error fue detectado y el proceso de compilación termina. Use su editor de texto para corregir los errores y compile nuevamente, hasta que haya éxito. Si no puede encontrar la causa del error, por favor, contáctenos via e-mail a la dirección que se muestra al final de esta sección.

Si no se no detectaron errores, en el directorio del programa, junto con el programa fuente, debe hallarse el programa ejecutable con el mismo nombre pero con extensión .exe. Por ejemplo, después de seleccionar la opción Compile,  Windows Explorer mostrará los nombres myexample.gld y myexample.exe.

El precompilador GLIDER debe generar programas Delphi ObjectPascal correctos, por lo que la compilación Delphi no debería producir ningún mensaje de error. Pero si ello ocurriera y no puede encontrar el problema directamente en Delphi, como se indica en la sección Guía Rápida y en la sección que sigue, por favor, envíenos un e-mail reportando el caso e incluya si le es posible, el programa fuente, a la siguiente dirección: sananes@.ula.ve


Compilation Partial

Si tiene interés en ver los modulos Delphi ObjectPascal que el precompilador GLIDER genera, seleccione el modo Partial Compilation en el submenú  Options del Menú Principal. En este modo, WinGLI sólo generará los modulos ObjectPascal y los deja en el directorio del programa. Abra en el ambiente Delphi (IDE) los siguientes archivos generados :

<name-prog>.dpr, con Open Project
  pru.pas y unid1.pas, con Open File
Si el programa GLIDER  define uno o más módulos adicionales (instrucciones MODULE), más archivos con nombres de tipo unid<x>.pas serán generados, uno por cada módulo adicional, x=2,3....

En el ambiente Delphi (IDE) puede compilar el correspondiente proyecto (<name-prog>.dpr file) usando la opción Project/Build en el menú principal de Delphi, con lo cual completa el proceso produciendo el archivo ejecutable <name-prog>.exe. Antes de ordenar la compilación Delphi debe agregar el directorio dGLIDER a la lista de búsqueda (Project|Options|Directories|Conditional Search path) en el ambiente Delphi (IDE), para que las liberías GLIDER puedan ser encontradas. (dGLIDER5 o dGLIDER6 para Delphi5, Delphi6)

El usuario es responsable de eliminar luego los archivos intermedios.


Ejecutar un  programa GLIDER

Después de compilar exitosamente puede ejecutar el programa. Seleccione la opción Run en el Menú Principal de WinGli, o escriba el nombre del programa como comando, con la opción Run del Botón Start de Windows o en Windows Explorer haga double click en el nombre del programa (myexample en el ejemplo).

Los programas GLIDER comienzan presentando esta ventana de Control:

Durante la ejecución atienda las directivas que se dan en Cuadro de Mensajes -el primero a la izquierda- y presione el botón OK para continuar.
Al inicio en el Cuadro de Mensajes aparece la directiva Start; al pulsar el botón OK se despliega el Menú Principal de GLIDER que le permitirá escoger las acciones siguientes, como inicializar y correr un experimento (corrida del modelo) o fijar opciones para el experimento.

Para ver más detalles de menúes, operación y opciones de ejecución, consulte el GLIDER Language Reference Manual [2]
http://afrodita.faces.ula.ve/Glider/gliweb/

Use el botón Interrupt si desea interrumpir la ejecution normal y pasar al modo Trace.

Console Application

Si el programa contiene alguna instrucción de lectura desde standard Input (Read o Readln) o de escritura al standard Output (Write o Writeln),  debe seleccionar Console Application en el submenú Options del Menú Principal. De lo contrario, el programa producirá una condición de Exception al intentar ejecutar el primer read  o write en Consola.

[Nota: Estando en modo Trace puede interrumpir nuevamente para ir al menú principal y detener la ejecución. Tratar de volver al modo normal no está funcionando actualmente]


Ejecutar programas con gráficos

Instrucciones GRAPH

Los programas GLIDER pueden contener hasta 100 instrucciones GRAPH, cada una despliega una ventana de gráfico. Un tamaño de ventana standard de gráfico se asigna según el tipo de gráfico. Para gráficos de tiempo, el tamaño de ventana standard abarca todo el ancho de la pantalla. Pero se puede configurar el tamaño colocando instrucciones de asignación para  ambas variables predefinidas: WindowWidth y WindowHeight en la sección Init de un  program GLIDER. Ejemplo:

WindowWidth:=400; WindowHeight:=400;

Cuando la corrida de la simulación termina, puede seleccionar la opción Close Graphics en el menú principal. El proceso de cerrado focaliza cada ventana de gráfico en orden de creación inverso. Por cada ventana activada, el sistema coloca un mensaje Continue en el Cuadro de Mensajes de la ventana de Control y espera hasta que el usuario presione el botón OK contiguo. Hasta entonces, el usuario puede guardar el gráfico en formato bitmap seleccionando la opción File en el Menú de la ventana gráfica. Si algún valor de alguna variable hubiere quedado fuera de los límites del gráfico, el sistema emite una advertencia con el mensaje "Graphic Scale was changed" y a continuación se redibuja el gráfico en una nueva escala cambiada por el sistema.

De todos modos, el proceso de cerrado de gráficos también se ejecuta cuando el usuario selecciona la opción Quit.

Instrucciones FILE Los archivos generados por instrucciones FILE en un programa, con extensión .txt, pueden usarse para crear y guardar gráficos seleccionando la opción Graphic en el Menú principal emergente al finalizar la corrida de la simulación. Una forma de tipo Open dialog permite seleccionar el archivo de FILE generado con la definición de variables y datos. [Nota: Una excepción por error de archivo ocurrirá si el archivo no tiene el formato FILE esperado, y el programa abortará]. Una vez seleccionado correctamente el archivo, aparece la forma Graphic dialog:

En primer lugar, se debe seleccionar un conjunto de variables dependientes  (no más de 14) tomándolas de la lista en el cuadro izquierdo, que muestra los nombres de todas las variable en el archivo seleccionado. Seleccione las varables del conjunto al estilo Windows (para variables contiguas presionando la tecla Shift en la última o para dispersas con la tecla Crtl presionada). Luego use el botón con la flecha para pasar la selección a la lista del cuadro de la derecha. Puede sacar variables no deseadas de la lista using el botón de Quitar debajo de la flecha (el que tiene un círculo tachado).

La variable independiente puede ser reseleccionada en la lista tipo combo ubicada debajo de la lista de variables dependientes. El letrero del gráfico (caption) también puede cambiarse. Después de presionar el botón Accept, el sistema despliega los datos de configuración en la tabla al final, a la derecha, incluyendo colores pre-seleccionados para cada una de las variables de la lista de variables dependientes seleccionada. Datos similares para la variable independiente se muestra debajo. El usuario puede cambiar todos esos valores. El color se cambia haciendo  click en el cuadrito coloreado correspondiente.

El tamaño de la ventana (altura y ancho) pueden cambiarse antes o después de aceptar la selección de variables.

Cuando se pulsa el botón Apply, se muestra la ventana gráfica en su tamaño, con letrero, escalas y colores seleccionados. En este punto, el  usuario puede elegir definir una nuevo gráfico para el mismo archivo, presionando el botón recién habilitado New Graphic o concluir el diálogo de gráfico, presionando el botón Finish.

Una vez cerrado la forma del Graphic Dialog, todos los gráficos definedos se despliegan y aparece el mensaje Closing Graphics en el Cuadro de Mensajes de la ventana de Contorl. El sistema realiza el proceso de cierre, tal como se describió  en la sección anterior (Instrucciones Graph).

Cuando emerge de nuevo el Menú Principal, puede seleccionar nuevamente la opción Graphic para definir otros gráficos desde otro o desde el mismo archivo FILE generado.

 Instrucciones INTI Graph La instrucción  GLIDER INTI cuando se aplica a identifcadores de GFUNCTIONS, genera una ventana gráfica interactiva. Usando los botones del ratón, el usuario puedea agregar o modificar puntos a la función. La función redefinida reemplaza a la definición original contenida en el programa en ejecución de simulación. Al salir de la ventana gráfica, la función redefinida puede guardarse en un archivo para uso posterior.

En todos los casos de gráficos generados, sean por GRAPH o por  FILE, si hay espacio suficiente en la pantalla, el sistema trata de disponer las ventanas gráficas en modo mosaico (tile) y si no, en modo cascada.

Ejemplos de programas GLIDER

Una colección de ejemplos de programas GLIDER  está disponible en el directorio dGLIDER/DEMOS. (dGLIDER5 o dGLIDER6)

Los nombres de los archivos de los ejemplos son de la forma  EXE<x>.gld, x = 1,2,3,..20


Diferencias de implementación con la versión MSDOS

Algunas características de GLIDER tienen una implementación diferente a la de la versión MSDOS o no han sido completamente probadas. Algunas son nuevas en esta versión Windows.

Las diferencias en implementación son:

  • Modos de operación: La version TP/MSDOS ofrece dos modos de operación: Normal y Trazado (Trace). En ambos modos el programa es interrumpible. En la versión WINDOWS hay los mismos modos, el programa es interrumpible usando el botón Interrupt en la ventana de Control.
Pero en la versión Windows el trazado siempre se graba en un archivo. Cuando el programa termina o cuando el usuario detiene el trazado, el contenido del archivo se muestra en una ventana de texto, si es que cabe. Si el archivo es muy grande, como usualmente es, emerge un mensaje de advertencia que sugiere al usuario guardar el archivo y verlo con el editor WordPad.
  • Delphi ObjectPascal requiere que cada variable de control de una instrucción for sea variable local del módulo  compilado. En la versión Windows las variables de control de instrucciones for usadas en el código de un nodo (método) deben declararse locales al node, usando la sintaxis:
<node-name> (<type>) [<list-of-successors> ,] var <var-declarations> ::
  • Los archivos predefindos Input y Output  en Delphi ObjectPascal están implementados siguiendo la definición Pascal standard, esto es, sin  las facilidades de TurboPascal [3], como GoToXY o ClrScr, incluidas en la Unit Crt que Delphi no soporta. Además, programas que escriban a Output o lean de Input tienen que ser compilados con la opción Console Application activada en el submenú Options del Menu Principal de WinGli (WinGLIDER). Esta opción permite que el programa abra una ventana tipo console para uso de los archivos Input y Output. Si se trabaja directamente en el ambiente Delphi (IDE), esta opción es activateda usando la opción del menu principal Project/Options/Linker/Generate Console Applicationo colocando el comentario especial {$APPTYPE CONSOLE} después de la línea inicial del programa en el archivo .dpr (archivo principal de proyecto Delphi) .
  • El primer argumento en una instrucción FILE debe ser un nombre de variable de tipo text o un nombre de archivo encerrado entre comillas.
  • Las facilidades de uso de  database no han sido probadas en la  versión WINDOWS.
Nuevas características en la versión Windows:
  • Instrucción USES: Un programa GLIDER puede contener una instrucción USES, y si es así, debe ser la primera instrucción en la sección DECL. La sintaxis es la misma de ObjectPascal. Esta propiedad permite que el compilador de Delphi pueda compilar programas que incluyan tipos, variables y rutinas defindas en Units externas, dado que el precompilador GLIDER no las reconoce. Para evitar los errores de compilación  de GLIDER, se ha añadido también la siguiente facilidad:
  • Marcado e instrucciones: Colocando un caracter '#' como primer caracter de una línea le indica al precompilador GLIDER que ignore esa línea y  pase el resto de ella, tal como esté, al archivo generatdo en ObjectPascal. Todas las líneas de instrucciones que contengan referencias a identificadores definidos en Units externas deben ser marcadas. El usuario es responsable de que la sintaxis sea correcta, de lo contrario, el compilador Delphi reportará errores de compilación. Puede corregir el programa usando el ambiente WinGli de GLIDER o el de Delphi (IDE).
  • Uso de la Delphi Unit Dialogs : La Unit Dialogs siempre es incluida en la lista USES generada por el sistema.  Las rutinas de comunicación por ventanas con el usuario que esta Unit contiene, como ShowMessage, InputBox, etc., pueden usarse, pero en líneas marcadas con '#' para evitar errores de compilación de GLIDER. En muchos casos, puede ser un buen sustituto de instrucciones de lectura o escritura en Consola.
  • Unit WDGRAPH también es incluida siempre. WDGRAPH es la emulación para Windows en Delphi  de la Unit GRAPH de TurboPascal, con algunos agregados [5]. Fue desarrollada para la versión Windows de GLIDER, pero puede ser distribuida independientemente por el Grupo de Desarrollo GLIDER.
  • Múltiples Graficos: La versión Windows de GLIDER soporta múltiples instrucciones GRAPH, cada una genera una ventana gráfica donde se muestra el gáfico. Los gráficos pueden guardarse en formato BMP.


Referencias

1 Domingo C., Hernández M., Sananes M, Tonella G.: Lenguaje de Simulación GLIDER: Guía de Referencia CESIMO-IEAC, Universidad de Los Andes, Mérida, Venezuela, 1994.
2 GLIDER Development Group: GLIDER Reference Manual IEAC-CESIMO/ULA, Venezuela & Interdisciplinary Research Center, Department of Mathematical Sciences, SDSU, August, 1996. Financiamiento: CDCHT-ULA. http://afrodita.faces.ula.ve/Glider/gliweb/
3 BORLAND International, Inc.: Turbo Pascal version 6.0
4Inprise BORLAND Delphi, versions 4, 5 and 6
5 Sananes, M., Sayago, F. Transporte de Programas por Emulación de Bibliotecas. (Parte 2: Caso GLIDER a Plataforma Windows 95/98/NT). IEAC/FACES, CESIMO/FAI. Presentado en las II Jornadas de Estudios Estadísticos. Abril 1999. Financiamiento: CDCHT-ULA.
 

GROUPO DESARROLLO GLIDER
Carlos Domingo, Marisela Hernández (Diseño lenguaje y factibilidad) Renato del Canto, Cristina Zoltan (Asesores) Carlos Domingo, José G. Silva, Giorgio Tonella (Diseño lenguage extendido) Carlos Domingo (Desarrollo) Marta Sananes, José G. Silva, Giorgio Tonella (Asesores) Cruz Acosta, Herbert Hoeger, Luis Fuentes, Tania Jiménez, Francisco Palm, Segundo Quiroz, Oswaldo Terán, Kay Tucci (Colaboradores) Versión UNIX/LINUX: Carlos Domingo, Marta Sananes (Desarrollo) Milton Quero, Niandry Moreno (Colaboradores). Librería Emulación TPEX: Marta Sananes, Rafael Tineo (Desarrollo) Solveig Maldonado (Colaborador). Versión Windows: Carlos Domingo, Marta Sananes, Fernando Sayago (Desarrollo), Francisco Palm, Vicente Ramírez (Colaboradores).

MSDOS is registered trademark of Microsoft Corporation. All Borland products are trademarks or registered trademarks of Borland International, Inc.

GLIDER:  LenguaJe de Simulación
Guía de Usuarios WINDOWS
IEAC/FACES - CESIMO/FAI

Financiamiento: Consejo de Desarrollo Científico y Humanístico CDCHT
Universidad de Los Andes. Mérida, Venezuela

Septiembre 2003/Versión en inglés: Mayo 2001.