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

Modelagem e verificao atravs de EFSM Extended finite state machines (EFSMs) EFSMs podem ser consideradas como uma

extencao das maquinas de Mealy [1], pois em ambos os casos so permitidas restries e/ou comandos atrelados a transies. Tais EFSMs tambm podem ser descritas matematicamente pela n-upla na forma (S, S0, E, V, T), (Hong et al., 2002) onde: S um conjunto finito de estados; S0 o conjunto de estados inicias; E um conjunto finito de eventos; V o conjunto finito de variveis divididas entre variveis de entrada, de sada e locais; T um conjunto finito de transies.

Uma EFSM apresenta um formalismo associado ao conceito de estados simblicos (Hessel, 2007), tal conceito importante para a estipulao das formulas de logica temporal que contero os estados/variveis do modelo a ser verificado. Um estado simblico ento pode ser descrito como uma n-upla na forma (s, ), onde s representa o estado atual do processo de simulao e o conjunto dos valores atuais das variveis do EFSM. [1] Modelagem e verificao O processo de modelagem e verificao se inicia com a converso do programa de controle incialmente em LD para EFSM. Os degraus do programa em LD so avaliados e suas expresses logicas resultantes sero atreladas transies entre estados pertinentes do ESFM principal resultante, esse por sua vez complementado pelos EFSM auxiliares que modelam os endereos das entradas e os elementos contadores. O Modelo EFSM resultante composto de 5 estados bsicos, sendo eles; inicio, ler entradas, executar programa, atualizar sadas e atualizar tempo da amostragem. Tal modelo pode ser considerado uma modelagem implcita dos trs estados do ciclo operacional de um PLC. De forma geral, o procedimento de modelagem de programas em LD para EFSM pode ser resumido nos seguintes passos: [1] 1. 2. 3. 4. 5. Parametrizao inicial do modelo principal; Parametrizao dos modelos auxiliares dos endereos de entrada; Parametrizao dos modelos auxiliares dos contadores; Declarao de todas variveis associadas com os endereos os programa de controle; Mapear as expresses logicas dos degraus na transio entre os estados executar programa e atualizar sadas; 6. Insero de dois estados entre os estados executar programa e atualizar sadas para cada timer existente no programa de controle. Ambas as transies devem ser associadas com o mesmo canal de sincronismo para que seja estabelecida uma comunicao entre o modelo principal e o modelo do timer; 7. Estabelecer um tempo da amostragem;

No processo de verificao propriamente dito, as formulas de logica temporal derivadas do modelo EFMS so testadas para a ocorrncia de algum estado simblico, dentro do espao de estados resultantes do modelo completo, onde tais formulas no sejam validas.

Design baseado em modelos Tcnicas formais de verificao e validao dos modelos, ou seja, antes da codificao do programa de controle, so menos utilizadas que tcnicas de simulao do funcionamento do programa de controle, pois tais tcnicas no so to simples ou intuitivas de serem implementadas quanto as de simulao. Apesar disso, os modelos formais so normalmente suportados por ferramentas que realizam verificao de modelos genricos, e dessa forma podem ser utilizados para verificao de validao de algoritmos de controle e, inclusive, para gerao das sequencias de teste. [2] Entre as vantagens das ferramentas de verificao de modelos a possibilidade da realizao do processo de validao e verificao formal de forma automtica, por se assegurar que cada comportamento possvel do sistema satisfaz as especificaes dadas, e, alm disso tais ferramentas ainda so capazes de informar contraexemplos caso alguma especificao no seja satisfeita de forma a facilitar a correo de possveis erros no programa de controle. [2] Para criao do modelo da logica de controle pode se fazer uso da linguagem Stateflow, pois essa tem capacidade de representao de FSM (Finite State Machines) como diagramas em linguagem UML e de forma muito similar como feito em linguagem SFC, prevista na norma IEC 61131-3 [3]. Tal semelhana com SFC facilita muito o entendimento e interpretao dos modelos pelos engenheiros de controle. A linguagem Stateflow pode ser definida como uma linguagem semiformal por no apresentar uma rigorosa definio matemtica do sistema modelado, mas por outro lado mais simples de ser usada e no requer conhecimento prvio de formalismos, como ocorre em linguagens formais convencionais. [2] Atualmente no existe um padro ou norma no setor de automao industrial para definio de quais propriedades devero ser consideradas durante o processo de verificao dos programas de controle, bem como no uma metodologia estruturada de verificao, e dessa forma os engenheiros de controle escolhem de forma autnoma que propriedades devero ser consideradas para verificao. Entretanto na dcada de 90 o FAA, rgo americano que administra o setor de aviao nos EUA, desenvolveu um conjunto de propriedades descritas na norma DO-178B, chamadas de Cobertura do Modelo, para verificao de solues de controle criticas de segurana. Tais propriedades, mesmo tendo sido desenvolvidas para aviao, podem ser utilizadas independentemente da aplicao, e podem provir maneiras de aprimorar a qualidade e a robustez dos processos de validao e verificao. [2] Varias propriedades esto integradas na mtrica de Cobertura do Modelo, entre elas podem ser listadas, Cobertura de Deciso, Cobertura de Condio e Cobertura de Deciso e Condio Modificada, onde cada uma dessas propriedades, comparada com a anterior, resulta em uma analise mais profunda do espao de estados atravs de um numero maior de caminhos explorados. Entretanto nenhum conjunto de propriedades capaz de verificar se o sistema

