resultados

Propaganda
VI Seminário de Iniciação Científica e Tecnológica
MODELAGEM DE SISTEMAS COM AUTOMATOS HÍBRIDOS E
ANÁLISE COM A FERRAMENTA COMPUTACIONAL HYTECH
Cleverson Miguel Correia e Silva1 [Bolsista PRH-ANP], Flávio Neves Jr.2 [Orientador],
Robson A. Calvo2 [Colaborador]
1,
Aluno do Curso de Eng. Industrial Elétrica com ênfase em Eletrônica e Telecomunicações do CEFET-PR,
bolsista PRH/ANP,
2,
Programa de Pós-Graduação em Engenharia Eletrônica e Informática Industrial,
Unidade de Curitiba
Centro Federal de Educação Tecnológica do Paraná - CEFET-R
Av. Sete de Setembro, 3165 0 - Curitiba/PR, Brasil - CEP 80230-901
[email protected], [email protected], [email protected]
Resumo - O objetivo deste artigo é aplicar técnicas de especificação formal para modelar sistemas distribuídos
realistas. Neste caso, os modelos formais caracterizam-se por utilizarem autômatos híbridos. Inicialmente, os
componentes existentes no sistema são modelados e representados por autômatos híbridos independentes. A
dinâmica global é obtida através do autômato híbrido produto, que é construído pelo HYTECH. A partir do
autômato híbrido, são obtidas linguagens que representam os estados desejáveis do sistema, permitindo assim,
estabelecer um procedimento de controle híbrido. Para efetuar a alcançabilidade e a síntese paramétrica é
utilizada a ferramenta computacional HYTECH.
Palavras-chave: Autômatos Híbridos, Alcançabilidade, Síntese Paramétrica, Hytech.
Abstract - The objective of this article is to apply techniques of formal specification to model distributed realists
systems. In this case the formal models are characterized by using hybrid automata. Initially the existent
components in the system are modeled and represented by independent hybrid automata. The global dynamics is
obtained through the product hybrid automata. The HYTECH software creates the hybrid automaton product.
Languages representing the desirable states of the system are obtained from the hybrid automata, allowing a
hybrid control procedure. An automatic tool as HYTECH must be used to do the reachability and parametric
analysis of the model.
Key-words: Hybrid Automata, Reachability, Parametric Analysis, Hytech.
INTRODUÇÃO
Os sistemas que apresentam características de sistemas distribuídos híbridos podem ter
suas dinâmicas modeladas com o auxílio de autômatos híbridos [1], [2]. Os sistemas híbridos
distribuídos são sistemas que apresentam características de dinâmica contínua regulada pela
intervenção de eventos discretos.
É necessário dispor de modelos matemáticos que sejam capazes de retratar a evolução
do comportamento do sistema em operação ao longo do tempo, combinando as abordagens
contínua e discreta. Isso implica manipular de forma integrada, sistemas algébricodiferenciais lineares (aspecto contínuo) e autômatos de estados finitos (aspecto discreto). Esse
formalismo estende a noção de autômatos finitos, agregando-se aos estados, equações que
determinam a dinâmica do sistema e associando às transições, entre estados, mudanças no
perfil dinâmico.
Centro Federal de Educação Tecnológica do Paraná / CEFET-PR
VI Seminário de Iniciação Científica e Tecnológica
A abstração do sistema é realizada modelando-se cada componente existente no sistema
como um autômato independente, sendo que o comportamento global do sistema é obtido
através do autômato produto [2], [3] destes componentes, do compartilhamento de variáveis à
qual os autômatos componentes têm acesso ou através de trocas de mensagens entre os
autômatos independentes.
Nesse trabalho, será modelado um sistema de semáforos de transito. Esse sistema real
será utilizado como exemplo na demonstração da modelagem, utilizando autômatos híbridos,
e também na demonstração da ferramenta computacional HYTECH [4].
METODOLOGIA
Autômatos Híbridos. Os autômatos híbridos possuem como característica relevante a
possibilidade do compartilhamento de informações através de interações e sincronismo de
autômatos independentes.
Definição do Autômato Híbrido. Esta subseção apresenta os formalismos existentes na
teoria [1] dos autômatos híbridos. Um autômato híbrido H é definido [2], [4] como uma
n-upla H=[ X , V, flow, init, inv, E, jump, , sync], constituída pelos seguintes componentes:
Variáveis ( X ). Um conjunto finito X  {x1, , xn } de variáveis. O numero n é chamado
dimensão de H.
Modos de Operação (V). Um conjunto finito V de modos de operação. São os estados
admissíveis para o autômato.
Condições de Atividade Contínua (flow). Para todo modo v V , flow(v) é um predicado
sobre o conjunto de variáveis X  X ,onde X  {x1 , , x n } é o conjunto das derivadas
primeiras dos elementos de X . A variável x i , para 1  i  n , é a derivada primeira de xi com
relação ao tempo, ou seja x i  dxi / dt . Enquanto o modo de operação de H é v, as variáveis
em X evoluem de acordo com uma curva diferencial em que os valores das variáveis reais e
suas derivadas primeiras satisfazem a condição de atividade continua flow(v).
Condições Invariantes (inv). Para todo v V , inv(v) é um predicado sobre as variáveis em
X . Enquanto o modo de operação do autômato é v, as variáveis em X devem satisfazer a
condição invariante inv(v).
Condições Iniciais (init). Para todo modo v V , init(v) é um predicado sobre as variáveis em
X . O autômato H pode começar no modo v quando a condição inicial init(v) é verdadeira.
Chaves de Controle ou Transições (E). É formado por um multi-conjunto E de arestas
(v, v ) , onde v, v   V são modos de operação.
Condições de Mudança de Fase (jump). É dada pelo componente jump. Para toda transição
e  E , jump(e) é um predicado sobre as variáveis em X  X  , onde X   {x1 , , xn } . O
símbolo primitivo xi , para 1  i  n , refere-se ao valor da variável xi antes da mudança de
modo de operação , e o símbolo derivado xi , refere-se ao valor atribuído à variável xi após a
mudança do modo de operação. Desta forma, a condição jump relaciona o valor das variáveis
reais antes da mudança do modo de operação com os possíveis valores dessas variáveis após a
mudança do modo de operação.
Eventos ou Mensagens de Sincronização (). É um conjunto  de eventos, junto com uma
função sync que associa um evento de  a cada transição e  E . Os eventos permitem a
sincronização entre autômatos híbridos distribuídos.

xi
Autômato Produto. Um sistema real pode ser fragmentado em vários componentes que
operam concorrentemente e trocando informações uns com os outros. O sincronismo do
sistema global pode ser obtido forçando com que transições ocorram no mesmo evento. As
Centro Federal de Educação Tecnológica do Paraná / CEFET-PR
VI Seminário de Iniciação Científica e Tecnológica
transições nos diversos autômatos, às quais está associado um mesmo evento, correspondem a
uma única transição no autômato produto.
Exemplo – Controle de Semáforo. A figura 1a é o modelo de um semáforo e será utilizada
como exemplo para demonstrar as definições de um autômato híbrido. A figura 1b é o modelo
de um semáforo que funciona sincronizado com eventos do autômato da figura 1a.
x=0
VRMa
x  30
x  1
sinc_a2
VRDa
x  25
x  1
x=0
x=0
VRMb
y 
y  1
sinc_a1
x=0
AMLa
x5
x  1
y=0
sinc_a2
sinc_a1
VRDb
y  25
y  1
y=0
y=0
y=0
AMLb
y 
y  1
a)
b)
Figura 1. Autômato do semáforo a e do semáforo b.
O autômato da figura 1a será denominado SEMa definido formalmente como SEMa=[X, V,
flow, init, inv, E, jump, , sync] onde:
X={x} e n=1;
V={VRMa, VRDa, AMLa};
flow(VRMa)={ x =1}; flow(VRDa)={ x =1}; flow(AMLa)={ x =1};
inv(VRMa)={ x  30}; inv(VRDa)={ x  25}; inv(AMLa)={ x  5};
init(VRMa)={x=0};
E={(VRMa, VRDa), (VRDa, AMLa), (AMLa, VRMa)};
jump(VRMa, VRDa)={x=30^x’=0}, jump(VRDa, AMLa)={x=25^x’=0}, jump(AMLa,
VRMa)={x=5^x’=0};
={sinc_a1, sinc_a2};
Ferramenta Computacional Hytech. Como normalmente os modelos realistas atingem um
alto grau de complexidade, é necessária a cooperação de uma ferramenta que auxilie na
analise da especificação produzida. O software HYTECH é utilizado para se fazer a analise,
verificação de propriedades e síntese de parâmetros para sistemas híbridos. O HYTECH é um
verificador de autômatos híbridos lineares [3], [4] e que pode ser usado para analisar um
modelo híbrido após a sua linearização. O arquivo de entrada desta ferramenta possui duas
partes. A primeira parte consiste em traduzir o autômato para a linguagem do software. A
partir disto, o HYTECH cria o autômato produto automaticamente. A segunda parte, do
arquivo de entrada, possui uma seqüência de comandos que direcionam a computação por
parte da ferramenta. Através de comandos fornecidos à ferramenta computacional HYTECH é
possível fazer a análise de alcançabilidade [3], [4] e síntese paramétrica [3], [4]. A seguir é
mostrado o código fonte referente a tradução do primeiro estado (VRMa) do autômato da
figura 1a para a linguagem interpretada pelo HYTECH.
var
x:
analog;
automaton SEMa
synclabs: sinc_a1, sinc_a2;
initially VRMa & x=0;
loc VRMa: while x<=30 wait {dx=1}
when x=30 do {x'=0} sync sinc_a1 goto VRDa;
Centro Federal de Educação Tecnológica do Paraná / CEFET-PR
(1)
(2)
(3)
(4)
(5)
(6)
VI Seminário de Iniciação Científica e Tecnológica
Na linha (1) é feita a declaração das variáveis. Na linha (3) estão declaradas as
mensagens de sincronização. Na linha (4) estão definidas as condições de inicialização do
autômato. As linhas (5) e (6) modelam o comportamento contínuo e evento gerado durante a
transição. O HYTECH possibilita a resolução de inequações e comandos de análise.
init_reg := loc[SEMa]=VRMa & x=0 & loc[SEMb]=VRDb & y=0;
final_reg := loc[SEMa]=AMLa)&(loc[SEMb]=VRMb)&(y>=beta & y<=beta);
reached := reach forward from init_reg endreach;
(7)
(8)
(9)
A linha (7) especifica as condições iniciais de análise para o sistema. A linha (8)
especifica a configuração insegura. Na linha (9) são computadas as configurações alcançáveis
a partir das configurações iniciais.
RESULTADOS
A ferramenta computacional HYTECH apresenta os resultados na forma de texto. Os
resultados obtidos para a síntese paramétrica da figura 1, para as especificações de estados
iniciais e finais definidos conforme as linhas (7) e (8) do código fonte da subseção anterior,
são mostrados abaixo.
Sintese Parametrica de ALPHA E BETA:
alpha >= 5 & beta >= 25 & beta <= 30
=================================================================
Max memory used =
0 pages =
0 bytes =
0.00 MB
Time spent
=
0.05s +
0.02s =
0.07 sec total
=================================================================
Este resultado foi obtido com o programa HYTECH instalado em uma WorkStation
SUN Ultra 60 com 256Mb de memória RAM, 420Mb de Swap e processador UltraSparc II.
DISCUSSÃO E CONCLUSÕES
O formalismo dos autômatos híbridos, com o auxílio de uma ferramenta que permita a
análise paramétrica e a validação dos autômatos que modelam o sistema, é de grande utilidade
para a engenharia de controle no que diz respeito à análise de sistemas críticos onde qualquer
erro de operação ou implantação pode causar grandes prejuízos ou danos irreparáveis. Na
figura 1 foi modelado um sistema simples de semáforos sincronizados. Foi efetuada a análise
e a validação desse modelo com a utilização do HYTECH. Essa capacidade de análise do
HYTECH pode ser estendida para sistemas mais complexos.
REFERÊNCIAS
[1] HENZINGER, T. A; HO, PEI-HSIN. The Theory of Hybrid Automata. In Hybrid Systems
II, Lecture Notes in Computer Science 999. Spring-Verlag, pp. 252 – 264, 1995.
[2] CALVO, R. A.; CORREIA E SILVA, C. M.; MARTINCOSKI, R. J.; NEVES JR., F.
Autômatos híbridos: modelagem e análise de sistemas de transferência e distribuição de
gás natural. Trabalho submetido ao V Simpósio Brasileiro de Automação Inteligente,
UFRG, Porto Alegre–RS, 2001.
[3] MOURA, A. V.; BONIFÁCIO, A. L. Análise, Verificação e Síntese de Segmentos de Via
de uma Malha Metroviária. Relatório Técnico IC—99-18, Unicamp – SP, 1999.
[4] HENZINGER, T. A; HO, PEI-HSIN, and WONG-TOI, H. A User Guide of Hytech. First
International Workshop on Tools and Algorithms for the Construction and Analysis of
Systems (TACAS 1995), Lecture Notes in Computer Science 1019, Springer-Verlag, 1995,
pp. 41-71.
Centro Federal de Educação Tecnológica do Paraná / CEFET-PR
Download