Sesión 17 SIMULACIÓN DE REDES DE PETRI

Sesión 17 SIMULACIÓN DE REDES DE PETRI Contenido Simulación y herramientas Procedimiento de simulación Redes coloreadas Ejemplos Simulación y her

0 downloads 50 Views 2MB Size

Recommend Stories


Tipos de redes Clasificación de las redes
Tipos de redes Clasificación de las redes Se denomina red de computadores una serie de host autónomos y dispositivos especiales intercomunicados entre

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS
Redes de Computadores | Redes y Sistemas Distribuidos Práctica 2: Configuración y Administración de Redes. Sesión 4 REDES DE COMPUTADORES | REDES Y

es: Petri, Stefano. 74 Agente: Curell Suñol, Marcelino
19 OFICINA ESPAÑOLA DE PATENTES Y MARCAS B41F 13/20 (2006.01) B41F 5/24 (2006.01) ESPAÑA 12 11 Número de publicación: 2 284 079 51 Int. Cl.:

INDICE 1 INTRODUCCION 2 REDES DE SEGURIDAD 2.1 REDES HORCA 2.2 REDES BANDEJA 2.3 REDES VERTICALES
INDICE 1 INTRODUCCION 5 6/7 2 REDES DE SEGURIDAD 2.1 2.2 2.3 2.4 2.5 8/12 REDES HORCA 13/15 REDES BANDEJA 16/18 REDES VERTICALES REDES HORIZONT

REDES INFORMÁTICAS REDES LOCALES
REDES INFORMÁTICAS REDES LOCALES ÍNDICE  Las redes informáticas  Las redes de área local 2.1 Estructura de una LAN 2.2 Protocolos de red  Relac

Story Transcript

Sesión 17 SIMULACIÓN DE REDES DE PETRI

Contenido

Simulación y herramientas Procedimiento de simulación Redes coloreadas Ejemplos

Simulación y herramientas Un modelo de eventos discretos se compone de bloques de un sistema y una caledarización o reglas que gobiernan el flujo de trabajo en un FMS. La simulación de eventos discretos es un proceso en el cual se reproduce el comportamiento de un sistema que se rige por eventos discretos tal como los eventos de un FMS. Uno de los objetivos de la simulación es e de obtener datos cualitativos y cuantitativos de un proceso para predecir el comportamiento y rendimiento del sistema.

Simulación y herramientas La simulación tiene dos motivaciones principales: Prototipos rápidos para determinar el comportamiento del sistema, y predicción de rendimiento. Algunas medidas de interés son el flujo de material, utilización de recursos, capacidad de buffers, resistencia a fallas y efectos de las misma. El modelo de software debería de capturar toda la dinámica e interacciones del sistema real. Dado que los sistemas reales de manufactura son difíciles de construir, la simulación es un medio para predecir con precisión, y elegir el mejor diseño entre estas alternativas.

Procedimiento de simulación de eventos discretos En la simulación de eventos discretos, el modelo contiene entidades u objetos, atributos, eventos, actividades y relaciones entre ellos. La colección de entidades y su estado define el estado general del sistema. Los cambios son manejados por ocurrencias de eventos, generalmente asíncronas. El sistema de manufactura, una entidad puede ser una máquinas, un robot, material (trabajo en progreso), y un controlador con su itinerario.

Procedimiento de simulación de eventos discretos Los atributos de una máquina incluyen su ritmo de operación, la naturaleza de la operación y su confiabilidad. Ejemplos de eventos son la llegada de materia prima, carga, descarga, cambio de herramienta y el comienzo de una operación.

La simulación del sistema de eventos discretos se involucran los siguientes pasos: Definición de requerimientos ●

objetivos

y

especificación

de

Determinar la especificación de requerimientos y objetivos de simulación del sistema de manufactura que se estudia o diseña. ●

Los objetivos son para determinar el mejor sistema entre diversas alternativas y para investigar el comportamiento y rendimiento del sistema. ●

Se selecciona el nivel de detalle apropiado para empatar el objetivo de modelado. ●

Por ejemplo, podría optimizar el rendimiento un FMS individual o para mejorar la distribución de las celdas en una planta de fabricación. Ambientes de simulación y lenguajes relacionados podrían ser usados para formular requerimientos, aunque podrían diferir del lenguaje usado para construir el modelo de simulación.