no v falhar em nenhuma condio operacional, essa mtrica objetiva a garantia que o sistema tenha determinado grau de segurana e confiabilidade. [2] A propriedade de Cobertura de Deciso analisa os elementos do modelo que representam pontos de deciso e determina se todos os estados podem ser atingidos pelo menos uma vez. A de Cobertura de Condio analisa o modelo das sadas dos elementos baseadas na combinao de suas entradas e determina se todas as condies de uma transio se tornam verdadeiras ou falsas pelo menos uma vez. Por fim Cobertura de Deciso e Condio Modificada analisa blocos que tem como sadas uma combinao logica de suas entradas, analisa a transio entre estados e, para cada condio dentro de cada transio, determina se existe pelo menos uma vez em que uma mudana na condio ativa uma transio. [2] Para realizao da analise do modelo, o software Simulink do Matlab pode ser utilizado por possuir algoritmos para verificao de modelos e capacidade de gerao de sequencias de testes conforme a mtrica de Cobertura do Modelo e/ou sequencias de testes personalizadas conforme a aplicao. [2] Assim que a analise do Simulink completada, relatrios informando quais objetivos foram satisfeitos, quais no e quais casos de testes permitiram a satisfao dos objetivos so gerados. Por fim o software informa qual porcentagem de cobertura do modelo e tal numero usado como indicador de qualidade da verificao efetuada. [2] Nessa tcnica de verificao e validao dos algoritmos de controle, o processo de validao e verificao propriamente somente parte de uma metodologia de projeto de solues de controle baseada em modelos onde esse o objeto do processo de verificao e validao e, somente aps tal processo, o cdigo de controle gerado de forma automtica.

Verificao por mtodos de circuitos integrados

Um processo tpico de desenvolvimento de circuitos integrados se inicia com a especificao do projeto escrita em VHDL e sua posterior verificao. Para que tal verificao seja realizada necessria a criao de uma bancada de testes virtual, tambm em VHDL, que ser usada para gerao dos padres de entradas para verificao da funcionalidade do projeto em teste. [4] VHDL uma linguagem bem aceita para a modelagem e projeto de circuitos integrados, VHDL suporta tcnicas modulares e formais para especificao, verificao e implementao de logicas de controle em uma FPGA. Tanto LD quanto FB podem ser facilmente modelados atravs de VHDL. Essa ainda permite descrever especificaes temporais e ser usada para gerao de ondas, o que pode ser muito til para as atividades de verificao. [4] Bancadas de testes virtuais escritas manualmente tendem a fornecer padres de testes insuficientes, para remoo de tais erros humanos e melhoria da qualidade do testes, possvel se automatizar o processo de criao das bancadas atravs de restries sobre

combinaes de entradas no viveis ou total randomizao do teste. Apesar dessas bancadas serem geradas automaticamente, ainda so necessrios testes para verificao da qualidade das mesmas. Essa verificao realizada atravs de uma analise direcionada por cobertura, onde a bancada de testes cobre todos os padres necessrios para verificao do projeto em testes. [4] Para projetos complexos se torna invivel a leitura dos logs gerados pelo simulador para a procura de eventuais erros. Mtodos formais de verificao de modelos podem ser usados em tais situaes, atravs de mdulos dentro do simulador que comparam as sadas atuais do projeto em teste com as sadas esperadas para determinada entrada e outro modulo que contabiliza os casos satisfatrios ou no para posterior analise. Alm desse tipo de testes, tambm podem ser feita injeo de erros no projeto em teste, nesse tipo de teste a bancada de teste virtuais envia sequencias errneas de entradas e monitora se o projeto em teste percebe tal entrada errnea. [4] Os processos de verificao descritos acima so realizados atravs de um software em um computador. Para garantir que tanto o mtodo adotado e o software simulao estejam corretos, mais um modulo em VHDL pode ser sintetizado para gerao do padres de testes diretamente nos pinos de uma FPGA, como se o processo estivesse sendo emulado dentro da FPGA com esse modulo. Dessa forma o modulo de controle do PLC juntamente com o modulo de gerao de padres de teste so carregados em uma nica FPGA, cada modulo com seus pinos. Quando os pinos dos mdulos so interconectados, os sinais so ligados a um analisador de logica para que a resposta do sistema seja analisada. Dessa forma qualquer operao convencional de um PLC pode ser validada com esse mtodo, os mesmos sinais que antes eram gerados pela bancadas de testes virtual so gerados fisicamente por esse modulo dentro da FPGA. [4]

Verificao atravs de grafos sensores H uma necessidade crescente da melhoria dos processos de desenvolvimento de programas para PLCs, tanto na qualidade dos programas de controle quanto na eficincia do processo de desenvolvimento. Tcnicas de verificao formal, tais como model checking podem contribuir muito para tais melhorias atravs de exploraes do espao de estados para verificao se o modelo atende determinadas especificaes. possvel por exemplo verificar tanto os requerimentos do controlador, ou seja se ele produz uma sequencia correta de sadas, dado determinadas entradas, quanto verificar os requerimentos de sistema, ou seja se o controlador faz com que o sistema fsico, processo ou planta, se comporte conforme especificado. [5] No contexto de verificao formal de programas para PLCs, o processor normalmente e modelado como um sistema a eventos discretos (CED) ,tal modelagem aplicada a processos industriais normalmente considerada como propensa a erros e os modelos tendem a se tornar extensos e confusos. Tambm, normalmente h uma discrepncia entre a natureza assncrona, baseada em eventos de durao interdeminada da maioria dos formalismos de

modelagem e a natureza sncrona, baseada em sinais com tempo de amostragem definidos dos PLCs, [5] Grafos sensores uma linguagem de modelagem de SEDs focada principalmente em sistemas de manufatura. Essa linguagem tem o potencial de tornar o processo de modelagem mais direto gerando normalmente modelos mais compactos e compreensveis. Um grafo sensor descreve como objetos, tais como elevadores, atuadores, peas, etc., podem ativar ou desativar sensores de uma forma grfica. Junto com essa modelagem do sistema, o PLC tambm modelado, porem como uma equao de estado discreta que descreve a execuo de um ciclo de escaneamento como uma transformao de estado no controlador. A vantagem de tal modelagem que os estados intermedirios do controlador durante esse ciclo so ocultas. [5] Para modelagem atravs de grafos sensor, so necessrias algumas definies: Objetos so entidades dinmicas que se movem entre estados discretos, ou locais, tais como palets, elevadores, esteiras, etc. O estado dos sensores pode ser considerado como uma projeo do estado dos objetos. Local descreve a posio discreta de um objeto. Um local abstrato pode ser definido como um conjunto de locais discretos. Invariantes so condies de processo que so sempre mantidas, tais como, demandas do modelo, que so condies que expressam as limitaes do modelo e as condies iniciais.

Um grafo sensor G representado matematicamente pela n-upla na forma G = (U, Y,O, L,V, , init, inv, dem, , min) onde: U e Y so respectivamente o conjunto finito de sinais de entrada (sinais de controle) e os sinais de sada (sinais dos sensores); O o conjunto finito de objetos; L o conjunto finito de locais; V: U Y , onde * o conjunto de todos possveis conjuntos, uma funo que define os possveis valores de cada sinal; V: O 2L uma funo que define os possveis locais de cada objeto; : LLV(O)V(U) B o predicado de transio; init o predicado das condies iniciais; inv o predicado dos invariantes; dem o predicado das demandas do modelo; a funo de sada que atribui um valor para cada sinal de sada y Y; min o delay de cada local, ou seja quantos perodos de amostragem um objeto devera passar em cada local antes de continuar o processo.

O predicado de transio (, , o, u) e ento denotado por -(o, u). Ele nos diz se a transio para esta habilitada, dados os locais dos objetos e o valor das entradas.

Para alcanar o estagio da verificao dos programas propriamente ditos, primeiro necessrio uma modelagem do processo em questo seguido pela modelagem do controlador e por fim a definio da integrao do modelo do processo com o do controlador. O modelo do comportamento do processo pode ser deduzido de um conjunto de estados iniciais e de uma funo de transio. O estado do processo pode ser descrito por x = (o, z), onde o representa o local de cada objeto do sistema e z o numero de ciclos que determinado objeto se encontra em determinado local. Dado que somente um objeto pode mudar de local por vez, define-se L(o, o, u) como os locais onde determinado objeto o pode se mover para, dado a localizao atual dos objetos o e a entrada atual u. Alm de definir quais objetos podero se mover para quais locais, necessrio que se defina os estados em que o processo possa se encontrar tambm. Tais mudanas de estados do processo podem ser tanto disparadas por mudanas de locais dos objetos quanto por estados em que somente o clock incrementado e nenhum objeto muda de local, tais estados, por sua vez, so definidos por ((o, z), u). Um controlador discreto baseado em amostragens discretas que l sua entrada, executa e escreve suas sadas durante um tempo h, pode ser modelado conforme tal equao de estado: ck+1 = f (ck, yk) e uk = g(ck). Onde ck denota o estado do controlador em um tempo kh, uk representa a sada do controlador e. yk o valor da amostragem dos sensores. Por fim necessrio definir a interligao entre o modelo do controlador e do processo, para tal a funo F ((c, y), x) nos d os possveis prximos estados do sistema, onde por (c,y) denotado o estado do controlador, considerando o estado c das variveis internas e o estado y das entradas e por fim o estado do processo denotado por x. Com o modelo do sistema integrado ao modelo do controlador pode ser iniciado o processo de verificao propriamente dito fazendo-se uso da ferramenta Cadence SMV. Qualquer modelo gerado para essa ferramenta deve ser composto de quatro mdulos, sendo eles do controlador, de cada objeto do sistema, do processo que une os objetos e por fim o modulo principal que une o controlador e o processo. O cdigo de controle tambm inserido na ferramenta e essa verifica se o mesmo capaz de atingir os estados necessrios.

Melhoria da eficincia da verificao atravs de abstraes

Um dos maiores problemas enfrentados durante aplicaes praticas de mtodos de verificao de programas de controle a exploso do espao de estados, pois, sistemas reais normalmente possuem grande complexidade e, dessa forma, possuem grandes quantidades de estados atingveis que devero ser verificados pelos mtodos propostos, fazendo com que tais verificaes consumam muito tempo e recursos computacionais. Uma proposta para controlar, ou limitar a exploso do espaos de estados o uso de uma representao compacta do comportamento dos programas para CLPs. Tal representao

pode ser obtida atravs de duas abstraes, a abstrao de interpretao, que reduz o numero de estados e a abstrao de dados, que diminui o numero de variveis que caracterizam um estado. Em ambos os casos, a representao somente manter as informaes que so consideradas uteis para o processo de verificao propriamente dito e ser feita atravs da sintaxe NuSMV. (Cimatti et al. [2002]) [6] Tambm importante informar que esse mtodo focado somente para verificao de propriedades extrnsecas, ou seja, que se referem ao comportamento das entradas e sadas e suas combinaes possveis e proibidas. Propriedades intrnsecas, tais como a falta de deadlocks, estados bloqueantes, etc no so verificadas. [6] Na abstrao de interpretao todos os estados que no so relevantes para verificao das propriedades so desconsiderados, ou seja, somente so considerados estados resultantes das variveis aps o ciclo de verificao das entradas e sadas pelo PLC. Estados intermedirios resultantes durante a execuo do programa de controle so considerados no relevantes e dessa forma so desconsiderados para verificao de propriedades extrnsecas. [6] A abstrao de dados objetiva na diminuio quantidade de variveis que caracterizam um estado, e para tanto, as variveis so divididas em duas categorias, variveis cujos valores atuais no so necessrios e variveis cujos valores atuais e futuros so necessrios para recorrncias dentro do programa. Variveis so definidas como recorrentes quando so usadas dentro do programa de controle antes serem atribudas pelo programa ou se so argumentos de sua prpria atribuio. [6] O primeiro passo do mtodo analise do programa de controle para localizao das dependncias estticas, ou seja, variveis que tem seus valores atribudos a partir de outras variveis. Essas dependncias ento so organizadas sequencialmente conforme sua ordem de execuo dentro do programa. Ento as variveis chamadas recorrentes so detectadas e o conjunto de dependncias temporais obtido a partir das dependncias estticas. Por ultimo dependncias de atribuio de variveis que so modificadas por outras atribuies em partes posteriores do cdigo so removidas. [6] Assim que as dependncias temporais so obtidas, inicia-se a modelagem atravs da sintaxe NuSMV onde cada afirmao do programa que defina uma varivel recorrente gera uma atribuio NuSMV onde esto inclusos todo o comportamento e as variveis usadas para essa afirmao. Afirmaes que definem variveis no recorrentes no geram atribuies NuSMV e so postas de lado e somente sero usadas quando necessrio provar alguma propriedade que contenha tais variveis. Blocos de funo padro IEC 61131-3 so modelados previamente nessa sintaxe e substitudos por tais modelos nesse passo. [6] Com essa modelagem o numero de estados alcanveis em media reduzido em 15 vezes e dessa forma o tempo de verificao tambm, em media, reduzido nessa proporo.

Bibliografia
[1] C. A. Sarmento, J. R. Silva, P. E. Miyagi e D. J. Santos Filho, Modeling of Programs and its Verification for Programmable Logic Controllers, em Proceedings of the 17th World Congress , Seoul, 2008. [2] M. Mazzolini, A. Brusaferri e E. Carpanzano, An Integrated Framework for Model-based Design and Verification of discrete Automation Solutions, Milan, 2011. [3] IEC 61131-3 - Programmable controllers Part 3: Programming languages, Geneva: International Electrotechnical Commission, 2003. [4] M. M. Patil, S. Subbaraman e S. Joshi, Exploring Integrated Circuit Verification Methodology for Verification and Validation of PLC Systems, em International Symposium on Electronic System Design, Kochi, 2011. [5] T. Alenljung e B. Lennartson, Formal Verification of PLC Controlled Systems Using Sensor Graphs, em 5th Annual IEEE Conference on Automation Science and Engineering, Bangalore, 2009. [6] V. Gourcuff, O. de Smet e J.-M. Faure, Improving large-sized PLC programs verification using abstractions, em 17th World Congress The International Federation of Automatic Control, Seoul, 2008. [7] O. D. Smet e O. Rossi, Verification of a controller for a flexible manufacturing line written in Ladder Diagram via model-checking, em Proceedings of the American Control Conference, Anchorage, 2002. [8] L. R. Sampaio, Validao Visual de Programas Ladder Baseada em Modelos, Campina Grande: Universidade Federal de Campina Grande, 2011. [9] A. Palladino, G. Fiengo e D. Lanzo, A portable hardware-in-the-loop (HIL) device for automotive diagnostic control systems, em ISA Transactions, 2012. [10] R. Isermann, J. Schanit e S. Sinsel, Hardware-in-the-loop simulation for the design and testing of engine-control systems, em Control Engineering Practice, 1999. [11] P. Hoffmann, R. Schumann, T. M. Maksoud e G. C. Premier, VIRTUAL COMMISSIONING OF MANUFACTURING SYSTEMS, em 24th EUROPEAN CONFERENCE ON MODELLING AND SIMULATION, Kuala Lumpur, 2010. [12] P. Falkman, E. Helander e M. Andersson, Automatic Generation: A way of ensuring PLC and HMI standards, em 16th IEEE International Conference on Emerging Technologies

and Factory Automation, Toulouse, 2011. [13] M. DIAZ, Petri Nets - Fundamental Models, Verification and Applications, London: John Wiley & Sons, 2009. [14] M. Bani Younis e G. Frey, Formalization of Existing PLC Programs: A survey, Kaiserslautern, 2003. [15] IEC 61508 - Functional safety of electrical/electronic/programmable electronic safetyrelated systems, Geneva: International Electrotechnical Commission, 2010. [16] IEC 61499 - International Standard for Distributed Systems, Geneva: International Electrotechnical Commission, 2005. [17] H. Wan, X. Song, G. Chen e M. Gu, A Refinement-Based Validation Method for Programmable Logic Controllers, em 10th International Conference on Quality Software, Zhangjiajie, 2010.

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