CONVERTENDO DIAGRAMAS LADDER EM MODELOS DE REDES DE PETRI COLORIDAS

Tamanho: px
Começar a partir da página:

Download "CONVERTENDO DIAGRAMAS LADDER EM MODELOS DE REDES DE PETRI COLORIDAS"

Transcrição

1 X SBAI Simpósio Brasileiro de Automação teligente CONVERTENDO DIAGRAMAS LADDER EM MODELOS DE REDES DE PETRI COLORIDAS Elthon A. da S. Oliveira, Leandro Dias da Silva, Kyller Gorgônio, Angelo Perkusich, Antonio Marcus Nogueira Lima Campus Arapiraca / stituto de Computação, Universidade Federal de Alagoas. Arapiraca / Maceió, Alagoas, Brasil Centro de Engenharia Elétrica e formática, Universidade Federal de Campina Grande. Campina Grande, Paraíba, Brasil s: elthon@arapiraca.ufal.br,leandrodds@gmail.com, {kyller,perkusic,amnlima}@dee.ufcg.edu.br Resumo Neste trabalho apresentamos uma técnica para a tradução de programas Ladder para modelos em Redes de Petri Coloridas (CPN). Ladder é usada no desenvolvimento de software para Controladores Lógico Programáveis, dispositivos usados na automação industrial (e.g.; plantas químicas, de gás e de petróleo). Neste conteto são necessários alto nível de confiança e de segurança, pois a ocorrência de faltas pode resultar em grandes perdas financeiras e até mesmo de vidas humanas. Assim, aspectos formais inerentes às CPN e seu suporte ferramental podem ser usados para garantir o nível de confiança desejado de tais sistemas. Keywords Ladder, Redes de Petri, Tradução, Automação dustrial. Abstract this work we present a technique for translating Ladder to Coloured Petri Nets (CPN) models. Ladder is used in software developing for Programmable Logic Controllers, devices used in industrial automation (e.g.; gas, oil and chemical plants). this contet, a high level of reliability and safety are necessary because faults can cause from lost of big amounts of money to danger to human lives. Thus, formal aspects of CPN and its tool support can be used to assure a certain level of reliability for such systems. Keywords Ladder, Petri Nets, Translation, dustrial Automation. 1 trodução Vários processos na indústria são automatizados visando a otimização do uso dos recursos disponíveis e o aumento na produção. Estes processos, como por eemplo em plantas de processamento de gás e petróleo, podem ser implantados usando um dispositivo chamado Controlador Lógico Programável(CLP). CLPs permitem o desenvolvimento de sistemas de controle fleíveis e confiáveis (Mikkor and Roosimölder, 2004), os quais variam muito em natureza e compleidade. Por se tratar de processos industriais, e geralmente críticos, os sistemas de controle devem assegurar a estabilidade, a acurácia e a suave transição de processo ou atividade de manufatura. É importante que os sistemas se comportem como esperado. Caso não funcionem desta forma, eles podem se tornaruma ameaçaàsegurançade seres humanos e do meio ambiente. Assim sendo, devese assegurar que tais sistemas não apresentarão faltas durante suas eecuções. Técnicas de verificação são aplicadas dentro dos processos de desenvolvimento com o propósito de evitar comportamentos indesejados dos sistemas. Em algumas técnicas usam-se linguagens matemáticas na descrição do comportamento do sistema a ser verificado. Como o comportamento é geralmente compleo, faz-se necessário o uso de suporte ferramental para que simulações e técnicas como a verificação de modelos(clarke et al., 1999) possam ser eecutadas. O uso de testes, mesmo eaustivos, não garante a ausência de erros. Redes de Petri (do inglês PN - Petri Nets) são uma ferramenta de modelagem gráfica e matemática adequadas para descrever e estudar sistemas concorrentes, assíncronos, distribuídos e/ou estocásticos (Murata, 1989). Neste trabalho, é usada uma classe de PN chamada de Redes de Petri Coloridas (Jensen, 2003) (do inglês CPN - Coloured Petri Nets). ros detalhes são apresentados na Seção 2.1. Em se tratando processos de desenvolvimento de software, dois problemas se destacam na inserção das atividades de modelagem e verificação formais: (i) a necessidade de tempo etra para a modelagem, e (ii) o treinamento de recursos humanos ou contratação de pessoal especializado na linguagem a ser usada. Neste trabalho é apresentada uma técnica de tradução automática da linguagem Ladder, especificada pelo padrão IEC (John and Tiegelkamp, 2001), doravante denominado IEC, para modelos CPN. Dentre as linguagens especificadas no padrão IEC, Ladder foi escolhida por ser uma das mais usadas na indústria (Bos, 2009). Uma introdução a ela é apresentada na Seção 2.2. Por ser uma técnica automática, o tempo para modelagem e verificação é reduzido em relação aos casos onde a modelagem é feita de forma completamente manual. Além disso, simulações e verificação de modelos podem ser eecutadas em paralelo durante a implementação do sistema. A técnica apresentada é aplicada no processo de desenvolvimento como ilustrado na Figura 1. Primeiramente, um diagrama Ladder é desenvolvido (passo 1). Em seguida, um processo automático é eecutado para obter o modelo equiva- ISSN: Vol. X 1382