Desarrollo del modelo Formular un modelo el cual podría ser una Red de Petri u otro modelo. Por ejemplo, un modelo de manejo de solicitudes, máquinas de estados y un modelo orientado a objetos. La construcción de un modelo puede ser una tarea difícil, requiendo el entendimiento del modelador del problema y experiencia en modelado. El modelo ha capturado la esencia del sistema real sin un detalle excesivo.

Desarrollo del modelo Los modelos jerárquicos que podrían representar los diferentes niveles de detalle son requeridos para un sistema FMS de gran escala. Los resultados de simulación pueden ser presentados a planeadores y administradores para la toma de decisiones y servir de base para el diseño y la implementación en tiempo real. Premisas y simplificaciones tienen que ser justificadas.

Construcción del modelo computacional Construir una representación computacional del modelo. Por ejemplo, programar una formulación matemática usando un lenguaje de simulación o algún lenguaje de programación de propósito general, o construir un modelo gráfico en un editor gráfico en el cual los algoritmos de simulación están empotrados y no aparente a un usuario.

Colección de datos

Analizar todos los parámetros involucran en el modelo y serie de especificaciones, y adquirir datos basados en conteos, experiencia y desde la simulación a bajo nivel. La calidad de datos tiene directo impacto en los resultados obtenidos desde la simulación. Es necesario tener cuidado en este proceso.

Ejecuciones de simulación Se trata de ejecutar el modelo computacional o simulador para verificar que tan bien emula la realidad. El proceso de verificación del modelo asegura que la simulación modela apropiadamente al sistema. Si la estructura lógica, entradas y salidas son representadas correctamente en el modelo computacional, entonces es cuando se completa la verificación. Se usan casos simples y sentido común en el proceso. Técnicas de animación pueden facilitar el entendimiento de la dinámica. Finalmente, la validación asegura que el modelo es una buena representación de la realidad.

Evaluación de resultados de simulación Se trata de obtener y evaluar los resultados de la simulación. Este es una etapa de análisis estadístico aplicado a los resultados de la simulación y para validarlos. El sistema es simulado dentro de un rango aceptable de parámetros operacionales y configuración optima pueden ser determinados.

Documentación Documentar los datos de entrada, métodos , herramientas de simulación, tiempo computacional y los resultados. Los resultados deberán ser presentados en grafos para patrones y tendencias sobre los parámetros de interés. El uso de técnicas de descripción formal en la construcción de los modelos de simulación, permite la verificación de estos modelos, con respecto para sus propiedades de comportamiento, usando técnicas matemáticas estrictas. Por ejemplo, las redes de Petri permiten la construcción de modelos de simulación, de igual manera que su verificación formal a través de métodos de análisis.

Documentación Los resultados de simulación deben de ser comparados con los datos del mundo real, si están disponibles, para los sistemas existentes, o con los resultados producidos por modelos teóricos. Para sistemas complejos, obteniendo soluciones analíticas para modelos que involucran todas las caras de la funcionalidad de un sistema es, a menudo, difícil de hacer. Los modelos de la teoría de filas son usados, en la mayoría de los casos, para obtener los resultados de referencia. Estos efectos se deben al periodo de transición, lo cual sigue el inicio de la ejecución de la simulación,e influido por la naturaleza del sistema simulado tal como el ambiente de simulación.

Modelos de simulación, esquemas y herramientas

Hay tres tipos básicos de modelos de sistema de eventos discretos: Modelos de filas, modelos de transición de estados cuyos representantes son las máquinas de estados y redes de Petri, y los modelos orientados a objetos.

Modelos de filas En modelo de filas de un sistema de manufactura puede ser obtenido si se tratan los recursos tales como máquinas y robots como servidores, áreas de almacenamiento, bandas transportadoras como buffers (filas), y trabajos o partes como clientes. Cuando se tienen premisas estrictas, quizás no realistas o simplificadas, que se hacen para el modelo, los resultados analíticos pueden ser derivados de la evaluación del rendimiento. Cuando las premisas no pueden mantenerse, la simulación o los métodos de aproximación pueden ser usados para derivar los resultados deseados.

