13
El CDModeler es una herramienta gráfica que sirve para crear Modelos Atómicos y Acoplados DEVS. Permite crear modelos, grabarlos y recuperarlos, exportarlos e importarlos de múltiples formatos, graficar o animar las salidas. Provee un editor de texto embebido que permite modificar modelos DEVS en formato de texto (.ma) directamente. Integra las herramientas CD++ y drawlog dándoles una interfaz gráfica homogénea. El sistema permite definir gráficamente un Modelo Atómico. Permite, graficamente, incluír Estados Puertos Links Acciones Se debe seleccionar la solapa “Atomic”. Seleccionar File | New para crear un modelo nuevo. Elegir un nombre para el modelo haciendo Right-Click | Model Title e ingresar un nombre

El CDModeler es una herramienta gráfica que sirve para ... · El sistema agrega un nuevo Modelo Atomico aún no definido y le agrega un nombre y una clase de forma automática. Para

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

�����������

��������� �

El CDModeler es una herramienta gráfica que sirve para crear Modelos Atómicos y Acoplados DEVS. Permite crear modelos, grabarlos y recuperarlos, exportarlos e importarlos de múltiples formatos, graficar o animar las salidas. Provee un editor de texto embebido que permite modificar modelos DEVS en formato de texto (.ma) directamente. Integra las herramientas CD++ y drawlog dándoles una interfaz gráfica homogénea.

���������� �

���������� ��������� ����

El sistema permite definir gráficamente un Modelo Atómico. Permite, graficamente, incluír • Estados • Puertos • Links • Acciones • ���������

�� ������������ �����

Se debe seleccionar la solapa “Atomic”. Seleccionar File | New para crear un modelo nuevo. Elegir un nombre para el modelo haciendo Right-Click | Model Title e ingresar un nombre

�� �������� ���

Los Estados se crean haciendo doble-click sobre el modelo. Todo estado al ser creado, se le asigna automáticamente un nombre y un Time-To-Live. Los Estados se muestran como un circulo azul. Para elegir el nombre y el Time-To-Live del Estado, hacer right-click | Properties.

Se despliega una ventana llamada Atomic Unit Properties que permite elegir el nombre (State ID) y el Time To Live (state TL). Se puede marcar un Estado como Inicial haciendo right-click | Set initial.

���� ������� ���

Para borrar un Estado, primero hay que seleccionarlo haciendo doble-click sobre el mismo. El estado se pinta de rojo. Luego, apretar la tecla delete del teclado o Edit | Delete. El Estado será eliminado junto con todos los Links que lleguen o partan de él.

�� ������������

Los Puertos se crean haciendo right-click | Add Port. Aparece una ventana donde el usuario debe cargar un nombre para el puerto, seleccionar si es de entrada o salida y elegir si transmite valores enteros o de punto flotante.

���� �����������

Los puertos se borran haciendo right-click | Delete Port.. Esto despliega una lista con los puertos del modelo para elegir uno y borrarlo.

�� ����������

Luego de crear los Estados y Puertos necesarios, se pueden crear Links que representan las funciones de transición entre los mismos. Los Links, en los Modelos Atómicos, están divididos en 2 grupos, los Internos y los Externos. Antes de crear el Link, el usuario debe elegir entre Interno y Externo utilizando los botones Internal y External de la aplicación. Para crear un Link, se debe apretar el botón izquierdo del mouse sobre el Estado de origen, arrastrarlo sin soltar hasta el Estado de destino y soltar el botón (drag and drop). Un Link del tipo seleccionado será creado de esta manera.

Luego de haber creado un Link, debemos conectarlo con los puertos y agregarle Accines. Para un Link Interno, hacer right-click | Add Port & Value que despliega una ventana donde relacionar un valor con un Puerto.

Para un Link Externo, hacer right-click | Properties que análogamente permite relacionar el Link con una Expresion y un Valor

���� ���������

Para borrar un Link, primero hay que seleccionarlo haciendo doble-click sobre el mismo. El Link se pinta de rojo. Luego, apretar la tecla delete del teclado o Edit | Delete. El Link será eliminado del Modelo

�� ����� �����

Sobre un Link, hacer hacer right-click | Add action. Esto despliega un dialogo donde ingresar la accion.

���� ���� �����

Sobre un Link, hacer hacer right-click | Delete action. Esto despliega un dialogo con la lsita de acciones del Link para seleccionar una y borrarla.

�� ������ �� ����

Sobre el Modelo hacer right-click | Declare Variable. Esto despliega un dialogo donde ingresar una variable y un valor.

���������� �������������

El sistema permite definir graficamente un modelo acoplado. Un modelo acoplado puede contener

• Modelos Atomicos previamente definidos (*.cdd) • Modelos Atomicos previamente compilados (contenidos en el register.cpp) • Modelos Acoplados previamente definidos (*.ma) • Modelos Atomicos nuevos para ser explotados • Modelos Acoplados nuevos para ser acoplados. • Puertos • Links

�� ��������� ��� ��

Se debe elegir la solapa “Coupled”. Seleccionar File | New para crear un modelo nuevo. Elegir un nombre para el modelo haciendo Right-Click | Model Classname e ingresar un nombre.

������ ������������ ����������� ��������������������

Seleccionar File | Import Esto abre una ventana de OpenFile Elegir el modelo .cdd del file system.

El modelo elegido es incorporado al panel de modelos importados al sistema bajo el grupo “Atomic”

������ ������������ ����������� ���������� ������ ���������

Seleccionar File | Import Esto abre una ventana de OpenFile Elegir el archivo register.cpp de la instalacion de cd++ Los modelos atomicos definidos en el archivo register.cpp son incorporados al panel de modelos importados al sistema bajo el grupo “Atomic”. Como el archivo register.cpp no posee informacion sobre los puertos de entrada y salida de los modelos acoplados, el usuario debe conocerlos y cargarlos antes de incorporarlos al Modelo Acoplado que se esta definiendo.

Para definir los puertos de un modelo atomico importado debe hacerse right-click sobre el modelo. El sistema despliega un menu contextual donde se pueden agregar y quitar puertos al modelo importado.

������ ������������ ��� �������� ���������������!�� �

Seleccionar File | Import Esto abre una ventana de OpenFile Elegir el modelo .ma del file system. El modelo elegido es incorporado al panel de modelos importados al sistema bajo el grupo “Coupled”

�� ������������ ������������� � ����"���� ���

Hacer click sobre el botón "Add new Atomic Model Unit". El sistema agrega un nuevo Modelo Atomico aún no definido y le agrega un nombre y una clase de forma automática. Para elegir un nombre, hacer right-click sobre el modelo recién creado y elegir propiedades. La aplicacion presenta un dialogo donde ingresar un nombre.

�������������������

El usuario puede definir parametros iniciales para el Modelo Atomico recién creado. Para esto, hacer right-click sobre el modelo y elegir "Add Initial Parameters". Esto presenta un dialogo donde agregar parametros iniciales. Para borrar parametros iniciales hacer right-click sobre el modelo y elegir la opcion "Delete Initial Parameters". Esto presenta un dialogo con la lista de parametros iniciales para ser borrados.

���������

El usuario debe explotar el modelo para definirlo. Ver mas abajo

�� ������������ ��� ���������� � ����"���� ���

Hacer click sobre el botón "Add new Coupled Model Unit". El sistema agrega un nuevo Modelo Acoplado aún no definido y le agrega un nombre y una clase de forma automática. Para elegir un nombre, hacer right-click sobre el modelo recién creado y elegir propiedades. La aplicacion presenta un dialogo donde ingresar un nombre.

���������

El usuario debe explotar el modelo para definirlo. Ver mas abajo

�� ������������

Los Puertos se crean seleccionando el tipo de puerto deseado en el arbol de modelos y haciendo doble click sobre el panel de trabajo El sistema agrega un puerto y le asigna automáticamente un nombre y un tipo. Para cambiar estas propiedades, hacer right click sobre el puerto y elegir Propiedades. Aparece una ventana donde el usuario debe cargar un nombre para el puerto, seleccionar si es de entrada o salida y elegir si transmite valores enteros o de punto flotante.

���� �����������

Para borrar un Puerto, primero hay que seleccionarlo haciendo doble-click sobre el mismo. El Puerto se pinta de rojo. Luego, apretar la tecla delete del teclado o Edit | Delete. El Puerto será eliminado del Modelo

�� ����������

Luego de crear los Modelos y/o Puertos necesarios, se pueden crear Links que representan las funciones de transición enre los mismos.

Para crear un Link, se debe apretar el botón izquierdo del mouse sobre el Modelo o Puerto de origen, arrastrarlo sin soltar hasta el Modelo o Puerto de destino y soltar el botón (drag and drop). Luego de creado un Link hay que conectar sus extremos a Ports. Para esto, hacer right click sobre el Link y elegir Propiedades en el menu contextual. Se despliega un menú con dos combos que dan a elegir los puertos disponibles para cada extremo del Link

�� ��������������

Un Self Link es un Link que circular que tiene sus dos extremos unidos al mismo Modelo. Para crar un Self Link se debe apretar el botón izquierdo del mouse sobre el Modelo, arrastrarlo una cierta distancia lejos de él sin soltar el boton, volver al Modelo de origen y soltar el botón.

���� ���������

Para borrar un Link, primero hay que seleccionarlo haciendo doble-click sobre el mismo. El Link se pinta de rojo. Luego, apretar la tecla delete del teclado o Edit | Delete. El Link será eliminado del Modelo

�"���������������� ������# ��� ���������

�������������������������������

Los Modelos Atómicos o Acoplados nuevos creados deben ser definidos. Para esto, deben ser Explotados i.e. abrir un editor que nos permita definir estos modelos. Hacer right-click sobre el modelo creado y elegir "Explode". El sistema cierra el editor del modelo acoplado que se esta definiendo y abre un nuevo editor para el modelo que se esta explotando. El usuario debe definir y grabar el modelo que se esta explotando. Al cerrar el editor del modelo explotado, se vuelve a abrir el editor del modelo original. Los puertos creados en el modelo explotado se encuentran accesibles ahora.

��������������������������������������������������������������

Cuando un modelo es explotado la configuración de Puertos del mismo puede cambiar completamente. Debido a esto, todos los Links que llegaran al modelo y que estuvieran conectados a algún puerto del mismo son desconectados y el usuario debe volver a relacionarlos.

����������������������������

Un modelo creado y explotado puede ser modificado externamente por el usuario, ya sea utilizando otro Modeler o manualmente. Para esto, la aplicación cuenta con una función para recargar el modelo interno. Se debe hacer right-click sobre el modelo y elegir la opción "Reload".

� �������� ������

�� � �������$ ���� �������#�������

Todo Puerto o Modelo Interno de un Modelo Acoplado tiene una representación gráfica por default. Esta puede ser cambiada por una imagen giff o jpg.

Para esto el usuario debe hacer right-click sobre el objeto al cual le quiere asignar una imagen y elegir la opcion "Select Image". El sistema presenta un dialogo de Open File apuntando al Repositorio de Imágenes de la aplicación (ver Repositorio de Imagenes). El usuario debe seleccionar una imagen de esta u otra carpeta de su máquina. La imagen seleccionada es dibujada en el modelo y guardada en el repositorio.

�� � �������$ ���� � ������������

Se puede asignar una imagen a una Clase de Modelo importado. Todos los modelos creados a partir de esta clase son representados con la imagen seleccionada. Para esto el usuario debe hacer right-click sobre la clase importada a la cual le quiere asignar una imagen y elegir la opcion "Select Image". El sistema presenta un dialogo de Open File apuntando al Repositorio de Imágenes de la aplicación (ver Repositorio de Imagenes). El usuario debe seleccionar una imagen de esta u otra carpeta de su máquina. La imagen seleccionada es guardada en el repositorio.

�� � ������������

Los modelos Atomicos y Acoplados pueden tener una imagen de fondo. Para esto el usuario debe hacer right-click sobre el fondo del modelo y elegir la opcion "Background". El sistema presenta un dialogo de Open File apuntando al Repositorio de Imágenes de la aplicación (ver Repositorio de Imagenes). El usuario debe seleccionar una imagen de esta u otra carpeta de su máquina. La imagen seleccionada es guardada en el repositorio.

��������������� ����

La aplicación cuenta con un repositorio de imágenes. Cuando un objeto (modelo, puerto, fondo de un modelo) tiene una imagen, en realidad lo que tiene es solamente un nombre de una imagen. La aplicación busca en el repositorio una imagen con ese nombre y, si existe, dibuja el objeto con esa imagen. Si no la encuentra dibuja el objeto con su representación default. Cuando a un objeto se le asigna una imagen, esta es automaticamente copiada al repositorio de imágenes La locación del repositorio de imágenes puede cambiarse desde la opcion File -> Image Repository Directory.

�������������������� ��������������

La aplicación provee interfaces de integración con las Herramientas externas de uso mas frecuente simplificando y centralizando su uso

���� � ���������#�%%

���� � ����� � ���

��"���������������

���� �������

��� ��������

La aplicación posee la funcionalidad de representar gráficamente Modelos Cell DEVS. Para esto el usuario debe ir al menú Animate y elegir la opcion Cell-DEVS Animation. Esto despliega la interfaz de graficación.

��������������������

En esta interfaz el usuario debe elegir el o los modelos que desea graficar. Al apretar el botón “Add Model” se despliega una ventana de Open File donde el usuario debe seleccionar el archivo a graficar. Se pueden elegir dos opciones. Archivos de graficos .DRW o un modelo .MA mas un archivo log.

Los archivos a graficar se muestran en la lista Available.

�������������������

De todos los archivos a graficar disponibles, el usuario debe elegir cuales graficar. Para esto hacer doble click sobre los modelos que quiere graficar. Los modelos seleccionados se muestran en la lista Selected. Luego, al apretar el botón “Load Model” todos los modelos seleccionados son cargados y se grafica su primer cuadro.

����������� �!����

Una vez cargados los modelos, se pueden animar con los botones play, stop y pause. La velocidad de graficacion puede controlarse modificando el valor “Delay” y el slide bar subsiguiente. El valor “Delay” representa los milisegundos entre cuadro y cuadro. El slide bar modifca un 10% por punto esta velocidad. A medida que se va avanzando se puede visualizar el número de cuadro que se esta mostrando y la hora a la cual el mismo esta asociado. Se poseen botones para avanzar o retroceder cuadro por cuadro.

"��������������������

La opcion Show Values define si se muestran o no los valores sobre la grilla. La opcion Show Names controla si se muestra o no el nombre del grafico en la casilla superior izquierda. El boton Remove Dir/Add Dir agrega o quita la grilla que separa los cuadrados. Si el archivo que se esta graficando posee mas de una dimension, todas estas son graficadas una al lado de la otra. El checkbox “Show 2D Only” evita esto graficando solo la primera de las dimensiones. Se pueden elegir 3 formas distintas de graficar el archivo: Cuadrados, Triangulos o Hexagonos. Esto se puede elegir desde un combo a tal efecto.

����������#��������� ��������

La aplicación permite crear paletas para graficar los modelos. La ventana de selección, creacion y modificación de paletas se despliega presionando el botón “Modify Palette”. En la ventana de selección se pueden definir rangos numéricos y elegir para cada uno de esots un color o una imagen. La paleta asi definida puede ser guardada.

��� ����� ���� �

La aplicación posee la funcionalidad de representar gráficamente Modelos Atomicos Para esto el usuario debe ir al menú Animate y elegir la opcion AtomicAnimate. Esto despliega una ventana donde el usuario puede elegir el archivo .log de donde se tomaran los datos para graficar. Acto seguido se abre la ventan de graficación.

��������������������

Arriba a la derecha se muestra un combo con los modelos disponibles para ser graficados. Segun el modelo elegido, el graficador mostrará los valores asumidos por sus puertos a lo largo del tiempo.

�������������������

Para cada uno de los puertos, se incluye un checkbox. Si el checkbox es desactivado, el gráfico del pueto correspondiente deja de graficarse

$���������������!����

El graficador muestra un gráfico por cada uno de los puertos del modelo elegido. El grafico tiene el tiempo en el eje horizontal y los valores asumidos por el puerto en el vertical. Dado que las escalas en las que se desarrollan los valores de los Puertos pueden ser muy distintas, se tomo la decisión de graficar cada uno de los puertos en un gráfico separado. El eje horizontal, el tiempo, esta sincronizado entre todos ellos. Es decir, Si se traza una línea vertical, esta va a cortar a todos los graficos en el mismo valor del eje x.

%��������������

La escala horizontal es la misma para todos los puertos. La escala vertical es independiente puerto a puerto. Para cada puerto se provee dos valores que representan el valor minimo y el maximo a ser mostrado. Una vez seleccionados los valores, apretar el boton Set para aplicar los cambios. El zoom horizontal es el mismo para todos los puertos (ya que la escala es la misma) y es controlado con los botones X in y X out. El zoom vertical es independiente puerto a puerto y es controlado con los botones + y - disponibles para cada uno de estos. Porción de datos Dado que los archivos de log pueden pesar mucho y volverse inmanejables, el graficador lee y grafica solo una porcion de datos a la vez. Para eso numera los datos del archivo .log y grafica un subconjunto de ellos. Provee 2 valores que son el índice mínimo y máximo de los datos que se están mostrando. El boton Next pasa a la siguiente porción de datos. El botón Previous pasa a la anterior porción de datos. El boton Jump pasa a la porción de datos definido en los valores From y To.

��� ����� ��� � �

La aplicación posee la funcionalidad de representar gráficamente Modelos Acoplados Para esto el usuario debe ir al menú Animate y elegir la opcion CoupledAnimate. Esto despliega una ventana donde el usuario puede elegir el archivo .log de donde se tomaran los datos para graficar, el modelo acoplado mismo y el tiempo entre cada cambio de evento. Acto seguido se despliega el graficador.

���������

El graficador muestra en pantalla el modelo acoplado tal cual como se lo ve en el editor de modelos acoplados. Cuando se da Play, el graficador comienza a mostrar los valores que corren por los Links y la hora a la que ocurren. La frecuencia de estos eventos esta dada por el valor de "Elapse" Arriba a la derecha se grafica la hora en la cual se producen los eventos. Los Links por los cuales corren valores son pintados de rojo. Se muestra sobre el link el Puerto involucrado y el valor transferido.

�����������

Exportación a de Modelos Acoplados a .MA Exportacin de Modelos Atomicos a .CDD