67
Síntesis Algebraica de Controladores Lógicos Por: Ulises Martinez Araiza [email protected] www.ulisesmartinez.com 1

Síntesis Algebraica de Controladores Lógicos.pptx

Embed Size (px)

DESCRIPTION

Este es un trabajo realizado principalmente en la Ecole normale supérieure de Cachan (ENS Cachan), por el laboratorio de investigación de producción automática (LURPA, www.lurpa.ens-cachan.fr).Esta investigación consiste en una metodología para sintetizar requerimientos dados en lenguaje pseudo-estructurado con el fin de sintetizarlos en requerimientos en lenguaje formal y, a partir de ese momento, poder automatizar los procesos de validar los requerimientos, construir un controlador y, en procesos semiautomáticos, optimizar el controlador y resolver inconsistencias.

Citation preview

Page 1: Síntesis Algebraica de Controladores Lógicos.pptx

1

Síntesis Algebraica de Controladores

LógicosPor: Ulises Martinez Araiza

[email protected]

www.ulisesmartinez.com

Page 2: Síntesis Algebraica de Controladores Lógicos.pptx

2

Introducción

Page 3: Síntesis Algebraica de Controladores Lógicos.pptx

3

El método propuesto fue desarrollado para obtener las leyes de control a ser implementadas en controlador lógico dada por una especificación dada en lenguaje natural.

El modelo presentado en la figura tiene p entradas Booleanas (ui), q salidas Booleanas (yj) y r variables de estados (xl)

Page 4: Síntesis Algebraica de Controladores Lógicos.pptx

4

El comportamiento de este modelo puede ser completamente definido por medio de (q + r) funciones de conmutación de (p + r) variables.

El modelo admite hasta 2r estados diferentes. El modelo admite hasta 2p entradas diferentes. El modelo admite hasta 2q salidas diferentes. Por estas razones se pueden expresar hasta (2(2^(p+r)))

(q+r) diferentes comportamientos secuenciales.

Page 5: Síntesis Algebraica de Controladores Lógicos.pptx

5

Para lidiar con esta explosión combinatoria, las funciones de conmutación serán manejadas a través de representaciones simbólicas.

Cada entrada ui y cada salida yj serán representadas como funciones de conmutación: Ui y Yj.

Para tomar en cuenta el aspecto recursivo de las variables de estado, cada una de estas será representada por dos funciones de conmutación: Xl y

pXl.

La propuesta es obtener las funciones de conmutación Yj y Xl resolviendo un Sistema de ecuaciones Booleanas el cual representa formalmente los requerimientos entregados por el diseñador.

Page 6: Síntesis Algebraica de Controladores Lógicos.pptx

6

Los datos de entrada del método propuesto son requerimientos de seguridad y funcionales expresados informalmente dados por el diseñador.

Page 7: Síntesis Algebraica de Controladores Lógicos.pptx

7

El primer Paso es la formalización de los requerimientos con una descripción algebraica.

El Segundo paso consiste en analizar los requerimientos para conocer si estos son consistentes entre ellos. Si existe una inconsistencia, las condiciones para las

mismas son entregadas al diseñador.

Si la coherencia es probada, la descripción de los requerimientos se convierte en un sistema de ecuaciones.

El tercer paso es sintetizar las reglas de control, donde se resuelve el sistema de ecuaciones entregando las soluciones paramétricamente.

Finalmente el diseñador elije la solución pudiendo seguir un criterio de optimización.

Page 8: Síntesis Algebraica de Controladores Lógicos.pptx

8

En los métodos de diseño tradicionales, el proceso de diseño de un controlador lógico es un proceso interactivo hasta que se llega a una solución aceptable.

Se pueden introducir nuevos requerimientos en la búsqueda de la solución después del análisis de las soluciones parciales o la detección de inconsistencias.

Diseñar un controlador con una técnica de síntesis automática es un proceso en el cual el diseñador juega un papel importante.

Este método esta basado en un proceso interactivo con el diseñador.

Page 9: Síntesis Algebraica de Controladores Lógicos.pptx

9

Bases MatemáticasCaracterísticas típicas de las Algebras Booleanas

Page 10: Síntesis Algebraica de Controladores Lógicos.pptx

10

Definición 1: Algebra Booleana:Sea B un conjunto no vacío que contiene dos elementos especiales 0 y 1, y en los cuales definimos dos operaciones binarias cerradas +, ·, y la operación unaria ~.

Entonces (B,+, ·,~,0,1) es llamada un Algebra binaria si las siguientes condiciones se satisfacen para todo x, y, z en B:

10