Modelos de transición de estados Los modelos típicos de transición de estados incluyen máquinas de estados finitos y redes de Petri. Cuando un sistema es complejo, la representación gráfica de una máquina de estados podría no ser práctica o posible debido a la explosión exponencial a que estaría sujeto el problema. Note que el número de estados está relacionado con un crecimiento exponencial con el número de componentes en el sistema.

Es posible incorporar el tiempo y efectos de retardo en la simulación. Hay dos formas de considerar el efecto del tiempo: El tiempo asociado con los eventos: por ejemplo, aquellos eventos que tienen un tiempo fijo de ejecución como las operaciones de mantenimiento programadas, cargas y descargas de material, etc. Tiempo y probabilidad asociado con los estados: tiempo fijo o aleatorio de retardo asignado a cada estado, implicando que el retardo en el momento en que el sistema entra al estado para pasar antes del disparo a eventos futuros.

Modelos orientados a objetos Un sistema de manufactura puede ser vista como una colección de objetos con reglas que gobiernan su dinámica e interacciona para generar los objetos deseados (producto). Los objetos pueden ser representados gráficamente y ser guardados en bases de datos como miembros de clase similar y compartir propiedades comunes. Tales objetos pueden ser construidos a partir de una base de datos para representar un modelo de sistema real. Estos modelos pueden crear librerías y ser reutilizadas como componentes de simulación.

Esquemas de simulación y herramientas Un sistema de simulación puede ser usado para la calendarización de eventos o para un esquema orientado a procesos. Un proceso puede ser tratado como una secuencia de funciones o eventos disparados por una entidad

En un esquema de calendarización de eventos, el proceso de simulación funciona con los siguientes pasos: 1. Se definen las variables iniciales de las variables, incluyendo los eventos posibles y sus tiempos de aparición en algo llamado 'Lista de eventos calendarizados'. Los eventos son ordenados por el sistema en base que el primero es que tienen menor calendarización. 2. Se remueve la primera entrada de la lista de eventos calendarizados. 3. Tiempo de reloj progresa para remover el tiempo calendarizado del evento.

4. Actualiza el estado del sistema debido a la ocurrencia del evento 5. Borra cualquier entrada correspondiente de eventos imposibles en el nuevo estado de la Lista. 6. Agrega nuevos eventos posibles y su calendarización de tiempos de ocurrencia. 7. Re-ordena La lista actualizada basado en el criterio de primero el de menor tiempo de calendarización y regresa al paso 2.

Unidades de tiempo Marcado

Función F Función Q Función A

0

(1,2,3,0,0)' (1,0)

(1,0)

(0,0)

1

(0,1,2,0,0)'

(0,1)

(0,2)

(1,0)

2

(0,1,2,1,0)'

(0,0)

(0,1)

(1,1)

3

(1,1,2,0,1)'

(1,0)

(1,0)

(1,2)

Descripción de las características de un paquete de simulación de redes de Petri Leer y almacenar una red de Petri Manejo de transiciones Resolución de conflictos Tiempo mínimo Marcado nuevo

Redes de Petri de alto nivel Las redes de Petri coloreadas son creadas para visualizar un cambio de estado de eventos al cambio de tokens a través de la red. Tales redes son útiles para el modelado de redes grandes, con múltiples tokens. Otras redes de alto nivel incluyen las asociaciones a redes de transición por predicado y redes orientadas a objetos con sus ambientes de desarrollo.

Redes coloreadas Las redes de Petri coloreadas (CPN) pertenecen a la familia de las PN, la diferencia viene marcada por las consideraciones en CPN de colores y de funciones lineales asociadas a sus arcos. Los tokens de color pueden representar un atributo o distintivo, si es necesario definir dos atributos entonces surge la idea de colores compuestos. Una transición en CPN está en estado ENABLED si todos sus nodos de entrada contiene en un número de colores igual o mayor que los definidos por fi donde fi es una función lineal asociada al nodo pi con la transición tj. Entonces además del concepto de color, estas redes manejan una función asociada para los elementos de las funciones I, O de la PN.

Ejemplo de una Red de Petri coloreada

Protocolo simple

Protocolo simple

Plazas Plazas

Protocolo simple

Transiciones Transiciones

Protocolo simple Place

Tipo Tipo (color) (color)