2 X SBAI Simpósio Brasileiro de Automação teligente CPN. Usando PN, é possível modelar conceitos como concorrência, conflito, sincronização e compartilhamento de recursos. Uma PN (Figura 2) é composta por: lugares (P1, P2, P3 e P4), transições (T1 e T2), e arcos ((P2,T2) e (P3,T2), por eemplo). Os lugares representam condições, atividades ou recursos; as fichas representam disponibilidade de recursos; as transições representam eventos; e os arcos indicam lugares de entrada/saída das transições. Figura 1: Visão geral. 3'unit P2 2'unit T2 unit P4 2'unit T1 5'unit 3'unit P1 lente em CPN (passo 2). Este modelo pode ser simulado a fim de se observar comportamentos específicos do sistema. ra possibilidade é a eecução da verificação de modelos em busca de traços de eecução que violem alguma propriedade desejada (passo 3). Baseado nos resultados obtidos, o programador pode corrigir seu diagrama e inicar o processo novamente. Como forma de otimizar este processo, o desenvolvedor pode iniciar a verificação de uma parte do sistema enquanto codifica outra aplicando a verificação composicional (Berezin et al., 1998). Uma eplanação sobre a técnica de conversão apresentada neste trabalho pode ser vista na Seção 3. Como posto por (Peng and Zhou, 2004), a eistência de metodologias de conversão entre PN e linguagens do padrão IEC seria formidável na indústria de automação. O modelo (desenho) do sistema pode ser usado para simulações (Colla et al., 2009). Alguns trabalhos eistentes são discutidos na Seção 4. O uso de tais metodologias aumenta a confiabilidade do sistema desenvolvido provendo um modelo comportamental formal o qual pode ser simulado e verificado. Como supradito, a técnica apresentada neste trabalho pode ser automatizada, necessitando de nenhuma interferência humana em sua eecução. Além disso, o processo de verificação de modelos é inerentemente automático graças as ferramentas eistentes. Faz-se necessária a descrição das propriedades desejadas em alguma lógica temporal (e.g.; LTL) Algumas considerações finais acerca desta técnica e sugestões para trabalhos futuros são apresentados na Seção 5. 2 Fundamentação teórica 2.1 Redes de Petri Coloridas CPN (Jensen, 2003) são uma classe de PN (Murata, 1989) na qual fichas representam tipos de dados compleos. Tal característica possibilita que os modelos possam ser descritos de uma forma mais concisa se comparados aos modelos descritos usando a classe de PN lugar/transição. Além disso, uma ferramenta de software chamada CPN-Tools 1 suporta a edição, simulação e análise de modelos escritos em 1 P3 2'unit Figura 2: Eemplo de PN. Um estado (ou marcação) do modelo é definido pela quantidade de fichas presentes em cada um dos lugares num certo instante da eecução da rede. O disparo de uma transição altera o estado da rede. Tal disparo deve ocorrer se alguma transição estiver habilitada. Devido às restrições de espaço, as regras de disparo de transições estão omitidas. Todavia, o leitor pode recorrer ao livro (Jensen, 2003) para uma descrição detalhada destas regras. 2.2 Ladder Ladder é uma linguagem gráfica beaseada nos circuitosderelé. Devidoàsuafácilformademanipulação, interpretação e representação das coneões físicas entre componentes (sensores e atuadores), ela é muito usada em ambientes industriais. Há diferentes dialetos de Ladder na indústria, tais como (Siemens, 2004) e (Ridley, 2004), cada um desenvolvido para um CLP diferente. Além disso, eles apresentam suas próprias coleções de funções e algumas pequenas diferenças visuais. Todavia, todos seguem o padrão IEC. A eecução do CLP é dividida em ciclos de scan. Durante um ciclo, o fluo de energia passa da esquerda à direita e de cima para baio, cada degrau do diagrama por vez. Quando o fluo chega ao final do diagrama, ou o tempo do ciclo finaliza, inicia-se o ciclo novamente. Cada degrau representa uma instrução do programa. No começo do ciclo, todas as entradas são lidas e armazenadas. Durante a eecução, os dados a serem usados como saída podem ser modificados a qualquer momento pela lógica de controle e só são liberados apenas ao final do ciclo. Além disso, degraus definem o processo de controle e podem ser compostos por linhas onde os elementos da linguagem são postos. Os elementos básicos de Ladder são os contatos (entradas) e bobinas (saídas). Estes elementos podem estar dispostos em série e/ou em paralelo nos degraus. Além disso, degraus contendo apenas elementos básicos podem ser facilmente epressos por meio de fórmulas de lógica Booleana. ISSN: Vol. X 1383

