Sunteți pe pagina 1din 7

Anlisis algortmico de las estrategias de simulacin de sistemas discretos

Los lenguajes de simulacin para la simulacin de sistemas discretos se eligen en base a lo atractivo de sus caractersticas, aunque hay una de ellas que resulta determinante e impone la naturaleza del lenguaje, es la estrategia, enfoque o visin del mundo inherente al lenguaje, utilizada para la seleccin del suceso siguiente y la gestin del tiempo. Ellos se clasifican en los procedimientos de control de tiempos de los lenguajes de simulacin de sucesos discretos, segn la estrategia seguida en la seleccin de sucesos se clasifican en:

1. Programacin de Sucesos (Event Scheduling). 2. Exploracin de Actividades (Activity Scanning). 3. Interaccin de Procesos (Process Interaction).

El hecho de que algunos lenguajes tales como; SIMSCRIPT II.5, SLAM, SLAM II y SIMAN aparezcan tanto como lenguajes segn una estrategia de programacin de sucesos (event scheduling), como de interaccin de procesos (process interaction), responde a que su estructura y naturaleza permiten al usuario emplear ambas estrategias, lo que refleja la tendencia creciente a la incorporacin de mltiples visiones del mundo en la estructura de un solo lenguaje el cual esta ordenada a sucesos incondicionales que se implanta de la manera

que, el procedimiento (ES) de control del tiempo selecciona de la lista de sucesos aquel cuyo tiempo de ocurrencia es el ms prximo, resolviendo los empates por las prioridades asignadas o por defecto, actualiza el tiempo del reloj de simulacin, igualando su valor al del instante en que ocurre el suceso, y llama a la rutina correspondiente al tratamiento del suceso.

Cada una de las estrategias de simulacin que se que se presentaron en la tabla anterior es susceptible de una representacin algortmica genrica, as como las rutinas para el tratamiento de sucesos de la estrategia (ES), las rutinas de

condicin y las de actividades para la estrategia (AS), y los segmentos de condicin y accin para la estrategia (PI).

Debemos demostrar que en toda representacin algortmica se utiliza algn conjunto de procedimientos de gestin de estructuras de datos un ejemplo de ello seria las listas, para ayudar a la introduccin y recuperacin de las representaciones de la informacin sobre los sucesos y de esta manera manteniendo el carcter genrico de la representacin, evitaremos suposiciones sobre las estructuras de datos que se pueden utilizar en las implantaciones especficas de las estrategias tal descripcin algortmica sera precisa solo en la descripcin de los aspectos esenciales de la gestin del tiempo, incluyendo las implicaciones correspondientes a las rutinas de modelizacin, aunque excluyendo los detalles que no dependen de la estrategia y de esta forma la representacin algortmica va concentrada en su anlisis de las caractersticas que dependen de la estrategia adoptada y de las que dependen del problema especfico que se simula el cual los lenguajes de simulacin ofrecen, en general, las siguientes capacidades y caractersticas:

1. Modelizacin del estado del sistema. 2. Modelizacin de la dinmica del sistema. 3. Herramientas para el muestreo estadstico. 4. Especificaciones sobre el proceso de recogida de datos. 5. Recogida de datos generados por la simulacin. 6. Anlisis de los datos recogidos. 7. Presentacin de resultados. 8. Monitorizacin de la simulacin y herramientas de depuracin del modelo. 9. Procedimientos de inicializacin de la simulacin. 10. Herramientas auxiliares complementarias. Un enfoque al anlisis de estas caractersticas, seria que dentro de ellas son intrnsecas aquellas que dependen solo de la estrategia elegida y por lo tanto son las pueden ser objeto de una descripcin algortmica genrica de la estrategia

y ellas son; Modelizacin del estado del sistema, Modelizacin de la dinmica del sistema y el Procedimientos de inicializacin de la simulacin, mientras que las restantes son relativamente independientes de la estrategia y a partir de la identificacin de los elementos intrnsecos podemos dar las siguientes descripciones de la estrategia en pseudocdigo.

Dentro de las estrategias de las estrategias de simulacin de sistemas discretos damos algunos conceptos de cada una de estas.

Programacin de Sucesos (Event Scheduling). La programacin dirigida por eventos o de sucesos es un paradigma de programacin. Un paradigma de programacin es una propuesta tecnolgica que es adoptada por una comunidad de programadores cuyo ncleo central es incuestionable en cuanto a que unvocamente trata de resolver uno o varios problemas claramente delimitados. La resolucin de estos problemas debe suponer consecuentemente un avance significativo en al menos un parmetro que afecte a la ingeniera de software. Probablemente el paradigma de programacin que actualmente es el ms usado a todos los niveles es la orientacin a objeto. El ncleo central de este paradigma es la unin de datos y procesamiento en una entidad llamada "objeto", relacionable a su vez con otras entidades "objeto". En el que tanto la estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen. Para entender la programacin de sucesos, podemos oponerla a lo que no es, mientras que en la programacin secuencial o estructurada, es el programador el que define cul va a ser el flujo del programa, en la programacin dirigida por sucesos ser el propio usuario, o lo que sea que est accionando el programa el que dirija el flujo del programa. Aunque en la programacin secuencial puede haber intervencin de un agente externo al programa, estas intervenciones

