Вы находитесь на странице: 1из 6

Tubos y filtros

' Enfatiza la transformación incremental.


' Los filtros mantienen escasa información
Flujo de datos contextual y no retienen información de estado
entre instancias. Tipados.
' Los tubos no tienen estado.
' Ejecutan no−determinísticamente.
' La función de un sistema TF no es ni más ni
menos que la composición de sus primitivas.

Generalidades Tektronix
' Proyecto: arquitectura reusable de un sistema.
' El estilo ve al sistema como una serie de
' Había poco reuso, cambios completos del
transformaciones sobre sucesivas partes de los
software, problemas de desempeño al
Osciloscopios
datos de entrada.
momento de reconfigurar el software
' Los componentes ejecutan cuando hay datos dinámicamente.
disponibles e interactúan proveyéndose datos
' Señales analógicas ingresan al sistema, pasan a
unos a otros.
través de una red de transformaciones y emer−
gen como gráficos y mediciones en un display.
' Cada transformador tiene una interfaz que
permite sintonizar la transformación mediante
parámetros.
[FILTER, PORT, FSTATE, DATA]
Port_State == PORT ß seq DATA
Partial_Port_State == PORT ß seq DATA
Tektronix: tubos y filtros »_Filter ___________________________________
Æfilter_id: FILTER
Æin_ports, out_ports: P PORT
Æalphabets: PORT ß P DATA
Coupling Kind, Rate Trans Size Æstates: P FSTATE
Æstart: FSTATE
Ætransitions: FSTATE x Partial_Port_State j FSTATE x Partial_Port_State
Couple Acquire To−XY Clip «_______________
Signal Trace Æstart e states ¶ in_ports I out_ports = 0 ¶ dom alphabets = in_ports U out_ports
ÆAc1, c2: FSTATE; ps1, ps2: Partial_Port_State
Times Waveform
Æ | ((c1, ps1), (c2, ps2)) e transitions
Æ • {c1, c2} z states
Trigger subsystem Measure
Measurement Æ ¶ dom ps1 = in_ports
Æ ¶ dom ps2 = out_ports
Æ ¶ (Ap: in_ports • ran (ps1 p) z alphabets p)
Æ ¶ (Ap: out_ports • ran (ps2 p) z alphabets p)
–_______________________________________
»_Filter_State ________________________________
Æf: Filter
Æinternal_state: FSTATE
Formalización Z de TF: filtros Æpstate: Port_State
«_______________
Æinternal_state e f . states
' En un esquema se incluyen todos los elementos Ædom pstate = f . in_ports U f . out_ports
ÆAp: dom pstate • ran (pstate p) z f . alphabets p
que componen un filtro. –_______________________________________

' En otro esquema se formaliza el estado de un ' Luego se define una operación que representa el
filtro como la combinación cambio de estado de un filtro.
' de los elementos que lo componen, ' De los tres ítems que componen el estado de un
' del estado de cada uno de sus puertos, y filtro sólo pueden cambiar:
' del estado del programa que implementa la función ' el estado de los puertos
del filtro.
' el estado del programa interno
»_Filter_Compute
_______________________________
Æ∆Filter_State »_Pipe
«_______________ ____________________________________
Æf = f’ Æsource_filter, sink_filter: Filter
ÆEps1, ps2: Partial_Port_State Æsource_port, sink_port: PORT; alphabet: P DATA
Æ • ((internal_state, ps1), (internal_state’, ps2)) e f . transitions «_______________
Æ ¶ (Ap: f . in_ports • pstate p = ps1 p ^ pstate’ p) Æsource_port e source_filter . out_ports ¶ sink_port e sink_filter . in_ports
Æ ¶ (Ap: f . out_ports • pstate p ^ ps2 p = pstate’ p) Æsource_filter . alphabets source_port = sink_filter . alphabets sink_port
–_______________________________________ Æ = alphabet
' Notar que la transición de un estado interno a –_______________________________________
otro debe estar dentro de las transiciones
previstas para el filtro.
»_Pipe_State
' Además, observar cómo parte del stream _________________________________
Æp: Pipe; source_data, sink_data: seq DATA
disponible en los puertos de entrada es «_______________
consumido, y cómo se incrementa el flujo en los Æran source_data U ran sink_data z p . alphabet
puertos de salida. –_______________________________________

' Un tubo cambia de estado cuando cierta


Formalización Z de TF: tubos cantidad de elementos del flujo de entrada pasan
al flujo de salida.
' En un esquema se incluyen todos los elementos
que componen un tubo: ' No es posible que los elementos de un filtro
' Los filtros conectados en cada extremo cambien (no se admiten arquitecturas
' Los "puertos" en cada extremo del filtro dinámicas).
' En otro esquema se formaliza el estado de un »_Pipe_Compute
tubo como la combinación ________________________________
Æ∆Pipe_State
' de los elementos que lo componen, y «_______________
' los flujos existentes a la entrada y la salida. Æp’ = p
ÆEdeliver: seq DATA | # deliver > 0
P1 F2 P3 Æ • source_data = deliver ^ source_data’ ¶ sink_data’ = sink_data ^ deliver
F1 F3 –_______________________________________
P2
»_System_State ________________________________
Æsys: System
Formalización Z de TF: el sistema Æfilter_states: P Filter_State
Æpipe_states: P Pipe_State
«_______________
' Un sistema de TF se compone de un cierto Æsys . filters = { fs: filter_states • fs . f }
número de filtros conectados entre sí por tubos. Æsys . pipes = { ps: pipe_states • ps . p }
ÆAfs1, fs2: filter_states • fs1 . f = fs2 . f ¤ fs1 = fs2
' Las conexiones siempre van den un puerto de ÆAps1, ps2: pipe_states • ps1 . p = ps2 . p ¤ ps1 = ps2
ÆAps: pipe_states
salida de un filtro a un puerto de entrada de otro Æ • (Efs: filter_states
filtro (según la formalización podrían ser el Æ • ps . p . source_filter = fs . f
mismo). Æ ¶ ps . source_data = fs . pstate ps . p . source_port)
Æ ¶ (Efs: filter_states
' Los filtros pueden tener puertos no conectados a Æ • (ps . p . sink_filter = fs . f
Æ ¶ ps . sink_data = fs . pstate ps . p . sink_port))
ningún tubo (lo que se interpreta como que –_______________________________________
están conectados al medio ambiente).
»_System ___________________________________
Æfilters: P Filter
' Un sistema de TF puede cambiar de estado
Æpipes: P Pipe debido a que uno varios filtros cambien de
«_______________ estado (cf. Filter_Compute), o a que uno o
ÆAc1, c2: filters • c1 . filter_id = c2 . filter_id ¤ c1 = c2
ÆAp: pipes • {p . source_filter, p . sink_filter} z filters varios tubos cambien de estado (cf.
ÆAf: filters; pt: PORT | pt e f . in_ports Pipe_Compute).
Æ • # { p: pipes | f = p . sink_filter ¶ pt = p . sink_port } ¯ 1
ÆAf: filters; pt: PORT | pt e f . out_ports ' Para cada una de estas posibilidades se define
Æ • # { p: pipes | f = p . source_filter ¶ pt = p . source_port } ¯ 1 un esquema de operación sobre el sistema.
–_______________________________________
»_System_Filter_Step _____________________________
Notar que no se dice que durante un
' El estado de un sistema de TF se compone de Æ∆System_State
"paso de filtro" los tubos no puedan
«_______________
'
cambiar (i.e. no se incluye
los elementos del sistema (que no pueden cambiar, Æsys’ = sys
ÆEFilter_Compute
pipe_states = pipe_states’
cf. arquitectura estática)
Æ • filter_states \ {θ Filter_State} = filter_states’ \ {θ Filter_State’}
' el estado de cada filtro (Filter_State) Æ ¶ θ Filter_State e filter_states
Æ ¶ θ Filter_State’ e filter_states’
' el estado de cada tubo (Pipe_State) –_______________________________________
»_System_Pipe_Step ______________________________ set points E
Æ∆System_State control VC
«_______________
Æsys’ = sys
Control de procesos C P

datos sensados
ÆEPipe_Compute
Æ • θ Pipe_State e pipe_states ' El propósito de un sistema de control es
Æ ¶ θ Pipe_State’ e pipe_states’
Æ ¶ (Afs: filter_states; fs’: filter_states’; pt: PORT | fs . f = fs’ . f
mantener propiedades específicas de las salidas
Æ • (fs . internal_state = fs’ . internal_state en valores cercanos a set points.
Æ ¶ (pt e fs . f . in_ports ¶ p . sink_filter Î fs . f
Æ v p . sink_port Î pt ' Cuando el sistema de software que convierte
Æ fi fs . pstate pt = fs’ . pstate pt) las entradas en salidas puede ser afectado por
Æ ¶ (pt e fs . f . out_ports ¶ p . source_filter Î fs . f
Æ v p . source_port Î pt perturbaciones externas, entonces un estilo de
Æ fi fs . pstate pt = fs’ . pstate pt))) control de procesos debe ser considerado.
–_______________________________________
' Notar que en este caso debe coordinarse el ' Perturbaciones externas refiere a cualquier
cambio de estado del tubo con el de los filtros característica de la entrada o del entorno no
por él conectados. considerada en la definición del proceso.

Especialización de TF: Pipeline Control de procesos (2)


»_Pipeline __________________________________
ÆSystem ' Ciclo abierto: sistemas en los cuales las
«_______________
ÆEin, out: PORT; order: 1 .. # filters ƒ filters
variables del proceso no son usadas para ajustar
Æ • # pipes = # filters − 1 el sistema.
Æ ¶ (Af: filters • (f . in_ports = {in} ¶ f . out_ports = {out}))
Æ ¶ (Ap: pipes ' Ciclo cerrado: lo contrario
Æ • (Ei: 1 .. # filters − 1
' Feedforward: se miden las variables controladas y
Æ • (p . source_port = out
Æ ¶ p . sink_port = in con estos datos se manipula el proceso.
Æ ¶ p . source_filter = order i ' Feedback: se miden algunas variables del proceso y
Æ ¶ p . sink_filter = order (i + 1))))
–_______________________________________
con estos datos se ajusta el proceso.
Elementos del estilo
Conectores
' Elementos de cómputo
' Separar el proceso de la política de control
' Definición del proceso: incluye mecanismos para ' No están descriptos en la literatura.
manipular algunas variables del proceso
' Algoritmo de control: para decidir cómo manipular algunas
set points E
variables del proceso
' Elementos de datos control VC
C P
' Variables continuamente actualizadas y los
sensores que obtienen esos valores datos sensados
tubo
' Variables del proceso: entradas, controladas y manipuladas
llamada a
' Set points procedimiento
' Sensores
evento
' El ciclo de control

Componentes (sub−sistemas) Metodología


' Los componentes son sub−sistemas basados en
el principio de ocultación de la información: ' Seleccionar el principio de control
' Controlador: presenta en su interfaz métodos para ' Seleccionar las variables de control
establecer los puntos límite, iniciar/detener el ciclo
de control y recibir los valores de las variables ' Seleccionar las variables controladas
controladas. Implementa el algoritmo de control. ' Crear sub−sistemas
' Proceso: oculta los componentes físicos del sistema
ofreciendo una interfaz que permite manipular y
observar algunas de sus variables de estado.
' Dentro de cada sub−sistema puede usarse DOO.

Вам также может понравиться