3 X SBAI Simpósio Brasileiro de Automação teligente Contatos podem se apresentar como normalmente abertos ou normalmente fechados. Estes últimos representam a negação dos primeiros. Na Figura 3, a bobina OUT é energizada se um dos contatos IN1 e IN2 (abertos) for energizado e IN3 (fechado) não for. IN1 IN3 OUT ---] [ ]/[---( )--- IN2 ---] [---+ Figura 3: Eemplo de diagrama Ladder. Dois dos elementos de Ladder usados neste trabalho são apresentados na Figura 4: guardas e temporizadores. Além destes, há cinco operações que podem ser incluídas: atribuição, adição, subtração, divisão e multiplicação. Diferentemente de contatos e bobinas, tais elementos não podem ser representados unicamente por fórmulas. 3 De Ladder para CPN 3.1 Lógica de controle simples Como a lógica de controle dos degraus pode ser epressa pela lógica Booleana, a obtenção do modelo CPN a partir de um degrau composto apenas por contatos e bobinas é relativamente simples. A tradução pode ser feita diretamente quando o degrau não contiver outros tipos de elementos. No diagrama apresentado na Figura 3, a bobina OUT é energizada se o valor resultante da fórmula (IN1 IN2) IN3 for verdadeiro. O modelo CPN daquele diagrama é apresentado na Figura 5. () newtuple Start Readputs tuple Fusion 10 false R1 formula(tuple) false tuple out1 R1Logic Fusion 10 out2 Release Done out2 [antvar ==] T1 ---[ 1 ] [TON ms]--- (a) T2 ---[RTO ms]--- {MUL product :=} T3 ---{ somevar * 5 }------[TOF ms]--- (b) (c) Figura 4: Elementos e operações de Ladder Uma guarda (Figura 4(a)) permite a passagem de energia caso seja avaliada como verdadeira. Conjunções e disjunções são epressas pondo guardas em série e em paralelo, respectivamente. Na Figura 4(b) é ilustrada uma operação de multiplicação. O resultado da multiplicação somevar * 5 é atribuído à variável product. Por último, há três temporizadores (Figura 4(c)): delayed Turn On (TON), delayed Turn Off (TOF) e Retentive delayed Turn On (RTO). Enquanto for energizado, o temporizador TON conta de zero até um valor de tempo especificado e então libera o fluo de energia para o restante do degrau. O temporizador TOF permite a passagem de energia até que sua contagem, a partir de um certo valor de tempo, chegue a zero, quando interrompe a passagem de energia. Ambos os temporizadores reiniciam a contagem caso suas entradas passem a não ser energizadas durante a contagem. Já o temporizador RTO funciona de forma similar ao TON, mas sua contagem não é reiniciada quando sua entrada é desenergizada. Ao ter sua entrada energizada novamente, este contador continua a contagem a partir de onde foi interrompida. A única forma de zerar este temporizador é por meio de funções previamente implementadas. Figura 5: Modelo do diagrama da Figura 3. Aleituradosdadosdoambientenoqualseencontra o CLP é modelada pelo disparo da transição Readputs. O disparo desta transição efetua três ações: retira a ficha do lugar Start, que representa o início do ciclo de eecução; atualiza a ficha dolugar, querepresentaolocaldememóriaque armazena as leituras das entradas; e passa uma ficha ao lugar R1, que indica que o fluo de energia se encontra no primeiro degrau. A ficha presente em é uma tupla com três valores lógicos. A quantidade de valores desta tupla corresponde à quantidade de variáveis de entrada do CLP. Com a ficha presente em R1, R1Logic dispara e, com base na lógica de controle e nos valores da tupla presente em, escreve o devido valor no local de memória que corresponde à saída (bobina), lugar. Esta transição também passa uma ficha ao lugar Done que representa o fim da eecução dos degraus. O disparo de Release libera o dado de saída (atualização do lugar 2 ) e põe uma ficha em Start, indicando uma nova leitura dos dados do ambiente e o começo de outro ciclo. A função formula(tuple) na inscrição do arco (R1Logic, M em) implementa a lógica de controle do degrau. Essa função é obtida de acordo com um algoritmo apresentado em (de Vasconcelos Oliveira et al., 2009). As funções presentes nos modelos CPN são implementadas com CPN/ML, uma variante da linguagem SML (Appel and Macqueen, 1991). Abaio segue o código da função formula(tuple): fun formula((in1,in2,in3)) = (IN1 orelse IN2) andalso not(in3) 2 Este lugar é atualizado por meio da leitura da ficha presente no lugar pelos arcos out2. ISSN: Vol. X 1384

4 X SBAI Simpósio Brasileiro de Automação teligente Contatos normalmente abertos e fechados com o mesmo nome representam a mesma entrada no diagrama Ladder. Assim, são considerados da mesma forma no modelo. A adição de outro degrau ao diagrama da Figura 3 demanda a replicação de algumas partes no modelo. O novo diagrama é apresentado na Figura 6. Neste diagrama há outra bobina, a qual será energizada se a fórmula IN3 IN2 for avaliada como verdadeira. IN1 IN3 OUT1 ---] [ ]/[---( )--- IN2 ---] [---+ IN3 IN2 OUT2 ---] [---]/[ ( )--- Figura 6: Diagrama Ladder com dois degraus. Apenas algumas mudanças são necessárias para modelar o novo diagrama. Basta usar uma tupla em com n valores verdade, onde n é a quantidade de saídas diferentes 3. ra mudança é a replicação da estrutura que modela o degrau no último eemplo. Na Figura 7 é apresentado o modelo CPN para dois degraus. () newtuple Start Readputs tuple Fusion 1 R1 (false,false) tuple (formula(tuple),out2) R1Logic Fusion 1 (out1,out2) Fusion 2 OUTPUTS R2 (false,false) (false,false) (out1,formula2(tuple)) tuple OUTPUTS R2Logic tuple Fusion 1 (out1,out2) Fusion 2 OUTPUTS Release Done Figura 7: Modelo do diagrama da Figura 6. Nesta rede, R1Logic passa o fluo de energia ao segundo degrau (R2). A inscrição (f ormula(tuple), out2) garante que apenas o primeiro elemento da tupla, que corresponde à saída OUT1 do diagrama, é atualizado. Em seguida, R2Logic consome a ficha do lugar R2 e também usa a tupla localizada em. De forma semelhante, (out1, f ormula2(tuple)) preserva o estado da primeira saída e escreve no local de memória que corresponde à saída OUT2. Assim como ocorre com entradas e saídas, variáveis auiliares podem ser modeladas por uma única tupla que contenha todas elas. Um lugar denominado Vars representa o local de memória que armazena tais variáveis. Admitindo que há um terceiro degrau que processe uma adição usando alguma das variáveis de 3 Não foi utilizada tupla no eemplo anterior pois havia apenas uma saída. sistema, é suficiente acrescentar dois arcos: um conectando o lugar Vars à transição R3Logic para que esta possa ler a variável, e outro arco retornando ao lugar Vars eecutando a operação mencionada na variável desejada. 3.2 Temporizadores Os modelos dos temporizadores(seção 2.2) podem ser vistos na Figura 8. O disparo de Ti significa a passagem de energia durante um ciclo no degrau onde o temporizador se encontra. O lugar contém o valor avaliado a partir das entradas lidas e da lógica de controle que precede o temporizador nomesmodegrau. Porúltimo, olugar contém a saída do temporizador durante o ciclo. Ti Ti if =RTO then RTO else (if () then (+1) else ) Ti 0 if =RTO then true else false (a) 0 if =TON then TON else (if () then (+1) else 0) if =TON then true else false (b) TOF if =0 then 0 else (if not() then TOF else (-1)) if not() then false else if ( andalso =0) then false else true (c) Figura 8: Modelos dos temporizadores. As inscrições RTO, TON e TOF (Figuras 8 (a), (b) e (c), respectivamente) são variáveis CPN/ML que representam o tempo de seus respectivos temporizadores. Desta forma, no caso de mudança na configuração do temporizador, devese ajustá-lo na declaração da variável. O ajuste do temporizador no modelo depende do tempo de eecução real do CLP onde o código Ladder é embarcado. Admitindo um ciclo de 10 milissegundos e a presença de um temporizador TON cuja configuração seja de 50 milissegundos, serão necessários cinco ciclos para que o temporizador gere uma saída energizada 4. Neste caso, o tempo do temporizador no modelo é de cinco unidades de tempo. Em outras palavras, o tempo do temporizador do modelo, representado por uma das três variáveis (TON, TOF ou RTO), é calculado pela divisão do tempo do temporizador real pelo tempo de duraçãodo ciclo do CLP específico. Vale a pena ressaltarque apenasaparteinteirado valor resultante desta divisão é usado. 4 No caso do temporizador TON, cinco ciclos consecutivos com entrada verdadeira são necessários para produzir uma saída verdadeira. ISSN: Vol. X 1385

5 X SBAI Simpósio Brasileiro de Automação teligente 3.3 Temporizador e operação aritmética Um diagrama com um temporizador RTO e uma operação de adição é ilustrado na Figura 9. A B {ADD var1 :=} --] [--+--] [---[RTO ms] { var1 + 1 }--- C D +--]/[ ( )--- Figura 9: Diagrama com temporizador e adição. O degrau apresenta um contato (A) e, em seguida, divide-se em duas linhas. A primeira contém um outro contato (B) e um temporizador retentivo () em série. A segunda contém outro contato (C). Se uma das duas lógicas de controle for avaliada como verdadeira, uma variável inteira (var1) é incrementada em 1 e uma bobina (D) é energizada. O modelo CPN correspondente é apresentado na Figura 10. ros aspectos são modelados neste eemplo: (i) mais de uma linha num mesmo degrau, (ii) temporizador e (iii) manipulação de variável. () Start R1L2 Readputs if =RTO then true else false newtuple tuple R1L1 (false) L2 res2 L1 res1 0 incr(res1,res2,var1) (out1) OUTPUTS Vars R1Logic tuple VARIABLES var1 (disj(res1,res2)) tuple tuple R1L2Log R1L1Log Fusion 1 checkr1l2(tuple) Release Done if =RTO then RTO else( (false) Fusion 1 OUTPUTS 0 if checkr1l1(tuple) then (+1) else ) Figura 10: Modelo do diagrama da Figura 9. Um degrau com mais de uma linha pode ser modelado com uma disjunção. Contudo, neste caso há um temporizador que muda a lógica de controle do degrau. Se não fosse por ele, a saída (D) seria energizada e var1 seria incrementada se A (B C) fosse verdadeiro. Com a presença do temporizador, é necessário separar a parte temporizada da não temporizada. Desta forma, a lógica do degrau é modelada por uma disjunção entre (A B) temporizado e (A C) não temporizado. Como pode ser visto na Figura 10, há dois lugares para o degrau: R1L1 (parte temporizada) e R1L2 (parte não temporizada). A parte não temporizada é modelada como nos eemplos anteriores. A fórmula (A C) é implementada pela função checkr1l2 que recebe uma tupla com os valores de entrada e cujo resultado é posto em L2. A parte temporizada inicia em R1L1. Como ilustrado na Figura 8(a), a entrada do temporizador deve ser o valor resultante da lógica de controlequeoprecede. R1L1Log lêasentradasea função checkr1l1 funciona como o valor verdade, pois implementa a lógica de controle mencionada. L1 conterá a saída do temporizador: verdadeiro, se por pelo menos cinco (valor de RTO) vezes não necessariamente consecutivas a checkr1l1 for avaliada como verdadeiro; ou falso, caso contrário. No mesmo degrau, se a função disj for verdadeira, R1Logic atualizará var1 e energizará D. Esta função implementa a disjunção dos valores resultantes das partes temporizada e não temporizada. ternamente, a função incr usa disj. As implementações das funções são: fun checkr1l1((a,b,c)) = a andalso b; fun checkr1l2((a,b,c)) = a andalso not c; fun disj(a,b) = a orelse b; fun incr(a,b,c) = if disj(a,b) then c+1 else c; Aparentemente, as funções checkr1l1 e checkr1l2 possuem três parâmetros. Contudo, elas possuem apenas um do tipo tuple, que é uma tupla com três elementos. Usando tuplas desta forma, a estrutura do modelo pode se manterintactamesmocommudançasnalógicadecontrole dos degraus. Fazendo-se necessário apenas alterar o código CPN/ML. 4 Trabalhos relacionados Pesquisadores têm usado PN para modelar e controlar sistemas de manufatura, alguns lidando diretamente com Ladder. Em (Uzam and Jones, 1996), uma metodologia chamada Token Passing Logic é usada para converter PN controladoras de sistemas de manufaturas em diagramas Ladder. Porém, as PN incluem novos conceitos: atuadores e sensores como estruturas formais das redes. Em (Lee and Lee, 2009), é apresentado um processo de conversão de Ladder em modelos PN analisando atributos do programa Ladder e da operação do CLP. Capacidade de análise formal é agregada da teoria de PN para programas Ladder. Contudo, para tornar isso possível, conceitos pouco conhecidos (arco de reinício) são usados e novos conceitos são introduzidos (arco de preservação e lugar de buffer). Os trabalhos apresentados por (Thapa et al., 2005) e por (Park et al., 2000) apresentam traduções de modelos PN para Ladder. O primeiro usa uma técnica de mapeamento um para um para gerar código de controle sem falha para um desempenho operacional melhor. Estes trabalhos usam uma notação similar a das PN lugar/transição e introduzem novos conceitos o que dificulta o uso de ferramentas de software bem consolidadas. Além disso, caso seja necessário analisar o modelo diretamente, as PN ordinárias são de difícil compreensão pois tendem a ser demasiado grandes. Mesmo lidando com pequenos diagramas, o modelo correspondente pode se tornar enorme e ininteligível. 5 Conclusões Neste trabalho foi apresentada uma técnica para conversão de Ladder em modelos CPN. Com e- ISSN: Vol. X 1386

6 X SBAI Simpósio Brasileiro de Automação teligente ceção da definição de tempo dos temporizadores, não há interferência humana no processo. Esta característica agiliza o processo de modelagem. Além disso, a ferramenta CPN-Tools possibilita simulações de subpartes do sistema bem como a aplicação da técnica de verificação de modelos de forma completamente automática. Uma vantagem no uso de CPN em relação às redes lugar/transição é que a estrutura da primeira rede não apresenta mudanças drásticas quando a lógica de controle é alterada. Mudanças podem ser feitas a nível de código CPN/ML. Algum desenvolvedor com o mínimo conhecimento em programação funcional pode atualizar o modelo diretamente no código. clusive pode testar diferentes lógicas de controle alterando simplesmente as funções geradas. Futuramente é pretendido aplicar este trabalho a um estudo de caso com uma maior combinação de elementos de Ladder. Foi percebido que é possível definir um modelo CPN mais genérico. Desta forma, mais mudanças poderiam ser refletidas apenas no código SML, preservando a estrutura da rede. Tal possibilidade será investigada. Também será implementada uma ferramenta com interface amigável ao usuário. ro possível trabalho é usar PN temporizadas(wang, 1998) como modelo alvo. Assim, será possível modelar temporizadores totalmente sem intervenção humana. Agradecimentos À CAPES e ao CNPq pelo suporte financeiro. Referências Appel, A. W. and Macqueen, D. B. (1991). Standard ML of New Jersey, Third t l Symp. on Prog. Lang. Implementation and Logic Programming, Springer-Verlag, pp Berezin, S., Campos, S. V. A. and Clarke, E. M. (1998). Compositional reasoning in model checking, Revised Lectures from the ternational Symposium on Compositionality: The Significant Difference, COMPOS 97, Springer-Verlag, London, UK, pp Bos (2009). Understanding the IEC Programming Languages, Bosch Reroth Corporation. Clarke, E. M., Grumberg, O. and Peled, D. A. (1999). Model Checking, The MIT Press. Colla, M., Leidi, T. and Semo, M. (2009). Design and implementation of industrial automation control systems: A survey, dustrial formatics, INDIN th IEEE ternational Conference on, pp de Vasconcelos Oliveira, K., Gorgônio, K., Perkusich, A., Lima, A. M. N. and da Silva, L. D. (2009). Etração automática de autômatos temporizados a partir de diagramas ladder, Anais do IX Simpósio Brasileiro de Automação teligente, Sociedade Brasileira de Automática, Brasília, Brasil. Jensen, K. (2003). Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Volume 1 (Monographs in Theoretical Computer Science. An EATCS Series), Springer. John, K.-H. and Tiegelkamp, M. (2001). IEC : Programming dustrial Automation Systems, Springer-Verlag. Lee, J. and Lee, J. (2009). Conversion of ladder diagram to petri net using module synthesis technique, ternational Journal of Modelling and Simulation 29. Mikkor, A. and Roosimölder, L. (2004). Programmable logic controllers in process automation, 4th ternational DAAAM Conference. dustrial Engineering novation as Competitive Edge for SME, pp Murata, T. (1989). Petri nets: Properties, analysis and applications, Proceedings of the IEEE 77(4): Park, E., Tilbury, T. and Khargonekar, P. (2000). Control logic generation for machining systems using Petri net formalism, Vol. 5, pp vol.5. Peng, S. S. and Zhou, M. C. (2004). Ladder diagram and Petri-net-based discrete-event control design methods, Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on 34(4): Ridley, J. (2004). Mitsubishi FX Programmable Logic Controllers - Applications and Programming, Elsevier. Siemens (2004). SIMATIC - Ladder Logic (LAD) for S7-300 and S7-400 Programming. Thapa, D., Dangol, S. and Wang, G.-N. (2005). Transformation from Petri Nets Model to Programmable Logic Controller using One-to-One Mapping Technique, Computational telligence for Modelling, Control and Automation, ternational Conference on 2: Uzam, M. and Jones, A. H. (1996). Conversion of Petri Net Controllers for Manufacturing Systems to Ladder Logic Diagrams, Proceedings of the IEEE Conference on Emerging Technologies and Factory Automation, Vol. 2, pp Wang, J. (1998). Timed Petri Nets: Theory and Application (The ternational Series on Discrete Event Dynamic Systems), Springer. ISSN: Vol. X 1387

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS 1 PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS INTRODUÇÃO O processamento interno do CLP é digital e pode-se, assim, aplicar os conceitos de lógica digital para compreen8 der as técnicas e as linguagens

Leia mais

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas

Leia mais

Automação Industrial Parte 2

Automação Industrial Parte 2 Automação Industrial Parte 2 Prof. Ms. Getúlio Teruo Tateoki http://www.getulio.eng.br/meusalunos/autind.html Perspectiva Histórica Os primeiros sistemas de controle foram desenvolvidos durante a Revolução

Leia mais

Modelagem e vericação de programas de CLP para sistemas de instrumentados de segurança na indústria de petróleo e gás

Modelagem e vericação de programas de CLP para sistemas de instrumentados de segurança na indústria de petróleo e gás Modelagem e vericação de programas de CLP para sistemas de instrumentados de segurança na indústria de petróleo e gás Proposta de Dissertação de Mestrado Orientador: Ma Hering de Queiroz Co-Orientador:

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados) Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