ocurrirn cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programacin dirigida por eventos. Al crear un programa por sucesos se debe definir los eventos que manejarn su programa y las acciones que se realizarn al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarn determinados por el lenguaje de programacin utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador. En la programacin dirigida por sucesos, al comenzar la ejecucin del programa se llevarn a cabo las inicializaciones y dems cdigo inicial y a lo que el programa quedar bloqueado hasta que se produzca algn evento o suceso. Cuando alguno de los eventos o sucesos esperados por el programa tenga lugar, el programa pasar a ejecutar el cdigo del correspondiente administrador de evento. Un ejemplo seria si el evento o suceso consiste en que el usuario ha hecho click en el botn de play de un reproductor de pelculas, el cual este ejecutar el cdigo del administrador de evento, que ser el que haga que la pelcula se muestre por pantalla. Un ejemplo claro lo tenemos en los sistemas de programacin Lexico y Visual Basic, en los que a cada elemento del programa (objetos, controles, etctera) se le asignan una serie de eventos que generar dicho elemento, como la pulsacin de un botn del ratn sobre l o el redibujado del control. La programacin dirigida por eventos es la base de lo que llamamos interfaz de usuario, aunque puede emplearse tambin para desarrollar interfaces entre componentes de Software o mdulos del ncleo. En los primeros tiempos de la computacin, los programas eran secuenciales, tambin llamados Batch. Un programa secuencial arranca, lee parmetros de entrada, procesa estos parmetros, y produce un resultado, todo de manera lineal y sin intervencin del usuario mientras se ejecuta. Con la aparicin y popularizacin de los PC, el software empez a ser demandado para usos alejados de los clsicos acadmicos y empresariales para los cuales era necesitado hasta entonces, y qued patente que el paradigma

clsico de programacin no poda responder a las nuevas necesidades de interaccin con el usuario que surgieron a raz de este hecho. En contraposicin al modelo clsico, la programacin orientada a eventos permite interactuar con el usuario en cualquier momento de la ejecucin. Esto se consigue debido a que los programas creados bajo esta arquitectura se componen por un bucle exterior permanente encargado de recoger los eventos, y distintos procesos que se encargan de tratarlos. Habitualmente, este bucle externo permanece oculto al programador que simplemente se encarga de tratar los eventos, aunque en algunos lenguajes ser necesaria su construccin. Ejemplo de programa orientado a eventos o sucesos en pseudo codigo lenguaje: While (true){ Switch (event){ case mousse_button_down: case mouse_click: case keypressed: case Else: } }

Exploracin de Actividades (Activity Scanning).

La estrategia elige el suceso siguiente basndose en ambos, el tiempo programado para la ocurrencia del suceso y la verificacin de las condiciones. Un concepto amplio bsico en la actividad que determina una transicin de estado del sistema que requiere un periodo de tiempo. Esta actividad se presenta habitualmente mediante dos sucesos distintos que marcan respectivamente el principio y el final de la misma. Segn la visin del mundo que corresponde a un lenguaje, o modelo de simulacin programado en un lenguaje, basado en la estrategia AS, el cual considera que el sistema consta de componentes que

desarrollan actividades sujetas a actividades especificas. Se tiene en cuenta que para un enfoque ms priorizado en la implantacin de esta estrategia se particularizan las componentes de tipo activo, o componentes mviles del

sistema, que pueden tener asociada una rutina de actividad que cuando se ejecuta modela las fases de la componente. Cada componente de tipo activo tiene tambin asociado un reloj interno que indica en que instante la componente vuelve a poder ser tenida en cuenta para ser activada de nuevo y una rutina de condicin para determinar si se renen las condiciones, distintas del tiempo, requeridas para su reactivacin. El procedimiento de control de tiempo AS explora las actividades en orden de prioridad para su elegibilidad en el tiempo y otras condiciones complementarias de activacin y ejecuta la rutina correspondiente a la actividad de la primera componente cuyas condiciones de actividad se satisfacen.

Interaccin de Procesos (Process Interaction).

La estrategia contiene caractersticas hibridas que lo relacionan tanto con la estrategia ES como con las AS, dentro de la visin del mundo la PI contempla el progreso de las componentes del sistema a travs de una secuencia de pasos, o procesos, cada uno de los cuales puede tener dos posibles componentes, un segmento de condicin, cuya ejecucin identifica si se puede pasar a ejecutar la segunda componente, un segmento de accin. Dentro de la implantacin de la estrategia PI en un lenguaje como el GPSS, (General Purpose Simulation System, este es un lenguaje pionero desarrollado por Gordon en 1964, que a pesar de los aos transcurridos mantiene su vigencia gracias a las continuas actualizaciones, Schriber (SCH) el cual se basa en un procedimiento de control del tiempo que utiliza dos listas de sucesos: 1. Una lista de sucesos futuros (Future Events List. FEL), que contiene informacin sobre los eventos programados para ser ejecutados en un instante posterior. 2. Una lista de sucesos en curso (Current Events List, CEL), que contiene informacin sobre los eventos que ya son elegibles desde el punto de vista

del momento en que tienen que ser ejecutados, pero cuyas otras condiciones pueden no satisfacerse aun.

S-ar putea să vă placă și