Adaptación de modelos de simulación estándar a modelos virtuales y/o sistemas de entrenamiento distribuidos, con representación del movimiento continúo de entidades. Pau Fonseca i Casas Departamento de Estadística e Investigación Operativa. Universidad Politécnica de Cataluña. Barcelona, Catalunya, 08034, SPAIN Josep Casanovas Departamento de Estadística e Investigación Operativa. Universidad Politécnica de Cataluña. Barcelona, Catalunya, 08034, SPAIN Jordi Montero Departamento de Estadística e Investigación Operativa. Universidad Politécnica de Cataluña. Barcelona, Catalunya, 08034, SPAIN
comprensión al detalle de los diferentes elementos que
Es en este punto, donde la representación de los modelos en
La representación de los modelos de simulación ha ido ganando
formato de realidad virtual, así como la capacidad de entrenar a
importancia a medida que los modelos crecían en complejidad y
personal especializado a través del modelo de simulación
era necesario dotar a los mismos de mayor potencia explicativa.
deviene una característica muy interesante a tener en cuenta
No obstante, con la complicación de la lógica que rige el
dentro de las características de los sistemas que permiten
comportamiento de los modelos de simulación, llegar a
modelos mas refinados y realistas -y con una representación
La posibilidad de usar los modelos de simulación como
que también cada vez sea más realista- requiere cada vez mayor
sistemas de entrenamiento o representación, en formato de
potencia de cálculo. Por otro lado el aumento del nivel de
realidad virtual del modelo, tiene no obstante, una doble
detalle en las interfac es de los sistemas de simulación, permite
usar estos no solamente para la toma de decisiones sino también
El primer problema hace referencia a la mera representación
virtual del modelo. Para ello se debe asociar, si puede ser de
El sistema desarrollado por el LCFIB denominado LeanSim®
una forma simple y rápida, a cada elemento del modelo de
[1], permite representar de forma distribuida sus modelos de
simulación una representación virtual y permitir la
simulación, y usar estas “ventanas” de representación como
modificación de la misma a partir de la lógica del simulador.
puntos de entrenamiento. A partir de la experiencia ganada
El segundo problema, y normalmente de mas difícil resolución
durante el desarrollo del proyecto, se generalizó el uso del
en los sistemas de simulación genéricos, es dotar a la
cliente de representación, dando lugar a la creación del sistema
representación virtual de la capacidad de modificar el modelo
VRABox®, que permite el uso de clientes de representación en
de simulación a partir de la interacción de un usuario con el
la mayoría de los simuladores, dotando a los mismos de la
capacidad de representar el modelo en formato de realidad
Actualmente, la mayoría del software de simulación no está
virtual y , siempre que sea posible, usar esta representación para
pensado para ofrecer una respuesta satisfactoria a estas
necesidades, la mayoría de los simuladores no están pensados
para poder ofrecer una representación realista del modelo que
Palabras clave . Simulación, Realidad virtual, VRML, Sistema
implementan, y aún menos una representación distribuida,
distribuido, Sistema de entrenamiento, tiempo real, LeanSim,
necesaria si se desea entrenar a más de un operario, o bien
observar el modelo simultáneamente desde diferentes puntos de
vista sin ralentizar la ejecución de la simulación.
No obstante, el elevado coste de un modelo de simulación, no
INTRODUCCIÓN
solo a nivel del software que implementa el sistema en si, sino
también el asociado a la construcción de los diferentes modelos
Tradicionalmente, el principal objetivo de un proyecto de
que el sistema de ayuda a la decisión usa, hace muy interesante
simulación es la obtención de datos que permitan comparar las
la posibilidad de adaptar antiguos modelos de forma que
diferentes alternativas planteadas. No obstante, cada vez más,
puedan recoger estas nuevas necesidades.
los modelos de simulación se usan no solamente como una
A continuación se explicará la arquitectura planteada para poder
valiosa herramienta para comparar estas alternativas, sino
adaptar el software existente de simulación a las estas nuevas
también como instrumentos extremadamente útiles para la
necesidades, así como se detallarán las características precisas
SISTEMAS, CIBERNÉTICA E INFORMÁTICA VOLUMEN 2 - NÚMERO 2
que este software ha de tener para que ello pueda realizarse con
El primer par de elementos pueden ser dos puntos de
interacción que representarán las máquinas con las que los
operarios trabajan. Estos dos puntos solamente pueden ver el
entorno asociado a su máquina, no podrán ver nada más del
EL OBSERVADOR REMOTO
modelo. Así mismo, sólo podrán interactuar con el modelo de
simulación a partir de su máquina respectiva. Se puede definir
El sistema de simulación LeanSim® desarrollado en el
otro punto de interacción que permita modificar parámetros de
Laboratorio de cálculo de la Facultad de Informática de
las dos máquinas, así como del sistema de generación de
Barcelona, permite representar los modelos de simulación de
entidades que circularán hacia cada una de ellas. Este punto de
forma distribuida a partir de un cliente de representación
interacción podría ser ocupado por una persona que quisiera
evaluar el trabajo de los dos operarios a partir de modificar las
Este sistema, a partir de un conjunto de elementos que se
condiciones del simulador. Finalmente se puede definir un
pueden incorporar a cualquier modelo de LeanSim®, permiten
punto de observación que permita a un responsable de la
comunicarse con el motor de simulación (denominado
empresa seguir on- line la evaluación o entrenamiento de sus
LeanGen) y de esta forma crear sistemas de entrenamiento (el
operarios, así como el trabajo del evaluador.
sistema LeanClient con los componentes de comunicaciones
El rol que juega cada persona dentro del simulador se define en
hacia el motor de simulación se denomina LeanTrainin g).
una base de datos que recoge los diferentes roles definidos para
Es importante notar que el sistema de representación del
modelo (LeanClient) es un elemento remoto, y que puede
ejecutarse en cualquier máquina que esté conectada mediante
TCP/IP con la máquina que ejecuta el modelo.
ARQUITECTURA DE VRABOX®
Gracias a la representación distribuida, los modelos pueden ser
complejos en sus dos vertientes , en su lógica interna, y también
A continuación se describirá brevemente la arquitectura
en cuanto a los detalles de su representación, sin que este
planteada a través de su implementación concreta en
segundo aspecto repercuta en la velocidad de la ejecución del
VRABox®, y las condiciones que han de cumplir los
simuladores para poder usar este sistema.
Los sistemas LeanClient, sin capacidad de interactuar con el
Es interesante notar que, a parte de los diferentes elementos que
modelo, permitirán implementar lo que se denomina puntos de
componen el sistema, existen una serie de ficheros que permiten
observación (del modelo), mientras que a los sistemas
LeanTraining permitirán implementar los puntos de interacción
Estos ficheros se estructuran en el directorio de instalación de la
aplicación, y pueden ser de diferentes tipos (ficheros de AutoCad®, ficheros de imágenes gif, jpg, bmp, para decorados,
El rol del observador
ficheros con contenido multimedia para recrear animaciones, etc.).
La arquitectura planteada, implementada en el sistema
VRABox®, permite la conexión simultánea de varios puntos de
observación y/o de interacción con el motor de simulación, a
ELEMENTOS
través de los que operaran los usuarios. Cada uno de estos usuarios tendrá un rol específico dentro del
En la siguiente figura se muestran los elementos principales de
modelo de simulación, no solamente por el hecho de observar el
modelo a partir de un punto de observación o de interacción,
sino también por las particularidades que estos puntos pueden tener definidas. Estas particularidades hacen que aparezca lo que denominamos
el rol del observador. Este rol determina cuá les son las acciones
que un observador puede realizar dentro del modelo, así como su ámbito de visibilidad. Por ejemplo, si tenemos un sistema, como el mostrado en la
Figura 1: Sistema de evaluación., formado por un par de máquinas controladas por sendos operarios, podríamos monitorizar el sistema a partir de 4 elementos.
El sistema de representación virtual (en nuestro caso
LeanClient), que permitirá representar los diferentes
puntos de interacción y de observación del modelo.
SISTEMAS, CIBERNÉTICA E INFORMÁTICA VOLUMEN 2 - NÚMERO 2
La base de datos, que permite la definición de los diferentes roles para los usuarios.
VRMovie-maker, que permite procesar los eventos que se crearán en el modelo de simulación y en los puntos de interacción a través de TCP/IP.
Elementos de interacción, que permiten que el usuario pueda, a través de ellos, interactuar con el modelo.
Plantillas del sistema de simulación que permitan gestionar el envío de información vía TCP/IP.
A continuación pasaremos a explicar brevemente los elementos
Figura 4 : Ventana inicial de VRMovie-Maker
Los parámetros iniciales configurables son el puerto de
comunicaciones, el intervalo de refresco y el número máximo
LEANCLIENT
Una vez estos parámetros han sido definidos, es posible cargar
La apariencia del cliente de representación se puede observar en
o crear un nuevo modelo virtual para el modelo de simulación.
Para ello VRMovie-Maker presenta el aspecto representado en
Figura 5 : Ventana de edición de VRMovie-Maker
La misión del cliente de representación es mostrar el modelo de
No se explicará el funcionamiento de VRM ovie-Maker. Se
simulación en formato de realidad virtual. Es por ello que
destaca, únicamente, que la capa que representa necesitará
cualquier cliente de representación tendrá dos elementos
adaptarse en función de la capacidad de definición de elementos
fundamentales: el motor de representación, que en nuestro caso
de comunicación en el simulador. Gracias a este elemento, los
se basa en un motor de VRML [3], y el sistema de
diferentes clientes de representación no tendrán que
modificarse, independientemente del simulador con el que se
No se entrará en mas detalles sobre el funcionamiento del
trabaje, y en el modelo de simulación simplemente deberán
cliente de representación, aunque puede consultarse [1].
incorporarse unos pocos componentes que permitan enviar
mensajes a este elemento, tal como se verá mas adelante en la
VRMOVIE- MAKER: SISTEMA DE COMUNICACIÓN CON EL SIMULADOR. ELEMENTOS DE INTERAC CIÓN
El objet ivo fundamental de este elemento es la comunicación
entre los diferentes clientes de representación y el simulador.
Los diferentes elementos de interacción están escritos en
La figura 4 se muestra la ventana inicial del sistema de
VRML y Java [9]. Permiten que el motor de rep resentación
comunicación VRMovie-Maker que se ha implementado.
VRML del cliente capture las acciones del usuario, y envíe esta
Esta ventana se mostrará una vez que el simulador haya cargado
información al VRMovie-Maker (que hará llegar esta
el modelo de simulación que se desea representar.
Estos elementos de interacción poseen una parte de código común que no tiene que ser rescrita en función del proyecto, y que permite realizar las acciones mas comunes (apretar un mecanismo, arrastrar, pasar por encima, etc.). No obstante, es evidente que al estar muy vinculados a la representación física de los elementos que desean representar, es necesario modificar su estructura para cada proyecto. Esta personalización es simplemente a nivel de representación, y únicamente involucra a los elementos representados que permiten ser manipulados por el usuario.
SISTEMAS, CIBERNÉTICA E INFORMÁTICA VOLUMEN 2 - NÚMERO 2
PLANTILLAS 10. REPRESENTAR EL MOVIMIENTO CONTÍNUO
En la mayoría de los sistemas de simulación, a no ser que
Debido a que las comunicaciones entre el motor de simulación
permitan la comunicación con el exterior directamente vía
y el cliente de representación se darán en una red, es importante
TCP/IP, es necesario incluir elementos que nos habiliten esta
minimizar el número de eventos necesarios para permitir la
posibilidad. Actualmente muchos de los sistemas de simulación
permiten importar, o ejecutar código que puede realizar esta
El principal problema reside en representar el movimiento en
aquellos elementos que presentan movimiento continuo.
A partir de la escritura de este código, es necesario crear unas
La primera solución que se puede plantear es el uso de eventos
plantillas (siguiendo el formato de Arena®), o módulos (como
de representación. Con esta solución se escoge un determinado
se hace en Witness®), que al ser introducidos dentro del
? t, que indicará el intervalo de tiempo a partir del que se irán
modelo de simulación no tengan ningún efecto sobre el mismo,
actualizando las representaciones en el cliente de
pero que permitan enviar mensajes TCP/IP hacia el VRMovie-
Maker, y gestionar los mensajes que el VRMovie-Maker pueda
El principal problema radica en que se generan una gran
cantidad de eventos que no tienen nada que ver con el modelo
Esta característica no esta siempre presente en los simuladores,
de simulación, y que tendrán que ser transmitidos vía TCP/IP,
y es por este motivo que no en todos será posible crear un
lo que pude plantear una solución altamente ineficiente,
teniendo en cuenta las características distribuidas del sistema.
A continuación se detallan las características a cumplir por un
Otra solución es la definición de rutas. Estas rutas especificarán
los puntos por los que los diferentes elementos se podrán mover
A nivel operativo, cuando el motor de simulación detecta la
necesidad de crear una nueva representación para un elemento
CARACTERÍSTICAS NECESARIAS DE UN
que tendrá un movimiento continuo, como por ejemplo situar
SISTEMA DE SIMULACIÓN PARA PODER USAR
un elemento al inicio de una cinta, envía no únicamente la
VRABOX®
posición actual al LeanClient (Or), sino que también envía la
posición de destino (Dt) y la velocidad del movimiento (V). Es
Evidentemente no todos los simuladores existente en el
importante destacar que cada uno de esto elementos pertenece a
mercado están preparados para poder comunicarse con
un espacio métrico de dimensión 3, puesto que podemos
VRMovie-Maker, y por tanto usar VRABox®.
Las características que ha de tener un simulador para poder usar
Además del paso de estos tres parámetros por parte del
simulador en el evento de inicio de representación del
Capacidad de incluir código: esta característica
movimiento continuo, también debe existir una relación entre la
permite la ejecución de código, generalmente Visual
velocidad del movimiento (v), y el paso de tiempo en el modelo
Basic o Java que, de esta forma, permitirá establecer
de simulación. Es decir, es necesario que en la simulación se
especifique un ?t fijo que indique como avanza el reloj de
Capacidad de acceder al estado de diferentes
simulación (pero no el tratamiento de eventos, que al ser event
elementos vía código: Además de poder usar el
scheduling no garantiza que el paso temporal entre eventos sea
código para poder generar la comunicación con
fijo [8]). Este ?t es necesario solamente para que la
VRMovie-M aker, es necesario también que se pueda
representación se adecue al modelo simulado, pero no
acceder a las características de los diferentes
provocará ningún envió extra de eventos a través de la red.
elementos del modelo de simulación, como mínimo a
Hablar de un ?t constante para el reloj de la simulación es
hablar de simulación a tiempo real, aunque evidentemente el
Capacidad de crear plantillas: A partir de estas
factor multiplicativo del tiempo de simulación respecto al
plantillas, se especificará el formato de las cadenas de
tiempo real puede ser de 2, 3 ó 0.5, lo que provocaría
texto que se enviarán a VRMovie-Maker, y se
simulaciones dos o tres veces mas rápidas, o a la mitad de la
añadirán los nuevos elementos al modelo para, a
velocidad de lo que sería el sistema real respectivamente.
partir de unas modificaciones que no afectarán en
En el sistema hay que especificar este factor de tiempo real
absoluto al comportamiento, poder enviar mensajes a
(Rtf). VRABox® permite especificarlo cómodamente en una
VRMovie-Maker y que este pueda efectuar la
ventana como la que se muestra a continuación.
representación. Esta característica no es necesaria,
pero sí recomendable para facilitar la tarea de adaptación del modelo.
Si se cumplen estas características, será posible crear sistemas
Con estos datos, LeanClient construye una nueva ruta,
Para cada simulador será necesario especificar únicamente las
considerando un factor de escala temporal apropiado.
plantillas que permitirán establecer la comunicación con
Pare representar el movimiento se calcula el tiempo necesario
VRMovie-Maker, pero el resto del sistema no deberá ser
La distancia que se utiliza es la distancia euclidiana, por tanto la
Si ninguna de estas características se cumple, es posible
expresión usada es la mostrada en la siguiente ecuación.
representar los modelos de forma distribuida a partir de una
traza de la simulación [2]. Evidentemente será, no obstante, imposible crear sistemas de entrenamiento.
SISTEMAS, CIBERNÉTICA E INFORMÁTICA VOLUMEN 2 - NÚMERO 2
Otro problema es que el evento que modificaría la posición de
(Or − Dt )2 + (Or − Dt )2 + (Or − Dt )2
un objeto al finalizar su movimiento continuo se demore, con lo
que habría objetos que se quedarían fijos al final de su
Estos dos casos denotan que la red provoca demoras
Como se ha comentado, este tiempo se usa para determinar
importantes en la transmisión de la información.
cuánto tardará el elemento para llegar a su destino. El motor de
Lo normal, no obstante, es que las demoras en la transmisión de
representación (que usa VRML en nuestro caso) se encarga de
los paquetes de información no sean excesivamente grandes, y
realizar los cálculos necesarios para que esto sea así.
que permitan que la apariencia del modelo representado en el
Generalizando, puede darse la situación en la que el
LeanClient se ajuste al modelo ejecutado en el simulador.
movimiento continuo no se da únicamente entre dos puntos,
sino que pasa por un conjunto de puntos intermedios antes de
En la siguiente tabla se muestran los tiempos que se tarda en
En ese caso se define una lista de la siguiente forma:
Anim1 = ({p ,t },{ p ,t },.,{ p ,t },.,{ p
Tabla 1: Tiempo en ms del recorrido a través del Atlántico
Esta lista representa los puntos de paso p1.p n por los que tiene
que circular el objeto. Cada uno de estos puntos tiene asociado
un tiempo que indica el instante en el que el objeto ha de pasar.
Este método para representar elementos es comúnmente usado,
por ejemplo, en VRML, pero en un entorno de simulación
distribuido como VRABOX® permite reducir sensiblemente
Tabla 2: Tiempo en ms del recorrido a través del Pacifico
los eventos que se envían a través de la red.
Si la animación se ha de detener, se envía un evento de stop al
El tiempo medio de demora de un paquete de información es de
LeanClient, y la animación entera es destruida. Posteriormente,
cuando se reinicia la animación, ésta se reconstruye poniendo
como primer elemento el último punto visitado del objeto, y
Obviamente la cantidad de eventos que fluirán a través de la red
como posteriores los que quedaban por visitar.
por unidad de tiempo es proporcional a Rtf, por lo tanto en
redes más eficientes, sin tener en cuenta el tiempo necesario
El código usado para representar el movimiento dentro de
para efectuar la representación, se podrían representar modelos
LeanClient tiene la estructura mostrada a continuación:
/ Primer amente la creación del objeto a animar
11. ESTUDIO DE SIMULADORES
//ahora es necesario crear el interpolador de posiciones, que
controla el movimiento y la demora en cada punto de la ruta.
A continuación se analizan algunos sistemas de simulación
CreateInterpPositions(Interpolator,Keys,KeysValues);
discreta, y se indica en qué nivel se podría trabajar con cada
/ Es necesario crear un reloj que controle el movimiento.
CreateTimer(Timmer,Time,"FALSE","0","0");
/ Finalmente en VRML es necesario conectar los eventos que
generan los diferentes objetos con los objetos que han de tratar
distribuida a distribuida en de entrenar
AddRoute("GLOBAL","time",Timmer,"set_startTime");
AddRoute(Timmer,"fraction_changed",Interpolator,"set_fractio
AddRoute(Interpolator,"value_changed",Object,"set_translation
Un detalle interesante es que en la creación del reloj que
controla la duración de la animación, se le pasa como parámetro
el tiempo total de la animación, calculado a partir de la
12. EJEMPLO DE REPRESENTACIÓN PARA ARENA®
CreateTimer(Timmer,Time,"FALSE","0","0");
Se escogió Arena® porque permite incluir código VisualBasic, más la creación de plantillas y el acceso a determinadas
características de sus objetos de simulación. Además Arena®
El principal problema de esta aproximación es que, puede
carece de un motor de representación en formato de realidad
existir un desfase entre el motor de simulación y el cliente de representación, (LeanClient), es decir se podría estar mostrando
virtual no basado en la traza, por lo que representaba un candidato adecuado para probar la arquitectura planteada.
el pasado del modelo de simulación. Por lo tanto, es posible que
Como se ha comentado, Arena® permite el uso de VisualBasic,
los objetos involucrados en movimientos continuos no tengan tiempo de acabar su movimiento.
pero en lugar de implementar las rutinas de comunicación de esta forma, lo que se hizo fue crear una librería dinámica que
SISTEMAS, CIBERNÉTICA E INFORMÁTICA VOLUMEN 2 - NÚMERO 2
permite realizar esta comunicación, simplificando enormemente el código necesario dentro de los diferentes elementos. En Arena® se puede indicar el uso de librerías dinámicas dentro del modelo de simulación a partir de la ventana que se muestra en la siguiente figura.
A partir de este punto, ya puede establecerse la comunicación con Arena. Para ejecutar los modelos, simplemente debemos tener cargado el modelo de simulación de Arena®, y a partir de un
LeanClient, que puede estar situado en cualquier otro PC
conectado via TCP/IP con el PC que contiene el modelo, lanzar
un evento de inicio de simulación. Este evento inicia la
Los elementos del modelo que permitirán enviar la información fuera del modelo serán los elementos TASK, que formatearán el
ejecución de la simulación en la máquina que tenga el modelo Arena®, e iniciará la captura de eventos de representación en el
texto cargándolo con la información que se desea enviar, mientras que el bloque ARRIB será el encargado de gestionar la
LeanClient para poder mostrar la evolución de la misma.
En la siguiente figura se muestra un sencillo ejemplo en el que
13. CONCLUSIONES
se indica el uso del bloque TASK y ARRIB.
En el presente artículo se ha visto que siempre es posible crear representaciones virtuales distribuidas de modelos de simulación, creados a partir de simuladores estándar, pero no siempre será posible crear sistemas de entrenamiento a partir de estas representaciones. Los sistemas de simulación más comunes no tienen capacidad para representar en formato de realidad virtual y de forma distribuida sus modelos. Esta deficiencia limita el tipo de aplicaciones para las que se pueden usar sus modelos, limitando enormemente su uso por ejemplo para sistemas de entrenamiento. Con la metodología planteada aquí, y concretamente con el paquete VRABox® es posible dotar a cualquier simulador de la capacidad de representar los modelos de forma distribuida en formato de realidad virtual, permitiendo además a algunos
simuladores la posibilidad de crear sistemas de entrenamiento.
Figura 8 : Ejemplo de uso de TASK y ARRIB en Arena®.
Como se ha visto VRABox® reposa sobre una tecnología
estándar de representación (VRML) lo que facilita
Así mismo, es necesario especificar el factor de velocidad de
enormemente la tarea al equipo que desarrolla los modelos
representación de la animación para poder obtener animaciones
virtuales, así como al equipo que implementa las diferentes
realistas. En la siguiente figura se muestra la ventana de
Arena® que permite realizar esta operación.
SISTEMAS, CIBERNÉTICA E INFORMÁTICA VOLUMEN 2 - NÚMERO 2
14. REFERENCIAS
[1] Pau Fonseca i Casas, Josep Casanovas I García, Jordi
Montero i García; LeanSim: Un sistema de simulación para el entrenamiento de personal especializado dentro de sistemas complejos; Memorias de la 2ª Conferencia Iberoamericana en sistemas, cibernética e informática CISCI 2003, Volumen I.
[2] Josep Casanovas i García, Wilfredo Pérez Ribero, Jordi
Montero i García, Pau Fonseca i Casas; Simulación de recepción y expedición, y áreas de picking en una planta de producción farmacéutica; 6th IEEE International Conference on Emerging Technologies and Factory Automation ETFA 99.
[3] Andrea L. Ames ; David R. Nadeau ; John L. Moreland
2000 VRML 2.0 Sourcebook, 2E. 688
[4] Microsoft Foundation Classes version 6.0 for Visual C++.
Microsoft Development Network. Visual Studio 6.0.
[5] Microsoft Development Network Library. Visual C++
[6] Antoni Guasch, Miquel Àngel Piera, Josep Casanovas,
Jaime Figueres, Modelado y simulación. Aplicación a procesos logísticos de fabricación y servicios. Ediciones UPC, 2002
[7] Ulises Cortés García, Javier Béjar Alonso, Antonio Moreno
Ribas Inteligencia Artificial, Ediciones UPC,1994
[8]. Law, A. M., Kelton, W. D. Simulation modeling and analysis. McGraw-Hill, 2000.
[9] Jaime Jaworski, Java 1.2 al descubierto. Editorial Prentice
[10]. The Direct X Programmer Reference . Graphics and
Multimedia Services. Microsoft Developer Network. 1998-1999.
[11] Geoffrey Gordon. System simulation; Editorial Prentice
[12] Michael Luck, Peter McBurney, Chris Preist; Agent Technology: Enabling Next Generation Computing; AgentLink 2003
[13] Richard Murch, Tony Johnson; Intelligent Software Agents; Prentice Hall 1999. 15. DIRECCIONES DE INTERN ET
[14] http://ipnetwork.bgtmo.ip.att.net/network_delay.html [15] http://www.evl.uic.edu/pape/CAVE/
SISTEMAS, CIBERNÉTICA E INFORMÁTICA VOLUMEN 2 - NÚMERO 2
E D I T A L D E P R E G Ã O Nº 011/2012 Edital de pregão presencial para a contratação de empresa para o fornecimento O PREFEITO MUNICIPAL DE NOVO TIRADENTES , no uso de suas atribuições, torna público, para conhecimento dos interessados, que às 09:00 horas, do dia 21 do mês de junho do ano de 2012 , na sala de reuniões do setor de licitações, localizada na Rua Lúcio
Brief CV of M A Zanjanchi Biography: Date of birth: June 1954 Place of birth: Ghazvin, Iran Nationality: Iranian Marital status: Married, two daughters and one son Affiliation and working address: Department of Chemistry, Faculty of Science, University of Guilan, P.O. Box 1914, Rasht, Iran Tel: 0131-3243630-5 Fax: 0131-3220066 E-mail Academic Ranks: Assistant Prof. 1982-1996 A