Leia mais

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis 1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

TÍTULO: PROGRAMAÇÃO DE CLP PARA UMA MÁQUINA DE SECÇÃO SEGMENTOS ORGÂNICOS

TÍTULO: PROGRAMAÇÃO DE CLP PARA UMA MÁQUINA DE SECÇÃO SEGMENTOS ORGÂNICOS Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: PROGRAMAÇÃO DE CLP PARA UMA MÁQUINA DE SECÇÃO SEGMENTOS ORGÂNICOS CATEGORIA: CONCLUÍDO ÁREA:

Leia mais

CONTROLADOR LÓGICO PROGRAMAVEL

CONTROLADOR LÓGICO PROGRAMAVEL CONTROLADOR LÓGICO PROGRAMAVEL Controlador Lógico Programável ( Hardware ) Para aprendermos como funciona um CLP, é necessário uma análise de seus componentes básicos, utilizados por todos os CLPs disponíveis

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Engenharia de Sistemas Computacionais

Engenharia de Sistemas Computacionais Engenharia de Sistemas Detalhes no planejamento UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Introdução Na aplicação de um sistema

Leia mais

Profª Danielle Casillo

Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Automação e Controle Aula 07 Linguagem Ladder Profª Danielle Casillo A LINGUAGEM LADDER Foi a primeira que surgiu para programação

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Automação. Industrial. Prof. Alexandre Landim

