AN Alise Dos Tempos de Resposta Fim A Fim de Sistemas de Controle Via Rede Baseado Na T Ecnica de Verifica C Ao de Modelos

Você também pode gostar

Você está na página 1de 8

ANALISE DOS TEMPOS DE RESPOSTA FIM A FIM DE SISTEMAS DE CONTROLE VIA REDE BASEADO NA TECNICA DE VERIFICACAO DE MODELOS Jadsonlee

onlee da Silva Sa, Antonio Marcus Nogueira Lima, Angelo Perkusic, Jose Sergio da Rocha Neto Universidade Federal de Campina Grande Departamento de Engenharia Eltrica e Laboratrio de Instrumentao Eletrnica e Controle o ca o Av. Apr gio Veloso, 882 - Bodocong - 58109-970 o Campina Grande PB Brasil Emails: jadsonlee@ee.ufcg.edu.br, amnlima, perkusic, zesergio@dee.ufcg.edu.br
Abstract This paper presents the end-to-end response time analysis of Networked Control Systems (NCS) based on CAN network. The analysis is based on the model-checking approach using timed automata and UPPAAL tool. A case study for a NCS with three control loop is presented. It was veried that the end-to-end response time obtained in the worst-case and best-case scenarios are less pessimistic than the results using the holistic scheduling analysis. Keywords tomata Networked Control Systems, End-to-End Response Time Analysis, Model-Checking, Timed Au

Resumo Neste trabalho apresenta-se a anlise de tempos de resposta m a m de sistemas de controle via a rede (NCSs) utilizando a rede CAN. A anlise baseada na tcnica de vericao de modelos usando autmatos a e e ca o temporizados e a ferramenta UPPAAL. Um estudo de caso para um NCS com trs malhas de controle apree e sentado. Vericou-se que os tempos de resposta m a m obtidos nos cenrios de pior caso e melhor caso so a a menos pessimistas do que os resultados obtidos utilizando a anlise de escalonamento hol a stico. Keywords Sistemas de Controle via Rede, Anlise dos Tempos de Resposta Fim a Fim, Vericao de a ca Modelos, Autmatos Temporizados o

Introduo ca

Sistemas de Controle via Rede (NCSs1 ) so sisa temas onde malhas de controle realimentadas so a fechadas por meio de uma rede de comunicao ca (Halevi and Ray, 1988) e (Nilsson, 1998). Nestes sistemas, ns de rede executam tarefas computao cionais relacionadas ao controle dos processos e trocam mensagens via um meio de comunicao ca compartilhado com largura de banda limitada. Exemplos destes sistemas podem ser encontrados em plantas industriais, automveis, aeronaves eno tre outros. A utilizao de redes de comunicao para ca ca conectar dispositivos de controle distribu dos espacialmente, resulta em uma arquitetura ex vel e geralmente reduzem os custos de instalao e ca manuteno quando comparadas com as tradica cionais arquiteturas centralizadas (S, 2007). Ena tretanto, arquiteturas em rede podem introduzir atrasos variveis nos ciclos de operao das maa ca lhas, perda de mensagens e outras particularidades, que podem degradar o desempenho e at e causar a instabilidade do sistema de controle. De fato, as teorias de controle no consideram a tais efeitos introduzidos pela arquitetura em rede. Portanto, estes efeitos devem ser considerados durante o projeto do sistema. Durante as duas ultimas dcadas, vrias e a metodologias foram formuladas para resolver os
1 Do

problemas nos NCSs. Os principais resultados so apresentados em Tipsuwan and Chow (2003), a Yang (2006) e Hespanha et al. (2007). Na maioria destas metodologias, algumas suposies enco volvendo requisitos de tempo so necessrias. Por a a exemplo, em vrios trabalhos considera-se que o a atraso de controle (tempo de resposta m a m) para todo ciclo de operao de uma malha deve ca ser menor ou igual ao correspondente per odo de amostragem da sa do processo. Alm disto, da e novas teorias como, margem de jitter (Cervin et al., 2004), (Santos and Vasquez, 2005) e (Perez et al., 2006), e MATI - Maximum Allowable Transfer Interval (Walsh et al., 2002) e (Carnevale et al., 2007)), fornecem limites (deadlines) para os atrasos de controle que, sendo satisfeitos, garantem a estabilidade do sistema. Portanto, fune damental determinar os tempos de resposta m a m no pior caso das malhas de controle do sistema durante a fase de projeto, e vericar se os requisitos de tempo sero cumpridos. a A determinao dos tempos de resposta m a ca m normalmente realizada usando um mtodo e e anal tico baseado na teoria de escalonamento em tempo real, chamado de anlise de escalonamento a hol stico, e por tcnicas de simulao. A anlise e ca a de escalonamento hol stico foi desenvolvida por Tindell and Clark (1994), e depois estendida por Palencia and Harbour (1998) e Henderson et al. (2001). Esta anlise consiste na integrao ena ca tre as anlises dos tempos de resposta das tarea

ingls, Networked Control Systems. e

