2010-03-27 67 views

Respuesta

3

Debería tener un diagrama de flujo separado para el procesamiento de interrupción. Los diagramas de flujo están diseñados para mostrar el flujo de control, y las interrupciones, por su propia naturaleza, son una interrupción en el flujo de control.

+2

Ok, el proceso de interrupción es un proceso separado. Pero, ¿cómo puedo representarlo en el proceso principal, por ejemplo? –

+0

bueno, esa es la cuestión: si el proceso principal es de ejecución gratuita, no se sabe dónde estará cuando se produzca la interrupción. Con algunas aplicaciones incrustadas en tiempo real, a veces se ve el "procesamiento principal" sincronizado con una interrupción, en cuyo caso el diagrama de flujo podría tener un bloque de "espera por interrupción", pero a la inversa podría argumentarse que en dichos sistemas todo el sistema es simplemente sofisticado manejador de interrupción. – JustJeff

0

Me gustaría configurar un diagrama de estado finito que represente los estados de control normales y los estados de interrupción; cada estado sería un elemento de nivel de bloque que contuviera un tipo de diagrama de diagrama de flujo.

0

Por lo general, sin un sistema operativo de tareas o una biblioteca, las interrupciones solo marcan una variable que luego afecta el flujo. Creo que @JustJeff tiene razón.

1

Dependiendo de la estructura del diagrama de flujo, probablemente tendría más sentido hacer que la interrupción se origine en un nodo/caja que no deriva de otro, ya que, por definición, una interrupción no surge del flujo de software normal (a menos es una interrupción activada por software). Puede tener sentido tenerlo en un diagrama de flujo separado, o mostrarlo con el resto del diagrama de flujo dependiendo de si podría desencadenar un comportamiento en el flujo principal del gráfico.

2

Normalmente, las interrupciones se comunican con su función "principal" (u otras interrupciones para el caso) a través del uso de variables globales "compartidas" en los sistemas integrados basados ​​en C. Creo que una forma sensata de representar esto en un diagrama de flujo es usar una línea punteada entre los bloques de procesamiento donde tales "comunicaciones" afectan el flujo del programa.

Cuestiones relacionadas