10

)()()(

)()()(

xxxx

zxyxzyx

zxyxzyx

xyyx

yyyxLeyes Conmutativas

Leyes Distributivas

Leyes de Identidad

Page 11: Síntesis Algebraica de Controladores Lógicos.pptx

11

Definición 2: Formula Booleana:Una Formula Booleana (o Expresión Booleana) en B es cualquier formula la cual represente una combinación de los miembros de B y las operaciones de +, ·, o ~.

Por construcción, cualquier formula booleana en B representa un y solo un miembro de B. Dos formulas booleanas son equivalentes si y solo si ellas representan el mismo miembro en N.

La formula F construida con los miembros:

De B es denotada como:

),...,( n1 F

),...,( n1

Page 12: Síntesis Algebraica de Controladores Lógicos.pptx

12

Teorema 1: Expansión de Boole de una formula Booleana

Sea (α1,…, αn) con n miembros de B \ {0,1}. Cualquier formula booleana F(α1,…, αn) puede ser expandida como:

Donde F0(α2,…, αn) y F1(α2,…, αn) son dos formulas booleanas con solo (α2,…, αn). Estas dos formulas pueden ser directamente obtenidas de F (α1,…, αn) mediante:

1n211n20n1 ),...,(),...,(),...,( FFF

),...,,(),...,(

),...,,(),...,(

n2n21

n2n20

1

0

FF

FF

Page 13: Síntesis Algebraica de Controladores Lógicos.pptx

13

Definición 3: Relación de inclusiónSi , se define si y solo si .

También tenemos que:

Debido a que esta relación es:

Reflexiva

Anti simétrica

Transitiva

Esta relación define un orden parcial entre los miembros de B. Este es un orden parcial debido a que algunos elementos no son comparables.

Byx, yx xyx

0yxyx

0yxxyx

zxz,yy,x

yxx,yy,x

xx

:entonces

:entonces

Page 14: Síntesis Algebraica de Controladores Lógicos.pptx

14

Algebra Booleanapara funciones de conmutación de n-variables.

Page 15: Síntesis Algebraica de Controladores Lógicos.pptx

15

Definición 4: Funciones de conmutación de

n-variablesUna función de conmutación de n variables es el mapeo de la forma:

El dominio de esta función es de 2n elementos mientras que el condominio tiene 2 elementos. Por lo tanto existen 2^(2n) funciones conmutables de n variables.

)b,...,(b)b,...,(b

{0,1}B:donde

BB:

n1n1

n

f

f

Page 16: Síntesis Algebraica de Controladores Lógicos.pptx

16

Sea Fn(B) el conjunto de todas las funciones conmutables de n variables.

Fn(B) contiene (n + 2) funciones especificas, dos funciones constantes (0, 1)

y n funciones de proyección fiProj. Estas funciones se

definen de la siguiente manera:

in1

niProj

b)b,...,(b

BB:f

0)b,...,(b

BB:0

n1

n

1)b,...,(b

BB:1

n1

n

Page 17: Síntesis Algebraica de Controladores Lógicos.pptx

17

Estructura del Algebra BooleanaFn(B) puede ser equipada con tres operaciones cerradas:

Donde:

(Fn(B),+, ·,~, 0, 1) es un Algebra Booleana. Cada miembro puede ser representado como la composición de Fn(B) y las operaciones definidas.

gf(f,g)

(B)F(B):F n2

n

gf(f,g)

(B)F(B):F n2

n

f(f)

(B)F(B):F nn

),...,b(f)(b),...,b(bf

),...,b(g)(b),...,b(f)(b),...,bg)(b(f

),...,b(g)(b),...,b(f)(b),...,bg)(b(f

,B),...,b(b

n1n1

n1n1n1

n1n1n1

nn1

Page 18: Síntesis Algebraica de Controladores Lógicos.pptx

18

Formulas Booleanas y las relaciones en Fn(B)

Como (Fn(B),+, ·,~, 0, 1) es un Algebra Booleana, es posible escribir formulas Booleanas de funciones de conmutación de n-variables y sus relaciones. Las relaciones de equivalencia e inclusión pueden ser representadas de la siguiente manera: Equivalencia: f y g son equivalentes (f = g) si y solo si:

Esta relación se usa para traducir requerimientos como: f y g nunca son verdaderas simultáneamente:

Una de las funciones booleanas, f y g, siempre es verdadera:

),...,bg(b),...,bf(b

B),...,b(b

n1n1

nn1

0gf

1gf

Page 19: Síntesis Algebraica de Controladores Lógicos.pptx

19

Inclusión: f esta incluido en g , (f ≤ g) si y solo si:

Esta relación frecuentemente se usa para expresar requerimientos funcionales y propiedades de dependencia. Por ejemplo, la relación (f ≤ g) puede ser la traducción formal de alguno de los siguientes requerimientos dados en lenguaje natural:

Cuando f es verdadera, g también es verdadera. Es suficiente tener f para tener g. Es necesario tener g para tener f.

1]),...,b[g(b0]),...,b[f(b

B),...,b(b

n1n1

nn1

Page 20: Síntesis Algebraica de Controladores Lógicos.pptx

20

Solución de ecuacionesBooleanas sobre el algebra Fn(B)

Page 21: Síntesis Algebraica de Controladores Lógicos.pptx

21

Muchos problemas del algebra Booleana pueden ser reducidos reducidos a resolver una ecuación de la forma:

Sobre el algebra booleana B. Consideraremos un Sistema booleano compuesto de m relaciones entre miembros de Fn(B) para los cuales k de ellas son consideradas incógnitas.

Forma canónica de un Sistema booleano sobre el algebra Fn(B)

Considere el algebra (Fn(B),+, ·,~, 0, 1).

El conjunto (f1Proj,…,fn

Proj) de n funciones de proyección será denotado como Proj.

El conjunto (x1,…,xk) de k elementos considerados como incógnitas será denotado como Xk.

0f(X)

Page 22: Síntesis Algebraica de Controladores Lógicos.pptx

22

Teorema 2: Reducción del conjunto de relaciones

Cualquier conjunto de relaciones simultáneamente afirmado de funciones de conmutación de n-variables puede ser reducido a una sola relación equivalente tal que:

Para obtener esta relación equivalente, es necesario: Reescribir la igualdad de acuerdo a:

0,Proj)(X kF

0Proj),(XProj),(XProj),(X

Proj),(XProj),(X

k1k2k1

k2k1

Proj),(XFFFF

FF

k2

Page 23: Síntesis Algebraica de Controladores Lógicos.pptx

23

Reescribir la inclusión de acuerdo a:

Agruparlas igualdades de acuerdo a:

0Proj),(XProj),(X

Proj),(XProj),(X

k2k1

k2k1

FF

FF

0Proj),(XProj),(X

0Proj),(X

0Proj),(X

k2k1

k2

k1

FF

F

F

Page 24: Síntesis Algebraica de Controladores Lógicos.pptx

24

Para poder escribir una forma canónica para un Sistema Booleano, se introducirá la siguiente notación:

Esta notación se entiende a los vectores de la siguiente manera:

xxxx

BFx n

10

)(

kik ak

aai

ki

i

Ak

kkk

knkk

xxxX

aaA

BFxxX

...

}1,0{),...,(

)(),...,(

11

1

1

1

Page 25: Síntesis Algebraica de Controladores Lógicos.pptx

25

Teorema 3: Forma canónica de una ecuación Booleana

Cualquier ecuación Booleana Eq(Xk, Proj) = 0 puede ser expresada en su forma canónica:

Donde Eq(Xk, Proj) son los 2k discriminantes de Eq(Xk, Proj) de acuerdo a Xk. Esta formula canónica es obtenida expandiendo Eq(Xk, Proj) de acuerdo a las k incógnitas (x1,…,xk). Por ejemplo:

0),(}1,0{

k

kk

Akk

A

XProjAEq

xProjEqxProjEqProjxEq ),1(),0(),(

Page 26: Síntesis Algebraica de Controladores Lógicos.pptx

26

Teorema 4: Solución de una ecuación de una incógnita

La ecuación Booleana sobre Fn(B):

Para la cual su forma canónica es:

Es consistente (tiene al menos una solución) si y solo si se satisfice la siguiente condición:

En este caso, la forma general de la solución es:

Donde p es un parámetro arbitrario, por ejemplo, un miembro elegido libremente de Fn(B).

xProjEqxProjEqProjxEq ),1(),0(),(

)1(0),( ProjxEq

)2(0),1(),0(),( ProjEqProjEqProjxEq

)3(),1(),0( ProjEqpProjEqx

Page 27: Síntesis Algebraica de Controladores Lógicos.pptx

27

Esta solución también puede ser expresada de la siguiente manera:

Se puede notar que la misma solución puede ser descrita con dos diferentes parámetros. Para establecer una biyección entre el conjunto de soluciones y el conjunto de valores del parámetro, es necesario imponer la siguiente restricción al parámetro p:

),1(),0(

)),0((),1(

ProjEqpProjEqpx

pProjEqProjEqx

),1(),0( ProjEqProjEqp

Page 28: Síntesis Algebraica de Controladores Lógicos.pptx

28

Teorema 5: Solución de una ecuación de k incógnitas

Una ecuación de k incógnitas puede ser resuelta resolviendo sucesivamente k ecuaciones de una sola incógnita.

Si consideramos una ecuación de k incógnitas como una ecuación de una sola incógnita xk, la condición de consistencia corresponde a una ecuación de (k – 1) incógnitas. El proceso puede ser iterado hasta x1.

Después de sustituir S(x1) por x1 en la ultima ecuación, es posible encontrar la solución para x2. Entonces se aplica este procedimiento hasta obtener S(xk).

Page 29: Síntesis Algebraica de Controladores Lógicos.pptx

29

La ecuación Booleana sobre Fn(B):

Es consistente (tiene una solución) si y solo si se satisfice la siguiente condición:

Cuando se satisfice (5), la ecuación (4) admite una o mas soluciones de k-tuplas (S(x1),…, S(xk)) donde cada componente S(xi) es definida por:

)4(0),(0 ProjXEq k

)5(0),(0}1,0{

ProjAEq kA k

k

)6(),,1(),,0()( 1}1,0{

1}1,0{

ProjAEqpProjAEqxS ikiA

iikiA

i ikik

ikik

Page 30: Síntesis Algebraica de Controladores Lógicos.pptx

30

Donde:

Y pi es un parámetro arbitrario (un miembro libremente elegido de Fn(B)).

Es importante notar que el orden en el cual las incógnitas son tratadas solo afectan la forma paramétrica de la k-tupla solución.

Esto es debido a que la misma la k-tupla solución puede ser representada con varias formas paramétricas distintas.

)(111 ),,...,,(),,...,(ii xSxkiiikii ProjxxxEqProjxxEq

Page 31: Síntesis Algebraica de Controladores Lógicos.pptx

31

Conclusiones Parciales

Gracias a los teoremas presentados en esta sección, es posible obtener una representación paramétrica de todas las soluciones de cualquier conjunto de relaciones afirmadas simultáneamente con k incógnitas si una solución existe.

Como el algebra Booleana Fn(B) esta equipada con un orden parcial, la comparación de las soluciones conforme a un criterio dado puede ser previsto.

Page 32: Síntesis Algebraica de Controladores Lógicos.pptx

32

Solución de inconsistenciasde ecuaciones Booleanas sobre Fn(B)

Page 33: Síntesis Algebraica de Controladores Lógicos.pptx

33

En la practica, es muy difícil para el diseñador especificar todos los requerimientos de un sistema complejo sin inconsistencias.

Esta es la razón por la que los requerimientos dados por el diseñador frecuentemente son declarados inconsistentes de acuerdo al teorema 5.

Dado que la condición de inconsistencia es una formula booleana, es posible usarla para la detección del origen de las inconsistencias.

Page 34: Síntesis Algebraica de Controladores Lógicos.pptx

34

Se deben considerar 2 casos:

Varios requerimientos no pueden ser respetados simultáneamente. En este caso, una jerarquía entre los requerimientos puede ser propuesta para encontrar una solución. Los requerimientos de menor prioridad deben ser corregidos para lograr la consistencia.

Las inconsistencias detectadas refieren a combinaciones de funciones de proyección en la cual el diseñador sabe que no hay solución. Para evitar el bloqueo del proceso de síntesis, se introducen nuevas hipótesis.

Page 35: Síntesis Algebraica de Controladores Lógicos.pptx

35

Teorema 6: Solución de una ecuación Booleana de acuerdo a hipótesis entre funciones de proyección.

El siguiente problema:

Donde Eq0(Xk, Proj) es la ecuación a resolver y A(Proj) son las hipótesis, admite la misma solución que:

(Proj)Proj),(XEq k0 A

0(Proj)

0Proj),(XEq k0

A

Page 36: Síntesis Algebraica de Controladores Lógicos.pptx

36

Teorema 7: Solución de una ecuación Booleana de acuerdo a reglas de prioridad entre requerimientos.

El siguiente problema:

Donde: FH(Xk, Proj) = 0 es la expresión formal de los

requerimientos con la mas alta prioridad.

FL(Xk, Proj) = 0 es la expresión formal de los requerimientos con la mas baja prioridad.

HR»LR0Proj),(XOR

0Proj),(XLR

0Proj),(XHR

kO

kL

kH

F

F

F

Page 37: Síntesis Algebraica de Controladores Lógicos.pptx

37

FO(Xk, Proj) = 0 es la expresión formal de los otros requerimientos.

HR»LR es la regla de prioridad entre requerimientos inconsistentes.

Admite la misma solución que el Sistema de ecuaciones:

Donde I(Proj) es la condición de inconsistencia entre los requerimientos HR y LR:

0Proj),(X

(Proj)Proj),(X

0Proj),(X

kO

kL

kH

F

IF

F

Proj)),(AProj),(A((Proj) kLkH{0,1}A k

k

FFI

Page 38: Síntesis Algebraica de Controladores Lógicos.pptx

38

Ejemplo:

Se tomaran en cuenta los siguientes requerimientos para este caso de estudio: R1: Existen 3 modos exclusivos (Automático, Manual, y Fallo).

R2: Cuando se aprieta el botón de emergencia (Esb), la prensa se fija en modo Fallo.

R3: La prensa esta en modo automático si y solo si el switch de 3 posiciones esta colocado en la posición ‘SbA’.

R4: La prensa esta en modo manual si y solo si el switch de 3 posiciones esta colocado en la posición ‘SbM’.

0FailManualFailAutoManualAuto

FailEsb

SbAAuto

SbMManual

Page 39: Síntesis Algebraica de Controladores Lógicos.pptx

39

Ejemplo: Al sintetizar estos requerimientos se encuentra la siguiente

condición de inconsistencia:

SbA·SbM: Que pasa si los modos Automático y Manual están simultáneamente seleccionados? Tenemos que considerar que esto no es posible (ya que el switch solo puede estar en 3 posiciones) y entonces tenemos que añadir la siguiente hipótesis:

Esb·SbA: Que pasa si el botón de emergencia se activa mientras se esta en modo automático? Se tiene que considerar la prioridad que tiene el modo Fallo sobre el modo automático por razones de seguridad, se agrega la regla de prioridad:

Esb·SbM: Que pasa si el botón de emergencia se activa mientras se esta en modo manual? Se tiene que considerar la prioridad que tiene el modo Fallo sobre el modo manual por razones de seguridad, se agrega la regla de prioridad:

SbMEsbSbAEsbSbMSbA 0I

0SbMSbA

»R3RR }2,1{

»R4RR }2,1{

Page 40: Síntesis Algebraica de Controladores Lógicos.pptx

40

Solución optimade ecuaciones Booleanas sobre Fn(B)

Page 41: Síntesis Algebraica de Controladores Lógicos.pptx

41

El objetivo es ser capaces de obtener automáticamente la forma paramétrica de las k-tuplas soluciones de Fn(B), tal que esta satisfaga no solo la ecuación de requerimientos (Eq(Xk, Proj) = 0) dada en formulas booleanas, sino también maximizar o minimizar una formula booleana de estas funciones (F(Xk, Proj)), correspondiente al criterio de optimización deseado.

Hablando generalmente, la búsqueda de las mejores tuplas de solución de acuerdo con un criterio dado cuando el espacio de soluciones esta compuesto de valores discretos es un problema matemático complejo.

A veces es necesario construir comparaciones lado por lado de cada solución para poder identificar la mayor.

Page 42: Síntesis Algebraica de Controladores Lógicos.pptx

42

Es posible obtener la forma paramétrica investigada de las k-tuplas gracias a los siguientes resultados:

Cuando una ecuación entre funciones Booleanas tiene una o mas tuplas de solución en Fn(B), cada formula establecida de estas funciones puede ser re-escrita gracias a las funciones de proyección de Fn(B) y los parámetros libres de Fn(B) que están describiendo estas tuplas de soluciones.

Cada formula Booleana establecida de las funciones de proyección de Fn(B) y de los parámetros libres de Fn(B) tienen un máximo único y un mínimo único. Estos extremos pueden ser representadas solo gracias a las funciones de proyección de Fn(B).

Page 43: Síntesis Algebraica de Controladores Lógicos.pptx

43

Por lo tanto es posible re-escribir el problema inicial:

En un Sistema de 2 ecuaciones a resolver

Donde

Proj)),(Xmax(

0Proj),(XEq

kC

k0

F

(Proj)Proj),(X

0Proj),(XEq

MaxCkC

k0

FF

)( Proj),(XMax(Proj) kC0}Proj),Eq(XX{

MaxCkk

FF

Page 44: Síntesis Algebraica de Controladores Lógicos.pptx

44

Extremo de una formula Booleana de acuerdo a miembros elegidos libremente de Fn(B)

Considere el algebra Booleana de funciones de conmutación de n-variables (Fn(B),+, ·,~, 0, 1):

Sea (f1Proj,…,fn

Proj) el conjunto de n funciones de proyección de Fn(B).

Sea (p1,…,pk) el conjunto de k elementos de Fn(B) considerados como miembros libremente elegidos. Sea Pk el vector correspondiente

Cualquier formula F(Pk, Proj) para la cual Pk son los miembros libremente elegidos de Fn(B) define un subconjunto de Fn(B).

De acuerdo con la relación ≤, los elementos de este subconjunto pueden ser comparados. En este caso especifico, el subconjunto definido por F(Pk, Proj) admite un elemento mínimo y un elemento máximo.

Page 45: Síntesis Algebraica de Controladores Lógicos.pptx

45

Teorema (8): Mínimo de una función Booleana

Cualquier formula F(Pk, Proj) para la cual Pk son miembros libremente elegidos de Fn(B) admite un mínimo definido como:

Teorema (9): Máximo de una función Booleana

Cualquier formula F(Pk, Proj) para la cual Pk son miembros libremente elegidos de Fn(B) admite un máximo definido como:

Proj),(AProj)),(P(Min k{0,1}A

k(B)FP k

kk

nk

FF

Proj),(AProj)),(P(Max k{0,1}A

k(B)FP k

kk

nk

FF

Page 46: Síntesis Algebraica de Controladores Lógicos.pptx

46

Resolviendo el problema de optimización Considere el algebra Booleana de funciones de conmutación de n-variables (Fn(B),+, ·,~, 0, 1):

Sea (f1Proj,…,fn

Proj) el conjunto de n funciones de proyección de Fn(B). Sea Proj el vector correspondiente.

Sea (x1,…,xk) el conjunto de k elementos de Fn(B) considerados como incógnitas. Sea Xk el vector correspondiente.

Sea (p1,…,pk) el conjunto de k elementos de Fn(B) considerados como miembros libremente elegidos. Sea Pk el vector correspondiente.

Sea (Eq(Xk, Proj) = 0) la ecuación booleana a resolver.

Sea FC(Xk, Proj) la formula Booleana con el criterio de optimización dado (maximización o minimización).

Page 47: Síntesis Algebraica de Controladores Lógicos.pptx

47

El método propuesto, para obtener la forma paramétrica de la k-tupla solución de funciones de conmutación de (Eq(Xk, Proj) = 0) de acuerdo al criterio de optimización FC(Xk, Proj) se compone de 5 pasos:

1. Establecer la forma paramétrica de la k-tupla solución de (Eq(Xk, Proj) = 0) con ayuda del teorema 5.

2. Establecer la forma paramétrica del criterio de optimización dado FC(Xk, Proj) substituyendo S(xi) por xi. El resultado de esta sustitución será denotado por FSC(Pk, Proj).

3. Calcular el extremo de FSC(Pk, Proj) de acuerdo al teorema 6 o 7. El resultado será denotado por FEC(Proj).

4. Remplazar el criterio dado por la relación de equidad:

FC(Xk, Proj) = FEC(Proj)

5. Establecer la forma paramétrica de la k-tupla solución del problema equivalente:

(Proj)Proj),(X

0Proj),Eq(X

ECkC

k

FF

Page 48: Síntesis Algebraica de Controladores Lógicos.pptx

48

Ejemplo: El siguiente modelo representa las entradas y condiciones que

tiene el controlador de un Sistema de distribución de agua con 2 bombas.

Los requerimientos son:

Las bombas no pueden funcionar simultáneamente.

Si la bomba 1 fallo, entonces no puede ser utilizada.

Si la bomba 2 fallo, entonces no puede ser utilizada.

Si hay un fallo global, ninguna de las bombas puede ser usada.

Es necesario que se tenga una solicitud de agua para operar las bombas.

021 PP

11 PF

22 PF

)21( PPGF

RqPP )21(

Page 49: Síntesis Algebraica de Controladores Lógicos.pptx

49

Ejemplo: El problema a resolver es el siguiente:

Adicionalmente se agregan los siguientes criterios de optimización en orden de prioridad: Se busca maximizar la distribución del agua:

Se minimiza la posibilidad de iniciar una bomba:

Se busca maximizar un orden de prioridad entre las bombas:

RqPP

PPGF

PF

PF

PP

)21(

)21(

22

11

021

)21( PPMax

))22()11(( PPPPMin pp

))2Pr()1((Pr PPMax

Page 50: Síntesis Algebraica de Controladores Lógicos.pptx

50

Ejemplo:1. Se obtiene la solución sin criterios de optimización:

2. Se obtiene la forma paramétrica del primer criterio

3. Se maximiza el criterio:

4. Se resuelve la ecuación con el criterio de optimización:

)1(22

11

12

1

pFFGFRqpP

FGFRqpP

)21()21( 21 FpFpGFRqPP

)21()21( FFGFRqPP

)1(22

)2(11

)21()21(

)21(

)21(

22

11

021

1

1

FpFGFRqP

FpFGFRqP

FFGFRqPP

RqPP

PPGF

PF

PF

PP

Page 51: Síntesis Algebraica de Controladores Lógicos.pptx

51

Ejemplo: Se realiza el mismo procedimiento para los otros dos criterios.

El resultado final se muestra a continuación:

)12)12(Pr1(22

)21)21(Pr2(11

PPPPFFGFRqP

PPPPFFGFRqP

pppp

pppp

Page 52: Síntesis Algebraica de Controladores Lógicos.pptx

52

Conclusiones ParcialesGracias a los teoremas 8 y 9, es posible obtener una representación paramétrica de las soluciones optimas de acuerdo a un criterio dado, de cualquier conjunto de relaciones simultáneamente acertadas con k incógnitas si esta solución existe.

El método propuesto también permite asociar simultanea o secuencialmente varios criterios:

Cuando muchos criterios se tartán simultáneamente, el problema equivalente puede ser incoherente o puede no admitir solución. Esto es en caso de que se den criterios antagonistas.

Cuando varios criterios son tratados secuencialmente, las soluciones obtenidas satisfacen los criterios dados en orden de prioridad. El primer criterio se satisfice sin restricción. El Segundo criterio es usado únicamente para obtener soluciones que satisfacen el primer criterio.

Page 53: Síntesis Algebraica de Controladores Lógicos.pptx

53

Síntesis de reglas de ControlModelado de aspectos secuenciales

Page 54: Síntesis Algebraica de Controladores Lógicos.pptx

54

Los resultados matemáticos presentados anteriormente permiten diseñar sistemas lógicos, empezando por los requerimientos dados por relaciones algebraicas genéricas.

Estos resultados pueden ser usados directamente para sintetizar controladores lógicos combinatorios. Sin embargo, se necesita dar información adicional para poder tratar la parte secuencial del Sistema.

Durante la etapa de diseño, el diseñador puede usar diversos formalismos o recursos para poder modelar comportamientos secuenciales.

Cuando este paso termina, estos modelos se traducen en programas algebraicos los cuales se adaptan mas a su ejecución en controladores programables.

Page 55: Síntesis Algebraica de Controladores Lógicos.pptx

55

El modelo de la figura esta compuesto por dos bloques combinatoriales, el bloque de “estados lógicos” y el bloque de “salidas lógicas”.

Los valores de las variables de estado x1 son calculadas por el bloque de estados lógicos, y los valores de las salidas son calculados por el bloque de salidas lógicas de acuerdo a las siguientes ecuaciones:

(k))x(k),...,x(k),f(k),...,f(Y(k)y

1))-(kx1),...,-(kx(k),f(k),...,f(S(k)x

m1n

Proj1

Projjj

m1n

Proj1

Projll

Page 56: Síntesis Algebraica de Controladores Lógicos.pptx

56

En este Sistema de ecuaciones, x1(k) es el valor de x1 en el instante k y x1(k-1) es el valor de x1 en el instante inmediato anterior (k – 1).

Es posible tratar esa ecuación recurrente usando las herramientas formales presentadas anteriormente asociándole un diferente valor de variable al valor actual y al valor anterior en la misma variable.

Page 57: Síntesis Algebraica de Controladores Lógicos.pptx

57

Síntesis de condiciones de TransiciónEn modelos de estados.

Page 58: Síntesis Algebraica de Controladores Lógicos.pptx

58

Para poder crear modelos de maquinas de estados tomando en cuenta comportamientos secuenciales dentro de nuestro Sistema, [4] sugiere técnicas para poder generar estos modelos: Se usan las técnicas de síntesis de reglas de control para modelar

aspectos secuenciales, hacienda uso de variables para estado actual y estado siguiente. Las transiciones se representaran como variables de nuestro Sistema de ecuaciones.

Se utiliza la relación de equivalencia entre las variables que queremos modelar como estados y el estado Si del sistema.

Se utiliza la relación de equivalencia para describir el estado inicial de nuestro Sistema en nuestro modelo de estados:

nn

00

xS

xS

0S

1S

n

0

Page 59: Síntesis Algebraica de Controladores Lógicos.pptx

59

Finalmente se utilizan reglas especificas del comportamiento secuencial a modelar:

Primero, se agregan las condiciones de transición donde la divergencia a un nuevo estado debe ser mutuamente excluyente. Esto es, debe haber reglas para que no se pueda efectuar mas de una transición de un estado al otro en un mismo momento k:

La segunda regla es crear condiciones para que el modelo sea estable. No debe de haber una evolución fugitivo. Esto es que no debe haber dos transiciones sucesivas en el mismo paso:

0TTT

0TTT

cnncn1cn0

c0nc01c00

0TT(TTT(T

0T(TT(T

1)-cn(ncn1cn01)n-c(nc1nc0n

c0nc01cn0c10

))

))

Page 60: Síntesis Algebraica de Controladores Lógicos.pptx

60

Una vez agregadas las nuevas reglas, estas se resuelven con las técnicas ya conocidas y se elige la solución apropiada de acuerdo al criterio del diseñador o a algún criterio de optimización el cual se decida utilizar para la selección automática de la solución.

Regularmente estos sistemas entregaran algunos parámetros a ser ajustados cuando el Sistema ofrece redundancia y esto implicara el decidir la prioridad de alguna transición con respecto a otra, lo cual se resuelve nuevamente con un criterio de optimización o bien a criterio del diseñador.

Con esta técnica finalmente se pueden sintetizar reglas desde un modelo de estados en una representación algebraica.

Page 61: Síntesis Algebraica de Controladores Lógicos.pptx

61

Ejemplo: Relacionar variables con estados:

Inicializar el sistema:

Divergencia exclusiva:

Estabilidad en el sistema:

Finalmente se agregan las reglas de control especificadas en los requerimientos para las transiciones de un estado a otro.

22

11

PumpS

PumpS

0S

0S

1S

2

1

0

0Tc21Tc20

0Tc12Tc10

0Tc02Tc01

0Tc02)(Tc01Tc20)(Tc10

0Tc21)(Tc20Tc12)(Tc02

0Tc12)(Tc10Tc21)(Tc01

Page 62: Síntesis Algebraica de Controladores Lógicos.pptx

62

Conclusiones y Critica

Page 63: Síntesis Algebraica de Controladores Lógicos.pptx

63

Conclusiones Algunas dificultades comunes dentro de los diferentes trabajos

sobre síntesis algebraica son las que aparecen al momento de transformar de expresiones informales del conocimiento del Sistema a su formalización.

La propuesta presentada es un proceso iterativo que permite lidiar con las inconsistencias del os requerimientos durante la síntesis del controlador.

Este enfoque se basa en un método de síntesis algebraica de ecuaciones booleanas, para poder formalizar de forma segura los requerimientos y su implementación en un controlador.

Page 64: Síntesis Algebraica de Controladores Lógicos.pptx

64

Debido a que los problemas de estos métodos están localizados entre la frontera de las partes formales y las informales del Sistema, se requiere la intervención del diseñador. Sin embargo, esta intervención puede ser guiada por el método provisto formalmente.

Cuando se presentan varias soluciones, es posible encontrar la mayor de acuerdo a un criterio de optimización. De esta manera el diseñador simplifica su trabajo debido a que son mas fáciles de expresar los comportamientos esperados

Page 65: Síntesis Algebraica de Controladores Lógicos.pptx

65

Critica Obtener las soluciones del problema requiere de un método de

resolución de ecuaciones booleanas, el cual es un problema en general NP el cual es difícil de ser tratado cuando este crece mucho.

Hasta ahora, solo se han tratado con sistemas los cuales toman en cuenta dos instantes en el Sistema (el actual y el anterior). No se toma en cuenta acciones mas atrás en el pasado o mas adelante en el futuro. Esto debido al tipo de lógica que utilizan.

Page 66: Síntesis Algebraica de Controladores Lógicos.pptx

66

¿Preguntas?

Page 67: Síntesis Algebraica de Controladores Lógicos.pptx

67

Referencias

[1] Leroux, Hélène. (2012). Algebraic synthesis of logical controllers with optimization criteria. 6th International Workshop on Verification and Evaluation of Computer and Communication Systems VECOS 2012.

[2] Roussel, Jean-Marc (2012). Algebraic synthesis of logical controllers despite inconsistencies in specifications. Discrete Event Systems, Volume # 11 | Part# 1

[3] Hietter, Yann (2008). Algebraic synthesis of dependable logic controllers. 17th IFAC World Congress, Seoul : Corée, République De

[4] Hietter, Yann (2008). Algebraic synthesis of transition conditions of a state model. Discrete Event Systems, 2008. WODES 2008. 9th International Workshop on.