Síntesis Algebraica de Controladores Lógicos.pptx

Preview:

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

1

Síntesis Algebraica de Controladores

LógicosPor: Ulises Martinez Araiza

umartinez@gdl.cinvestav.mx

www.ulisesmartinez.com

2

Introducción

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)

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.

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.

6

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

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.

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.

9

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

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

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

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

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

14

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

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

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

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

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

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

20

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

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)

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

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

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

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(),(

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

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

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).

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

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

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.

32

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

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.

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.

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

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

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

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

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{

40

Solución optimade ecuaciones Booleanas sobre Fn(B)

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.

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).

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

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.

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

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).

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

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(

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

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

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

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.

53

Síntesis de reglas de ControlModelado de aspectos secuenciales

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.

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

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.

57

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

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

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

))

))

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.

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

62

Conclusiones y Critica

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.

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

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.

66

¿Preguntas?

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.