Automação. Industrial. Prof. Alexandre Landim Automação Industrial Prof. Alexandre Landim Automação Industrial Controladores Lógicos Programáveis Parte 1 1. Introdução O Controlador Lógico Programável, ou simplesmente CLP, tem revolucionado os comandos

Leia mais

Profª Danielle Casillo

Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Automação e Controle Aula 08 Linguagem Laddercont... Profª Danielle Casillo Funções Lógicas em Ladder A. Função NãoE (NAND) Consiste

Leia mais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 6-T 2. Máquinas Sequencias Síncronas: Comparação entre

Leia mais

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO Universidade Federal de Viçosa Departamento de Informática &XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO Flaviano Aguiar Liziane Santos Soares Jugurta Lisboa Filho (Orientador) PROJETO UNESC@LA Setembro de

Leia mais

Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso

Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso Estefânia Paula da SILVA¹; Lígia Maria SOARES PASSOS² ¹ Aluna do curso de Engenharia de Produção do IFMG

Leia mais

DESENVOLVIMENTO DE SISTEMAS CORRETOS. BISI, Nícolas Nogueira Universidade Federal de Pelotas nicolasbisi@gmail.com

DESENVOLVIMENTO DE SISTEMAS CORRETOS. BISI, Nícolas Nogueira Universidade Federal de Pelotas nicolasbisi@gmail.com DESENVOLVIMENTO DE SISTEMAS CORRETOS BISI, Nícolas Nogueira Universidade Federal de Pelotas nicolasbisi@gmail.com FOSS, Luciana; COSTA, Simone André da Universidade Federal de Pelotas lfoss@inf.ufpel.edu.br,