fas em um processador (Audsley et al., 1993) e (Bril et al., 2004), e das mensagens em um sistema de comunicao (Davis et al., 2007). Apeca sar de ser baseada em uma teoria bem conhecida e utilizada na prtica, em algumas aplicaes os a co resultados obtidos so pessimistas (Waszniowsky a and Hanzlek, 2008). Este pessimismo pode ser a detectado em algumas arquiteturas de NCSs, e deve-se ao fato de a anlise considerar a ocorrncia a e simultnea dos piores cenrios de atraso ao longo a a de uma transao m a m, onde na prtica no ca a a ocorrem. Na anlise por simulao, uma simulao a ca ca executada durante um intervalo de tempo e chamado de hiperper odo, o qual equivale ao MMC (M nimo M ltiplo Comum) de todos os u per odos das tarefas (Audsley, 1991). Ento, o a tempo de resposta exato no pior caso equivale ao maior tempo de resposta de umas das suas instncias liberadas durante este per a odo. Apesar de determinar os tempos de resposta exatos, este mtodo torna-se complexo quando as taree fas/mensagens possuem osets arbitrrios2 e jita ter de liberao3 . Neste caso, vrias simulaes ca a co da escala devem ser realizadas considerando os diferentes osets e os cenrios de pior caso para a cada instncia da tarefa/mensagem individuala mente (Redell, 2003). Neste trabalho, utilizamos a tcnica de vee ricao de modelos (Larsen et al., 1995) para ca determinar os tempos de resposta m a m no pior caso e melhor caso de NCSs baseados na rede CAN (Etschberger, 2001). Os componentes das malhas de controle (sensores, controladores e atuadores) e a rede CAN so modelados por a um conjunto de autmatos temporizados (Alur o and Dill, 1994) utilizando a ferramenta UPPAAL (Berhmann et al., 2004). Um estudo de caso de um NCS com trs malhas de controle reae e lizado. Apesar desta tcnica ser suscept e vel ao problema da exploso do espao de estado, o qual a c restringe o tamanho da aplicao, a anlise exausca a tiva do modelo (feita automaticamente pela ferramenta UPPAAL) fornece resultados mais precisos e menos pessimistas do que os obtidos por tcnie cas baseadas na teoria de escalonamento. Alm e disto, esta tcnica permite tambm vericar proe e priedades funcionais e caracterizar comportamentos internos do sistema tais como, desvios dentro do cdigo dependentes de dados e loops, ao cono trrio das outras tcnicas. a e Na seo 2, apresentam-se as principais caracca ter sticas da rede CAN. Na seo 3, descreve-se a ca arquitetura e funcionamento do NCS considerado neste trabalho. Na seo 4, descreve-se o modelo ca em autmatos temporizados do NCS. Na seo 5, o ca apresenta-se um estudo de caso e uma anlise dos a
de chegada da primeira instncia de uma tarefa. a diferena entre o instante de liberao e o insc ca tante de ativao de uma tarefa/mensagem. ca
3 Mxima a 2 Atraso

resultados obtidos e na seo 6 as concluses. ca o 2 Rede CAN

CAN (Controller Area Network ) uma rede de e comunicao event-triggered constitu por ns ca da o conectados a um barramento serial que trocam mensagens a uma taxa de transmisso de at 1 a e Mbits/s (Etschberger, 2001). Um n CAN constitu por uma Unidade o e do de Processamento (UP) e pelos dispositivos de rede (controlador e transceiver CAN). Para transmitir uma mensagem, uma tarefa de aplicao execa cutada na UP prepara os dados a serem transmitidos, armazena-os no buer de transmisso e ena via uma requisio de transmisso ao controlador ca a CAN. Assim que o barramento estiver livre, o controlador tentar transmitir a mensagem. a Os bits das mensagens so representados sia camente pela codicao NRZ (Non-Return to ca Zero). Nesta codicao, o n ca vel do sinal permanece constante durante o tempo de transmisso de um bit, chamado de tempo de bit. Os a transceivers tratam esses bits de acordo com o mecanismo wired-AND, onde o n vel lgico 0 o e dominante e o n lgico 1 recessivo. Para evivel o e tar a ausncia de bordas de transio na seqncia e ca ue de bits de uma mensagem, as quais so utilizadas a no processo de sincronizao durante a recepo ca ca das mensagens, CAN utiliza um mecanismo de inserao de bits que insere automaticamente aps c o uma seqncia de cinco bits com mesma polariue dade, um bit com polaridade oposta. Aps a reo cepao da mensagem, os bits inseridos so retirac a dos automaticamente. Existem quatro diferentes tipos de mensagens: mensagem de dados, erro, requisio de dados e ca sobrecarga. Apenas mensagens de dados no formato padro sero tratadas neste trabalho. Uma a a mensagem de dados formada por cinco campos e (arbitragem, controle, dados, CRC - Cyclic Redundancy Code e ACK - Acknowledgement) delimitados por um bit dominante (SOF - Start Of Frame) no in da mensagem e por sete bits recio cessivos (EOF - End Of Frame) no m da mensagem. Os campos de SOF at CRC so submetie a dos ao mecanismo de insero de bits. As inforca maes so transmitidas no campo de dados e poco a dem variar entre 0 e 8 bytes. No campo de arbitragem, os 11 bits mais signicativos constituem o identicador da mensagem, que unico para cada e mensagem e possui duas funes: caracterizar o co contedo da mensagem de forma que sejam lu tradas/identicadas nos ns receptores, e determio nar o n de prioridade quanto o acesso ao barvel ramento. Mensagens de dados so separadas de a mensagens precedentes por no m nimo trs teme pos de bit. Este espao de tempo chamado de c e intervalo entre mensagens. Devido a comunicao event-triggered, posca e

s vel que mais de um n tente transmitir uma o mensagem simultaneamente. Para controlar as poss veis colises durante o acesso ao barramento, o CAN utiliza o mecanismo CSMA/DCR (CarrierSense Multiple Access/Deterministic Collision Resolution). Neste mecanismo, os ns tentam o transmitir uma mensagem somente se o barramento estiver livre. Assim que o barramento estiver livre, todos os ns com mensagens prontas o para serem transmitidas enviam o bit dominante SOF e entram em processo de arbitragem. O resultado da arbitragem determinada pela come parao dos bits dos identicadores (campo de arca bitragem) das mensagens baseado no mecanismo wired-AND. Portanto, a mensagem que tiver o identicador com menor valor numrico (maior e prioridade) vencer o processo de arbitrao e a ca transmitir a mensagem completamente. Os ns a o que perderam a disputa e outros poss veis ns, o tentaro transmitir suas mensagens assim que o a barramento estiver livre novamente. As mensagens so escalonadas de forma a semelhante ao escalonamento no-preemptivo de a tarefas em um processador (George et al., 1996). Isto signica que as mensagens de maior prioridade podero sofrer bloqueio de mensagens com a menor prioridade. O tempo gasto para um n transmitir sio camente uma mensagem m, denotado por Cm , e derivado pela Equao 1. Cm determinado em ca e funo do comprimento da mensagem (em bits) e ca do tempo de bit (b ). O comprimento da mensagem depende do nmero de bytes de dados (bm ) u e da quantidade de bits inseridos pelo mecanismo de insero de bits. O operador x/y retorna o ca maior inteiro menor que o valor x/y. Este termo equivale aos bits inseridos pelo mecanismo de insero de bits considerando o pior caso. Os trs ca e tempos de bit equivalentes ao intervalo entre mensagens esto inclusos na Equao 1. a ca ) ( 34 + (8bm ) 1 b (1) 47 + (8bm ) + 4 Arquitetura e Descrio do NCS ca

que o n atuador recebe a mensagem mM e exeo ca M cuta a tarefa de atuao (a ). ca


Processo 1 Processo n
n n

t
NA1
1

1 a

1 s 1

NS1

...

NAn

ta mnca

ts mnsc
n

NSn

m ca
1

m sc
Barramento CAN NC1

tc

NCn

tc

Figura 1: Arquitetura do NCS. Com relao ao instante de liberao das tareca ca fas (prontas para execuo), uma tarefa pode ca ser guiada a tempo ou guiada a eventos. Tarefas guiadas a tempo so liberadas em intervaa los de tempo pr-denidos por um relgio. Ene o quanto que, tarefas guiadas a eventos so liberaa das por eventos no-temporizados, por exemplo, a a chegada de uma mensagem no seu dispositivo de rede. Consideramos que as tarefas de aquisio ca so guiadas a tempo e as tarefas de controle e a atuao so guiadas a eventos. Esta escolha para ca a a tarefa de aquisio garante que a sa do proca da cesso ser amostrada periodicamente. a O ciclo de operao k de uma malha M inica e ciado periodicamente com per odo hM . O tempo de resposta m a m (rM (k)) equivale ao tempo gasto desde o in cio da execuo da tarefa de ca aquisio at o instante em que a tarefa de atuao ca e ca nalizada. O tempo de resposta m a m no mee M lhor caso, denotado por Rb (Equao 2), equivale ca ao menor tempo de resposta m a m de algum ciclo de operao k. Enquanto que, o tempo de ca resposta m a m no pior caso (RM ), equivale ao maior tempo de resposta m a m de algum ciclo de operao k. Para o sistema satisfazer os requica sitos de tempo, RM dever ser menor ou igual ao a deadline m a m (DM ), conforme indicado na Equao 3. Consideramos que o deadline m a ca m menor ou igual ao periodo de amostragem e da malha (hM ).
M Rb = min(rM (k))

Cm = 3

(2) (3)

Na arquitetura do NCS analisado neste artigo (Figura 1), cada malha de controle M , onde M varia de 1 ` n, possui um processo e trs ns a e o CAN: n sensor (NS), n controlador (NC) e n o o o atuador (NA). Os ns executam tarefas computao cionais e se comunicam por meio de mensagens via barramento CAN. O n sensor executa a o M tarefa de aquisio (s ) e transmite a mensagem ca sensor-controlador (mM ) contendo uma amostra sc da sa do processo para o n controlador. O da o n controlador recebe a mensagem mM , executa o sc M a tarefa de controle (c ) e transmite a mensagem controlador-atuador (mM ) contendo o valor do ca sinal de controle para o n atuador. Enquanto o

RM = max(rM (k)) DM hM

O tempo de resposta m a m formado por e dois tipos de atrasos: atraso de computao e ca atraso de comunicao. O atraso de computao ca ca corresponde aos atrasos de execuo das tarefas ca de aquisio, controle e atuao. Assumimos que ca ca estes atrasos so constantes e conhecidos durante a a fase de projeto do sistema. Nesta arquitetura, estes atrasos so constantes devido as UPs de cada a n no serem compartilhadas com outras tarefas. o a O atraso de comunicao corresponde aos ca atrasos devido a interferncia por mensagens com e maior prioridade, bloqueio por mensagem com menor prioridade e o tempo de transmisso da a

Esper_Liberac period<=h resp_f:=0 period==h period:=0, resp_f:=0, resp_sc:=0, comput:=0

Inicio period<=h period>=0 period:=0, resp_f:=0, resp_sc:=0, comput:=0


N_Req_Tx_Msg ReqTxMsg[ID]?

Exec_Tarefa comput<=Cs Fim[M]? comput==Cs Tx_Fim ReqTxMsg[ID]! resp_sc:=0 RxMsg[ID]? Esper_Fim Tx_Msg_SC resp_f<=h resp_f<=h P_Deadline resp_f>D resp_f>D resp_f:=0, resp_sc:=0 N_Escalon RxMsg[ID]? Fim[M]?

Fim_Ciclo

TxMsg! particip_arb[ID]:=1 Tenta_Tx_Msg RxMsg[ID]! sucess_arb[ID]? comunic:=0 Tx_Msg comunic<=Cm comunic==Cm ack[ID]! particip_arb[ID]:=0 Fim_Tx_Msg

(a) Tarefa de aquisio. ca


N_Req_Tx_Msg
Esper_Msg_Sensor RxMsg[FID]? resp_ca:=0, comput:=0 Exec_Tarefa comput<=Cc comput==Cc ReqTxMsg[ID]! Tx_Msg_CA

(b) Transceiver CAN.


Esper_Msg_Controlador

i>=(MAXID1) && particip_arb[i]==0 Arbitragem TxMsg? i:=0 i:=0 ack[i]? Tx_Msg

TxMsg? i:=0 i<(MAXID1) && particip_arb[i]==0 i++ particip_arb[i]>0 sucess_arb[i]! TxMsg?


RxMsg[FID]? comput := 0 Fim[M]! Exec_Tarefa comput <= Ca comput == Ca Fim_Comput

resp_ca:=0 Tx_Fim RxMsg[ID]?

(c) Tarefa de controle.

(d) Processo de arbitragem.

(e) Tarefa de atuao. ca

Figura 2: Conjunto de Autmatos Temporizados de uma Malha de Controle do NCS. o mensagem, onde este ultimo constante e deter e minado via a Equao 1. O atraso de comunicao ca ca torna-se varivel devido as componentes de intera ferncia e bloqueio. e 4 Modelo do NCS em Autmatos o Temporizados resp sc - utilizado para contar o tempo de resposta da mensagem sensor-controlador (mM ) e comput sc - utilizado para marcar o tempo de computao ca M da tarefa. A primeira instncia desta tarefa (s ) a liberada no lugar Inicio com um oset variando e de 0 ` h. As prximas instncias (prximos ciclos a o a o de operao da malha) so iniciadas periodicaca a mente no lugar Esper Liberac. Aps iniciada, a o tarefa executada (lugar Exec Tarefa) durante e Cs unidades de tempo e requisita a transmisso a da mensagem sensor-controlador (mM ) com idensc ticador ID, modelada pelo canal ReqTxMsg[ID]!. A nalizao desta mensagem indicada por um ca e sinal via o canal broadcast RxMsg[ID]?. Aps reo ceber este sinal, o autmato permanece no lugar o Esper Fim at receber um sinal por meio do canal e Fim[M]? enviado pelo autmato tarefa de atuao o ca (Figura 2(e)) indicando o m do ciclo de operao ca da malha M . Se a condio resp f > D for satisca feita durante o ciclo de operao da malha, o autca o mato alcanar o lugar N Escalon indicando que c a o deadline m a m da malha no foi cumprido. a O autmato tarefa de controle (Figura 2(c)) o espera no seu lugar inicial (Esper Msg Sensor ) a recepo da mensagem sensor-controlador com ca identicador FID, a qual modelada pelo canal e RxMsg[FID]?. Aps receber a mensagem, a tarefa o M (c ) executada durante Cc unidades de tempo e e requisita a transmisso da mensagem controladora atuador (mM ) com identicador ID, modelada ca pelo canal ReqTxMsg[ID]!. A nalizao desta ca mensagem indicada por um sinal via o canal e

Nesta seo, apresenta-se o conjunto de autmatos ca o temporizados utilizado para modelar as malhas de controle de um NCS baseado na rede CAN. O modelo da rede CAN utilizado neste trabalho foi desenvolvido por Krkora (2008). Estendemos este a modelo para tratar do NCS descrito na seo anca terior. O modelo do NCS constitu por cinco e do autmatos (Figura 2): tarefa de aquisio; tarefa o ca de controle; tarefa de atuao; transceiver CAN e ca processo de arbitragem. 4.1 Autmatos das Tarefas o

Cada malha de controle M possui trs automatos: e tarefa de aquisio, tarefa de controle e tarefa de ca atuao. Os autmatos de cada malha so gerados ca o a automaticamente pela ferramenta UPPAAL. O ciclo de operao de uma malha M inica e ciado no autmato tarefa de aquisio (Figura o ca 2(a)). Este autmato possui quatro relgios loo o cais: period - utilizado para marcar o per odo da tarefa (h - per odo de amostragem da sa do proda cesso); resp f - utilizado para contar o tempo de resposta m a m do ciclo de operao da malha; ca

broadcast RxMsg[ID]?. Em seguida, o autmato o retorna para o lugar inicial (Esper Msg Sensor ). O autmato tarefa de atuao (Figura 2(e)) o ca e semelhante ao autmato tarefa de controle. Aps o o receber a mensagem controlador-atuador (canal M RxMsg[FID]? ), uma tarefa (a ) executada due rante Ca unidades de tempo. Em seguida, um sinal via o canal Fim[M]! enviado para o aute o mato tarefa de aquisio indicando que o ciclo de ca operao foi nalizado. ca 4.2 Autmatos da Rede CAN o

que 0 vencer o processo de arbitragem, e um sinal a a o via o canal sucess arb[i] ser enviado para o autmato transceiver CAN. O autmato permanece o no lugar Tx Msg at receber o sinal de reconhecie mento via ack[ID]?, indicando que a mensagem foi transmitida. Aps isto, a varivel i zerada e o o a e autmato retorna para o lugar Arbitragem e verio ca se existe alguma mensagem pendente para ser transmitida. Caso no exista, o autmato retorna a o para o seu lugar inicial N Req Tx Msg. 4.3 Linguagem de Especicao do UPPAAL ca

A comunicao via rede CAN modelada por ca e dois autmatos: transceiver CAN (Figura 2(b)) o e processo de arbitragem (Figura 2(d)). Para cada mensagem no sistema, a ferramenta UPPAAL gera um autmato transceiver CAN. Eno quanto que, existe apenas um autmato processo o de arbitragem no sistema. O autmato transceiver CAN permanece no o seu lugar inicial N Req Tx Msg at receber uma e requisio de transmisso de mensagem via o canal ca a ReqTxMsg[ID]?. Quando isto ocorre, um sinal via o canal TxMsg! enviado para o autmato proe o cesso de arbitragem e o array particip arb[ID] indexado com o valor do identicador da mensagem ajustado para 1, indicando que esta mensagem e est pronta para entrar no processo de arbitragem. a O autmato permanece no lugar Tenta Tx Msg o at receber um sinal via o canal sucess[ID]?. Este e sinal indica que a mensagem venceu o processo de arbitragem e pode continuar a transmisso. Aps a o Cm unidades de tempo, a mensagem totalmente e transmitida. Um sinal de reconhecimento ene viado pelo canal ack[ID]! ao autmato processo o de arbitragem, e o array particip arb[ID] zerado. e Em seguida, um sinal via o canal RxMsg[ID]! ene viado para o autmato da tarefa que requisitou a o transmisso da mensagem e o autmato retorna a o para o lugar inicial N Req Tx Msg. O controle de acesso ao meio da rede CAN modelado pelo autmato processo de arbie o tragem. Este autmato permanece no lugar inio cial N Req Tx Msg at receber um sinal via o e canal TxMsg? de um dos autmatos transceiver o CAN. Quando isto ocorre, a varivel i zerada e o a e autmato passa para o lugar urgente Arbitragem. o Neste lugar, a mensagem com maior prioridade que requisitou uma transmisso escolhida para a e e ser transmitida. O array particip arb[i] vericado item por item, com o ndice i variando de 0 ` MAXID-1, onde MAXID equivale ao nmero a u de identicadores (mensagens) do sistema. Os identicadores das mensagens so ordenados de a forma crescente. A mensagem com maior prioridade possui ID = 0, e a mensagem com menor prioridade ID = MAXID-1. Ento, o primeiro a elemento do array particip arb[i] com valor maior
3 Os

Para realizar a vericao de propriedades do moca delo utilizando a ferramenta UPPAAL, deve-se formular tais propriedades e transcrev-las em line guagem de especicao. A linguagem de esca pecicao do UPPAAL baseada em um subca e conjunto da lgica CTL(Computation Tree Logic) o (Henzinger, 1994) e composta pelos seguintes e operadores: A (para todo caminho), E (existe um caminho), [] (sempre), <> (futuramente), (conduz a), and, or, not, imply e deadlock. 5 Estudo de Caso

Nesta seo, apresenta-se um estudo de caso de ca um NCS com trs malhas de controle. Algumas e propriedades lgicas e temporais do sistema foram o formuladas e vericadas de acordo com o modelo descrito na seo anterior. Em particular, os temca pos de resposta m a m e os tempos de resposta das mensagens sensor-controlador e controladoratuador no melhor e pior caso so determinados a para cada malha de controle do sistema. As propriedades a serem vericadas so desa critas a seguir em linguagem humana e linguagem de especicao no formalismo do UPPAAL, onde: ca T AM e T C M equivalem, respectivamente, aos autmatos tarefa de aquisio e tarefa de cono ca trole de uma malha M , onde M varia de 1 ` 3; a N Escalon, F im Ciclo e T x F im so lugares e a resp f , resp sc e resp ca relgios locais equivao M lentes aos seus autmatos; RM e Rb so, reso a pectivamente, os tempos de resposta m a m no M M pior caso e melhor caso; Rsc e Rsc(b) so, respeca tivamente, os tempos de resposta no pior e meM lhor caso da mensagem sensor-controlador; e Rca e M Rca(b) so, respectivamente, os tempos de resposta a no pior e melhor caso da mensagem controladoratuador. e 1. O sistema livre de deadlock ? A [] not deadlock 2. O deadline m a m da malha M satisfeito? e A [] not T AM .N Escalon 3. Qual o tempo de resposta m a m no pior caso da malha M? A[]T AM .Fim Ciclo imply T AM .resp f< RM

relgios locais param de contar. o

Malha 1 2 3

Tabela 1: Atributos das malhas de controle em s. M M M M M hM DM Cs = Ca Cc Csc = Cca 1000 800 40 100 150 1200 1000 40 100 150 1500 1200 40 100 150 2: Tempos de resposta das malhas de controle em s. M M M M M R(b) Rsc(b) Rca(b) RM Rsc Rca 780 340 400 530 190 300 830 490 550 530 190 300 1080 790 850 630 190 300

Tabela Malha 1 2 3

4. Qual o tempo de resposta m a m no melhor caso da malha M? M E[]T AM .Fim Ciclo imply T AM .resp f< Rb 5. Qual o tempo de resposta no pior caso da mensagem sensor-controlador da malha M? M A[]T AM .Tx Fim imply T AM .resp sc < Rsc 6. Qual o tempo de resposta no melhor caso da mensagem sensor-controlador da malha M? M E[]T AM .Tx Fim imply T AM .resp sc< Rsc(b) 7. Qual o tempo de resposta no pior caso da mensagem controlador-atuador da malha M? M A[]T AM .Tx Fim imply T AM .resp ca < Rca 8. Qual o tempo de resposta no melhor caso da mensagem controlador-atuador da malha M? M E[]T AM .Tx Fim imply T AM .resp ca< Rca(b) A propriedade 1 utilizada para vericar se e existe deadlock no modelo. A propriedade 2 utie lizada para vericar se o deadline m a m de cada malha ser satisfeito. Isto ocorrer, se e soa a mente se, o lugar N Escalon nunca for alcanado c para todo caminho. As propriedades 3 ` 8 so utia a lizadas para determinar os tempos de resposta no pior e melhor caso utilizando os relgios. A proo priedade 3 pode ser lida da seguinte forma: Para todo caminho, dado que o autmato T AM est o a no lugar F im Ciclo implica que o valor do relgio o resp f sempre menor do que RM ?. Os tempos e de resposta foram determinados por iterao via ca a repetio da vericao para diferentes valores ca ca M M M M M de RM , Rb , Rsc , Rsc(b) , Rca e Rca(b) . Estas propriedades foram vericadas utilizando a ferramenta UPPAAL verso 4.2.1 em a um notebook com processador AMD-Sempron 1,8 GHz com 1 GB de memria f o sica. O tempo gasto na vericao foi de 1,1 minutos para o caso onde ca todas as propriedades foram satisfeitas. Os atributos das tarefas e mensagens de cada malha de controle M esto indicados na Tabela 1. Onde: a hM o per e odo de amostragem; DM o deadline e M M M m a m; Cs , Ca e Cc so os tempos de coma putao das tarefas de aquisio, atuao e conca ca ca M M trole, respectivamente; Csc e Cca so os tempos a

de transmisso das mensagens sensor-controlador a e controlador-atuador, respectivamente. Consideramos que os tempos de computao e transmisso ca a no pior e melhor caso so constantes e iguais. As a mensagens so transmitidas a uma taxa de 500 a Kbits/s e o fator de utilizao da rede de aproca e ximadamente 75, 0%. 5.1 Anlise dos Resultados a

Foi vericada a ausncia de deadlock no modelo e a e propriedade 2 foi satisfeita para todas as malhas de controle do sistema. Portanto, os requisitos de tempo do sistema foram satisfeitos. Os tempos de resposta determinados por meio das propriedades 3 ` 8 esto indicados na Tabela 2. Os a a tempos de resposta no pior e melhor caso das mensagens sensor-controlador e controlador-atuador incluem os tempos de computao das tarefas de ca aquisio e controle, respectivamente. A pol ca tica de atribuio de prioridades utilizada foi a deadca line monotnico, e a mensagem sensor-controlador o de cada malha possui maior prioridade do que a sua respectiva mensagem controlador-atuador. Observe na Tabela 2 que o tempo de resposta m a m no pior caso para a malha 1 equivale a soma dos tempos de resposta no pior caso das mensagens e do tempo de computao da tarefa ca de atuao (R1 = 340 + 400 + 40 = 780 s), ca de acordo com a anlise de escalonamento hol a stico (Henderson et al., 2001). O tempo de res1 posta Rsc = 340 s equivale a soma do tempo de computao da tarefa de aquisio (40 s), atraso ca ca bloqueio (150 s) e tempo de transmisso da mena 1 sagem (150 s). O valor de Rca = 400 s pode ser obtido de forma semelhante, ou seja, a soma do tempo de computao da tarefa de controle ca (100 s), atraso de bloqueio (150 s) e o tempo de transmisso da mensagem (150 s). O resula tado dos tempos de resposta da malha 1 indicam, aparentemente, que os cenrios de pior caso para a as mensagens m1 e m1 ocorrem no mesmo ciclo sc ca de operao da malha. Entretanto, observamos ca que os tempos de resposta m a m das malhas 2 e 3 no correspondem a soma dos tempos de resa posta no pior caso das mensagens e do tempo de

computao da tarefa de atuao. Na malha de ca ca controle 3, a soma destes tempos (790 + 850 + 40 = 1680 s) 600 s maior que o tempo de resposta e m a m obtido via a tcnica de vericao de moe ca delos (R3 = 1080 s). Portanto, para NCSs com a arquitetura apresentada neste trabalho, a anlise a de escalonamento hol stico atual resulta em tempos de resposta m a m pessimistas. No cenrio de melhor caso, observamos que a M os tempos de resposta das mensagens mM (Rsc(b) ) sc so iguais aos obtidos utilizando a anlise dos tema a pos de resposta no melhor caso das mensagens CAN (Henderson et al., 2001), ou seja, a soma do tempo de computao da tarefa de aquisio (40 ca ca s) e do tempo de transmisso (150 s). Este um a e cenrio onde a mensagem no sofre bloqueio e ina a terferncia de outras mensagens. Entretanto, para e M as mensagens mM (Rca(b) ) os resultados obtidos ca so diferentes dos obtidos via a anlise dos tempos a a de resposta no melhor caso das mensagens CAN. M e Veja que Rca(b) para todas as malhas igual a 300 s, ou seja, a soma do tempo de computao da ca tarefa de controle (100 s), do tempo de transmisso da mensagem (150 s) e algum tempo de a bloqueio ou interferncia equivalente a 50 s. e 6 Concluses o

destes tempos. Pretende-se em trabalhos futuros: automatizar o processo de determinao dos tempos de ca resposta utilizando neste trabalho; modelar NCSs onde as tarefas de controle so executadas em a um unico n controlador com escalonadores pre o emptivos e no-preemptivos com prioridades xas a e/ou dinmicas; estender o modelo para consida erar erros em mensagens e avaliar o impacto da retransmisso de mensagens nos atrasos de cona trole das malhas; determinar pol ticas timas para o atribuio de prioridade nas mensagens; desenca volver sistemas capazes de detectar e resolver o fenmeno da amostragem vazia (Halevi and o Ray, 1988); projetar malhas com controladores guiados a tempo e utilizar a tcnica de vericae ca o de modelos no co-projeto de NCSs. Agradecimentos Os autores agradecem o apoio nanceiro fornecido pela CAPES e CNPq. Referncias e Alur, R. and Dill, D. L. (1994). A theory of timed automata, Theor Comput Sci 126: 183235. Audsley, N., Burns, A., Richardson, M., Tindell, K. W. and Wellings, A. J. (1993). Applying new scheduling theory to static priority pre-emptive scheduling, Software Engineering Journal 8(5): 284292. Audsley, N. C. (1991). Optimal priority assignment and feasibility of static priority tasks with arbitrary start times, YCS164, Dept. of Computer Science, University of York . Berhmann, G., David, A. and Larsen, K. G. (2004). A tutorial on uppaal,formal methods for the design of real-time systems, In SFM-RT, Springer-Verlag 965: 200236. Bril, R. J., Steens, E. F. M. and Verhaegh, W. F. J. (2004). Best-case response time and jitter analysis of real-time tasks, Journal of Scheduling 7: 133147. Carnevale, D., Teel, A. R. and Nsic, D. (2007). e A lyapunov proof of an improved maximum allowable transfer interval for networked control systems, IEEE transactions on Automatic Control 52(5): 892897. Cervin, A., Lincoln, B., Eker, J., Arzen, K. E. and Buttazzo, G. (2004). The jitter margin and its application in the design of real-time control systems, Proc. of The 10th International Conference on Real-Time and Embedded Computing Systems and Applications .

Neste trabalho foi realizada a anlise dos tempos a de resposta m a m de NCSs baseados na rede CAN utilizando a tcnica de vericao de modee ca los. Os componentes das malhas de controle do NCS juntamente com a rede CAN foram modelados utilizando autmatos temporizados e a fero ramenta UPPAAL. Um estudo de caso para um NCS com trs malhas de controle foi apresentado. e Neste estudo, vericamos algumas propriedades lgicas e temporais do modelo. Determinamos os o tempos de resposta m a m nos cenrios de pior a e melhor caso, alm dos tempos de resposta nos e cenrios de pior e melhor caso para as mensagens a sensor-controlador e controlador-atuador de cada malha. Foi vericado que a determinao dos tempos ca de resposta m a m por meio da tcnica de verie cao de modelos fornece resultados mais precisos ca e menos pessimistas do que os obtidos utilizando a anlise de escalonamento hol a stico atual para a arquitetura de NCS apresentada neste trabalho. Alm disto, vericamos que a anlise existente e a para determinar os tempos de resposta no melhor caso para mensagens CAN tambm pessimista. e e Apesar de determinar tempos de resposta menos pessimistas que outras abordagens, o processo de determinao dos tempos de resposta ca utilizado neste trabalho pode-se tornar complexo quando o n mero de malhas de controle do sisu tema aumenta, visto que necessrio realizar a e a repetio da vericao para diferentes valores de ca ca tempos de resposta at encontrar o valor exato e

Davis, R. I., Burns, A., Bril, R. J. and Lukkien, J. J. (2007). Controller area network schedulability analysis: Refuted, revisited and revised, Real-Time Systems 35(3): 239272. Etschberger, K. (2001). Controller Area Network: Basics, Protocols, Chips and Application, rst edn, IXXAT Press, Germany. George, L., Rivierre, N. and Spuri, M. (1996). Preemptive and non-preemptive real-time uniprocessor scheduling, Technical Report RR-2966, INRIA. Halevi, Y. and Ray, A. (1988). Integrated communication and control systems: Part i - analysis, Jornal of Dynamic Systems, Measurement, and Control 110: 367373. Henderson, W., Kendall, D. and Robson, A. (2001). Improving the accuracy of scheduling analysis applied to distributed systems computing minimal response times and reducing jitter, Real-Time Systems 20(1): 525. Henzinger, T. A. (1994). Symbolic model checking for real-time systems, Information and Computation 111: 193244. Hespanha, J. P., Naghshtabrizi, P. and Xu, Y. (2007). A survey of recent results in networked control systems, Proc. of The IEEE 95(1): 138162. Krkora, J. (2008). Using Timed Automata for a Verication, Testing and Scheduling in Distributed Systems, PhD thesis, Czech Technical University in Prague, Prague. Larsen, K. G., Pettersson, P. and Yi, W. (1995). Model-checking for real-time systems, Proc. of the 10th international conference on fundamentals of computation theory 965: 6288. Nilsson, J. (1998). Real Time Control Systems with Delay, PhD thesis, Lund Institute of Technology, Sweden. Palencia, J. C. and Harbour, M. G. (1998). Schedulability analysis for tasks with static and dynamic osets, Proc. of The 19th IEEE Real-time Systems Symposium . Perez, D. A., Moreno, U. F. and Montez, C. B. (2006). The jitter margin and its application in the design of real-time control systems, Proc. of The 32nd Annual Conference of The IEEE Industrial Eletronic Society . Redell, O. (2003). Response Time Analysis for Implementation of Distributed Control Systems, PhD thesis, Royal Institute of Technology, Stockholm.

S, J. S. (2007). Projeto e anlise de um sisa a tema de aquisio de dados distribu para ca do aplicaes em tempo real, Masters thesis, co Universidade Federal de Campina Grande UFCG, Brasil. Santos, M. M. and Vasquez, F. (2005). Aplicando margem de jitter no projeto de sistemas de controle via redes, Simpsio Brasileiro de o Redes de Computadores - SBRC2005 (VII Workshop de Tempo Real) . Tindell, K. and Clark, J. (1994). Holistic schedulability analysis for distributed hard real-time systems, Microprocessors and Microprogramming Euromicro Journal 40. Tipsuwan, Y. and Chow, M.-Y. (2003). Control methodologies in networked control systems, Control Engineering Practice 11: 10991111. Walsh, G. C., Ye, H. and Bushnell, L. G. (2002). Stability analysis of networked control systems, IEEE Transactions on Control Systems Technology 10(3): 438446. Waszniowsky, L. and Hanzlek, Z. (2008). Fora mal verication of multitasking applications based on timed automata model, Real-Time Systems 38(1): 3965. Yang, T. C. (2006). Networked control system: a brief survey, Control Theory Application 153: 403412.

Você também pode gostar