Protocolo simple Place

Marcado Marcado inicial inicial

Marcado para Envio INTxDATA

Send

8

1 ` (1,"Modellin") + 1 ` (2,"g and An") + 1 ` (3,"alysis b") + 1 ` (4,"y Means ") + 1 ` (5,"of Colou") + 1 ` (6,"red Petr") + 1 ` (7,"i Nets##") + 1 ` (8,"########")

Número Número de de tokens tokens Multi-set Multi-set de de Colores Colores de de tokens tokens

Protocolo simple

Inscripciones Inscripciones de de arco arco

Protocolo simple

Protocolo simple

Interface Interface de de las las plazas plazas de de buffer buffer

Protocolo simple

Paquetes Paquetes aa enviar enviar

Protocolo simple

Contador Contador

Protocolo simple

Contador Contador

Protocolo simple

Recepción Recepción de de datos datos

Protocolo simple

Envía paquetes

p = "Modellin"

1`(1,"Modellin") + 1`(2,"g and An") 8 + 1`(3,"alysis b") + 1`(4,"y Means ") + 1`(5,"of Colou") + 1`(6,"red Petr") + 1`(7,"i Nets##") + 1`(8,"########")

INTxDATA ●

El enlace



se habilita.

Send (1,p) (n,p)

INTxDATA 



Cuando el enlace ocurre, agrega un token a la plaza A.

Send Packet

(n,p)

A 1

Esto representa que el paquete (1,"Modellin") es enviado a la red.

n 1



El paquete no es removido de la plaza INT Send y el contador NextSend no cambia.

NextSend

n=1

1 1`1

1`(1,"Modellin")

Envía paquetes

p = "Modellin"

1`(1,"Modellin") + 1`(2,"g and An") 8 + 1`(3,"alysis b") + 1`(4,"y Means ") + 1`(5,"of Colou") + 1`(6,"red Petr") + 1`(7,"i Nets##") + 1`(8,"########")

INTxDATA ●

El enlace



se habilita.

Send (1,p) (n,p)

INTxDATA 



Cuando el enlace ocurre, agrega un token a la plaza A.

Send Packet

(n,p)

A 1

Esto representa que el paquete (1,"Modellin") es enviado a la red.

n 1



El paquete no es removido de la plaza INT Send y el contador NextSend no cambia.

NextSend

n=1

1 1`1

1`(1,"Modellin")

Protocolo simple

Transmite paquete

r ∈ 1. .10 if Ok(s,r) then 1`(n,p) else empty

INTxDATA

Transmit Packet

(n,p)

A 1

B

1`(1,"Modellin")

s=8

s 8

n = 1, p = "Modellin"



INTxDATA

RP

1

1`8

Int_0_10

Todos los enlaces habilitados son de la forma: ●





donde

r ∈ 1. .10

Pérdida de paquetes





if Ok(s,r) then 1`(n,p) else empty

La función Ok(s,r) verifica que r ≤ s. ● para r ∈ 1. .8, Ok(s,r)=true. El token se mueve de A a B. Esto significa que el paquete se ha transmitido exitosamente en la red. ● Para r ∈ 9. .10, Ok(s,r)=false. Ningún token se agrega a B. Esto significa que el paquete se ha perdido El simulador CPN hace elecciones aleatorias entre los enlaces: 80% de posibilidad para una transferencia exitosa.

Protocolo simple

""

Recibe paquete

Received

1 1`""

DATA



El número de paquetes que llegan n y el número de paquetes esperados k se comparan.

INTxDATA

str (n,p)

B

if n=k andalso pstop then str^p else str

1 1`(1,"Modellin")

k 1

NextRec INT 1 1`1

if n=k then k+1 else k

C INT

Receive Packet if n=k then k+1 else k

Número correcto de paquetes ◆

El dato en el paquete es concatenado al dato que ya se ha recibido.

Received

1 1`"Modelling and An"

1 1`"Modelling and An"

1`(3,"alysis b")

B

1

str

(n,p)

if n=k andalso pstop then str^p else str

1 1`(3,"alysis b")





El contador NextRec se incrementa en uno. Un Reconocimiento es enviado. Contiene el número del siguiente paquete que el receptor desea obtener.

1

1`"Modelling and Analysis b"

k

1`3

1

1

NextRec 1 1`3

1`4

1

if n=k then k+1 else k

C

Receive Packet 1 1`4 if n=k then k+1 else k

Número de paquete equivocado ◆

Received 1 1`"Modelling and An"

1`(2,"g and An") (n,p) 1 B

El dato en el paquete es ignorado

1 1`"Modelling and An"

if n=k andalso pstop then str^p else str

str

1 1`(2,"g and An")





El contador NextRec no cambia. Un Reconocimiento es enviado. Contiene el número del siguiente paquete que el recpetor desea obtener.

1

1`"Modelling and An"

k

1`3

1

1

NextRec

1`3

1 1`3

if n=k then k+1 else k

C

1

Receive Packet 1 1`3 if n=k then k+1 else k

Número de paquete equivocado ◆

El dato en el paquete es ignorado



El contador NextRec no cambia.



Un Reconocimiento es enviado. Contiene el número del siguiente paquete que el recpetor desea obtener.

Protocolo simple

Transmite Reconocimiento 8

RA

1 1`8

Int_0_10 s

D INT





if Ok(s,r) then 1`n else empty

Transmit Acknow.

n

C INT 1 1`2

Esta transición trabaja de manera similar como un paquete transmitido. El marcado de RA determina el ritmo de éxito.

Protocolo simple

Recibe Reconocimiento 1

NextSend INT 1 1`1 k

n

Receive Acknow.

n

D INT 1 1`2

Cuando un reconocimiento llega al origen, Este es usado para actualizar el contador NextSend. ●

En este caso, el valor del contador se convierte en 2, y por lo tanto se empezará a enviar el paquete número 2.

Modules

Tres módulos diferentes Receiver

Sender

I/O

Network



Out

In

Out

In

Out

In

In

Out

Las plazas de interface son usadas para intercambiar tokens entre módulos

Vista abstracta Protocolo

HS

HS

HS

Sender

Network

Receiver

 

Substitución de transiciones referidas a módulos Plazas de contacto se relacionan a las plazas de interface.

Módulos pueden ser reusados

Protocolo

HS Receiver HS

HS

Sender

Network HS Receiver

Protocolo con múltiples receptores Network Sender

Receiver I/O

Out In Out

In

Out In Out

In

Out In

Herramientas y aplicaciones

Herramientas ●

Design/CPN fue desarrollado a finales de los 80s y principios de los 90s. ●





Era uno de los paquetes mas usados para simular redes de Petri Fue reemplazado por CPN Tools

CPN Tools es la siguiente generación de soporte para redes de Petri coloreadas. ●

Es una herramienta para editar, simular y analizar redes de Petri coloreadas.



UPPAAL es una caja de herramientas para la verificación de sistemas en tiempo real desarrollado por la Uppsala University y Aalborg University ●



Está diseñado para modelar redes de automatas temporizados extendidos, con variables enteras, tipos de datos estructurados y canales de sincronización.

TAPAAL es una herramienta para el modelado, simulación y verificación de Redes de Petri con Arcos temporizados desarrollado también por el Departamento de Computación de la Universidad Aalborg en Dinamarca.

CPN Tools ●

La funcionalidad de CPN Tools es: ● ● ● ● ● ●

Editar y verificar sintaxis de Redes de Petri. Simulación interactiva y automática. Construcción y análisis de espacios de estado. Comunicación con otras herramientas. Simulación basada en análisis de rendimiento. Animación gráfica de resultados de simulación.

UPPAAL UPPAAL usa una arquitectura cliente-servidor, separando la herramienta en una interface gráfica de usuario y una máquina de verificación del modelo. La interface de usuario, o cliente, es implementada en java y el motor, o servidor, es compilado en las diferentes plataformas (Linux, Windows, Solaris) No está explicitamente diseñado para modelar redes de Petri

Conclusiones Hemos visto estrategias para preparar un modelo de una red de Petri para simulación Como se hace la construcción de un modelo computación de la red Se abordaron ejemplos de simulación Algunos paquetes que realizan simulación de sistemas discretos

Próxima sesión

Aplicaciones en Sistemas de Manufactura

Get in touch

Social

© Copyright 2013 - 2025 MYDOKUMENT.COM - All rights reserved.