Leia mais

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto Introdução a computação móvel Monografia: Middlewares para Rede de Sensores sem Fio Uma avaliação na ótica de Adaptação ao Contexto Adriano Branco Agenda Objetivo do trabalho O que é uma WSN Middlewares

Leia mais

Linguagens de Programação Bloco de Função, SFC e Texto Estruturado Automação Semestre 01/2015

Linguagens de Programação Bloco de Função, SFC e Texto Estruturado Automação Semestre 01/2015 Linguagens de Programação Bloco de Função, SFC e Texto Estruturado Automação Semestre 01/2015 Engenharia de Controle e Automação FENG ENGENHARIA DE CONTROLE E AUTOMAÇÃO Linguagens de Programação Select

Leia mais

Quadro de consulta (solicitação do mestre)

Quadro de consulta (solicitação do mestre) Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta

Leia mais

Fundamentos de Automação. Controladores

Fundamentos de Automação. Controladores Ministério da educação - MEC Secretaria de Educação Profissional e Técnica SETEC Instituto Federal de Educação Ciência e Tecnologia do Rio Grande do Sul Campus Rio Grande Fundamentos de Automação Controladores

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Setores Trilhas. Espaço entre setores Espaço entre trilhas Memória Externa Disco Magnético O disco magnético é constituído de um prato circular de metal ou plástico, coberto com um material que poder magnetizado. Os dados são gravados e posteriormente lidos do

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina

(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina Verificação de Modelos (Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina Cîrstea Lista de Leitura para a Parte Teórica M. Huth and M. Ryan, Logic in Computer Science Modelling

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO. João Alvarez Peixoto*

IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO. João Alvarez Peixoto* IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO João Alvarez Peixoto* * Mestrando do Programa de Pós-graduação em Engenharia Elétrica - UFRGS Porto

Leia mais

OBJETIVOS: CARGA HORÁRIA MÍNIMA CRONOGRAMA:

OBJETIVOS: CARGA HORÁRIA MÍNIMA CRONOGRAMA: ESTUDO DIRIGIDO COMPONENTE CURRICULAR: Controle de Processos e Instrumentação PROFESSOR: Dorival Rosa Brito ESTUDO DIRIGIDO: Métodos de Determinação de Parâmetros de Processos APRESENTAÇÃO: O rápido desenvolvimento

Leia mais

OPERADORES E ESTRUTURAS DE CONTROLE

OPERADORES E ESTRUTURAS DE CONTROLE OPERADORES E ESTRUTURAS DE CONTROLE 3.1 Operadores Os operadores indicam o tipo de operação matemática que será executada gerando novos valores a partir de um ou mais operadores. São muito utilizados em

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Organização Básica do Computador

Organização Básica do Computador Organização Básica do Computador Modelo de Von Neumann MEMÓRIA ENTRADA ARITMÉTICA LÓGICA SAÍDA CONTROLE Modelo de Von Neumann Introduziu o conceito do computador controlado por programa armazenado. Todo

Leia mais

Aula 2 Modelo Simplificado de Computador

Aula 2 Modelo Simplificado de Computador Aula 2 Modelo Simplificado de Computador Um computador pode ser esquematizado de maneira bastante simplificada da seguinte forma: Modelo Simplificado de Computador: Memória Dispositivo de Entrada Processador

Leia mais

Automação Industrial. Prof. Ms. Getúlio Teruo Tateoki. http://www.getulio.eng.br/meusalunos/autind.html

Automação Industrial. Prof. Ms. Getúlio Teruo Tateoki. http://www.getulio.eng.br/meusalunos/autind.html Automação Industrial Prof. Ms. Getúlio Teruo Tateoki http://www.getulio.eng.br/meusalunos/autind.html -Duas Aulas quinzenais -Datas: Engenharia Elétrica 08 e 18 de agosto 01, 15, 29 de setembro 13 e 27

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br Processo de Desenvolvimento de Software nelmarpg@yahoo.com.br 1 Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software)

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

Circuitos Digitais Cap. 6

Circuitos Digitais Cap. 6 Circuitos Digitais Cap. 6 Prof. José Maria P. de Menezes Jr. Objetivos Flip-Flops e Dispositivos Correlatos Latch com portas NAND Latch com portas NOR Sinais de Clock e Flip-Flops com Clock Flip-Flop S-C

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

3. O NIVEL DA LINGUAGEM DE MONTAGEM 3. O NIVEL DA LINGUAGEM DE MONTAGEM Nas aulas anteriores tivemos a oportunidade de discutir dois diferentes níveis presentes na maioria dos computadores atuais. Nesta aula dedica-se a outro nível que também

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

CPG: sincronização entre diferentes dispositivos

CPG: sincronização entre diferentes dispositivos CPG: sincronização entre diferentes dispositivos Vitor Hugo Galhardo Moia Marco Aurélio Amaral Henriques {vhgmoia, marco}@dca.fee.unicamp.br Universidade Estadual de Campinas - UNICAMP Faculdade de Engenharia

Leia mais

Manual HPSim. 1 Introdução. 2 Instalação do Programa

Manual HPSim. 1 Introdução. 2 Instalação do Programa Manual HPSim 1 Introdução O HPSim é um software para simulação de redes de Petri que apresenta uma interface intuitiva de fácil utilização. Entre suas vantagens está a possibilidade do acompanhamento da

Leia mais

Conceitos Importantes:

Conceitos Importantes: Conceitos Importantes: Variáveis: Por Flávia Pereira de Carvalho, 2007 i O bom entendimento do conceito de variável é fundamental para elaboração de algoritmos, consequentemente de programas. Uma variável

Leia mais

EVOLUÇÃO DE SOFTWARE

EVOLUÇÃO DE SOFTWARE EVOLUÇÃO DE SOFTWARE Dinâmica da evolução de programas Manutenção de software Processo de evolução Evolução de sistemas legados 1 Mudança de Software 2 Manutenção de software Mudança de software é inevitável

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Introdução aos cálculos de datas

Introdução aos cálculos de datas Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

O Processo de Desenvolvimento de Software

O Processo de Desenvolvimento de Software O Processo de Desenvolvimento de Software Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software) Um processo de

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Princípios de Análise e Projeto de Sistemas com UML

