Simulación Dinámica con JavaScript [Guía de Usuario de Enterprise Architect]

Top Previous Next

Simulación Dinámica con JavaScript

button_main button_prev button_next

Las ediciones Corporativa y suite de Enterprise Architect tienen la capacidad de utilizar Javascript para evaluar guardas, efectos y otros aspectos del comportamiento dentro del contexto de Simulación. Esto proporciona una ejecución inteligente, completamente automatizada de su modelo de Estado o Actividad, con un control fino sobre puntos de interrupción, velocidad de ejecución y variables de simulación.

Javascript se puede escribir que utiliza cualquier variable. Para permitirle mostrar los valores de a variable a la interfaz de usuario dos valores definen que sus miembros se muestran en la ventanaVariables Locales. Estas son sim y this; por ejemplo:

sim.logger

sim.Customer.name

this.count

this.Account.amount

 

Todas la variables de arriba se mostrarán en la ventana Locales.

La convención recomendada es agregar cualquier variable global o de control no declarada en la Clase propietaria del objeto sim. En contraste sería normal agregar atributos del clasificador propietario al objeto this.

Algunos ejemplos de donde y como puede configurar el comportamiento de Simulación utilizando Javascript se muestra abajo. Vea el modelo EAExample.eap que viene con Enterprise Architect para algunos ejemplos más. También vea el Centro de Aprendizaje para más información sobre como configurar y trabajar con Javascript en Simulaciones.

Utilizando Javascript

Configuración

Acción

Ver También

Entrada de Script de Analista

Si ingresa código Javascript en el campo Entrada de la ventana del Analista de Ejecución, ese código será inyectado en la Simulación y ejecutado antes de que comience la Simulación. Esto es útil para establecer variables COM, contadores globales, funciones y otra inicialización.

 

simanalyzerinput

 

 

Guardas de Transición y Flujo de Control

Esto es lo eficaz de la funcionalidad de Simulación. Mientras Enterprise Architect evalúa posibles rutas hacia adelante en cada nodo en una Simulación, prueba las Guardas de transiciones y flujos de control salientes y sólo se va a mover hacia adelante si hay una única ruta verdadera para seguir - sino la se considera a la Simulación "bloqueada" y se requiere intervención manual. Debe utilizar el operador "==" para probar la igualdad.

 

simguards

 

 

Comportamiento de Elementos

Los comportamientos de Entrada y Salidase pueden definir para Estados. Tal código se ejecutará en el momento apropiado y es útil para actualizar variables de Simulación y hacer otras tareas.

 

simelementbehavior

 

También puede simular el comportamiento de Clases, a través de sus Instancias de Objeto, y Actividades en su modelo.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comportamientos de Llamada

Utilizando COM

Una característica muy importante de la implementación de Javascript en el simulador de Enterprise Architect es que soporta la creación de objetos COM. Esto proporciona la habilidad de conectar la Simulación en ejecución con casi cualquier otro proceso local o remoto e influenciar la Simulación basada en datos externos, o potencialmente cambiar datos o comportamientos en el mundo externo basado en el estado de Simulación actual (p.ej. actualizar un modelo mecánico o una simulación de software externa a Enterprise Architect). La sintaxis para crear objetos COM se muestra abajo.

 

 

this.name="Odd Even";

var logger = new COMObject("MySim.Logger");

logger.Show();

logger.Log("Simulation started");

 

 

 

Acciones Señalizadas

Es posible plantear un evento señalizado (disparado) directamente utilizando Javascript. El comando de BroadcastSignal() es utilizado para plantear un disparador nombrado el cual puede influenciar el estado actual de una simulación. Por ejemplo el siguiente fragmento plantea la señal (disparador) llamado "CancelPressed".

 

BroadcastSignal("CancelPressed");

 

Note que un disparador llamado CancelPressed debe existir dentro del entorno de simulación actual y debe únicamente tener ese nombre.

También puede llamar a la señal utilizando su GUID. Por ejemplo:

 

BroadcastSignal("{996EAF52-6843-41f7-8966-BCAA0ABEC41F}");

 

 

IS_IN()

El operador IS_IN(state) devuelve verdadero si la simulación actual tiene un estado activo en cualquier tema que coincida con el pasado del nombre. Por ejemplo es posible escribir código tal como el siguiente para controlar condicionalmente la ejecución:

 

if (IS_IN("WaitingForInput"))

BroadcastSignal("CancelPressed")

 

Note que el nombre debe ser único dentro de todos los contextos.

 

 

Trace()

El método Trazar(declaración) le permite imprimir declaraciones de Rastreo en cualquier punto arbitrario de su simulación. Este es un medio excelente de suplementar la el registro de la Simulación con información de salida adicional durante la ejecución.

 

 

Aprender más

Condición de Operando de Interacción y Comportamiento de Mensaje

Guardas y Efectos

Disparadores

 

Temas de Centro de aprendizaje

(Alt+F1) | Enterprise Architect | Simulación | Simulación Dinámica

Actividad Con JavaScript 1

Actividad Con JavaScript 2

Máquina de Estado Con JavaScript 1

Máquina de Estado Con JavaScript 2

Secuencia Con JavaScript 1

Secuencia Con JavaScript 2

Secuencia Con JavaScript 3