Princípios de Análise e Projeto de Sistemas com UML Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 9 Modelagem de estados Todos os adultos um dia foram crianças, mas poucos se lembram disso.

Leia mais

Descrição do Produto. Altus S. A. 1

Descrição do Produto. Altus S. A. 1 Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Funções de Posicionamento para Controle de Eixos

Funções de Posicionamento para Controle de Eixos Funções de Posicionamento para Controle de Eixos Resumo Atualmente muitos Controladores Programáveis (CPs) classificados como de pequeno porte possuem, integrados em um único invólucro, uma densidade significativa

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10)

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10) Questionário Nível Avaliado Gerador de plano de teste Gerador de dados Função/característica do produto Gestão dos dados do plano de teste (51) Perguntas Pontuação Selenium BadBoy Canoo A ferramenta auilia

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0. AULA 22 ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 6. Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M 0.

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

desenvolvimento de SI

desenvolvimento de SI Desenvolvimento Sistemas Informação (O Brian, 2004; Ed. Saraiva) Prof. José Alexandre C. Alves (MSc) Entenr o Problema ou Oportunida Empresarial Desenvolver uma Solução do Sistema Informação Implantar

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

MODELAGEM E SIMULAÇÃO

MODELAGEM E SIMULAÇÃO MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza edwin@engenharia-puro.com.br www.engenharia-puro.com.br/edwin Terminologia Básica Utilizada em de Sistemas Terminologia Básica Uma série de termos

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

Integração de Sistemas Industriais com a Suíte GE Proficy

Integração de Sistemas Industriais com a Suíte GE Proficy Integração de Sistemas Industriais com a Suíte GE Proficy Ricardo Caruso Vieira Aquarius Software 1. Introdução Há mais de duas décadas, a indústria investe intensamente em sistemas ERP (Enterprise Resource

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Controle da produção baseado em códigos de barras

Controle da produção baseado em códigos de barras Controle da produção baseado em códigos de barras Fábio Favaretto (PUCPR) fabiofav@ccet.pucpr.br Alfredo Iarozinski Neto (PUCPR) alfredo@ccet.pucpr.br Resumo O controle da produção é um processo que tem

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais