VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS

Slides:



Advertisements
Apresentações semelhantes
Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
Advertisements

Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
Amintas engenharia.
Agentes Cooperativos num ambiente dinâmico
Engenharia de Software
UNIVERSIDADE LUTERANA DO BRASIL COMUNIDADE EVANGÉLICA LUTERANA SÃO PAULO Reconhecida pela Portaria Ministerial nº 681 de 07/12/89 – DOU de 11/12/89 Campus.
15/1/2014 Professor Leomir J. Borba- – 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Tipos de sistemas de Lehman
Engenharia de Software
ARQUITETURA DE COMPUTADORES II
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
INTRODUÇÃO A INFORMÁTICA
Circuitos Lógicos Sequenciais
Orientação a Objetos: Encapsulamento e Classificação
Inteligência Artificial
Tópicos em Engenharia de Software II
Arquiteturas Diferentes
Mário Biague V Oficina: "Como Considerar Variáveis Sociais, Ambientais e Políticas no Planejamento Energético" Análise de portfólio de recursos energéticos.
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
Sistemas Operacionais Planejamento de Experimento
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
Classificação e Pesquisa de Dados
PSEUDO-ONLINE TESTING METHODOLOGIES FOR VARIOUS COMPONENTS OF FIELD PROGRAMMABLE GATE ARRAYS L. Kalyan Kumar, Aditya S. Ramani, Amol J. Mupid, V. Kamakoti*
COORDENAÇÃO DE PROJETOS
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Experiments with Strassen’s Algorithm: from sequential to parallel
Como Desenvolver Sistemas de Informação
Inteligência Artificial
Programação e Sistemas de Informação
Circuitos combinatórios
1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.
Listas Encadeadas.
Princípios e Conceitos de Software(v2)
Organização, Sistemas e Métodos Prof. Luciano Costa.
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Arquitectura de Computadores II
Introdução aos Métodos em Simulação Computacional
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Cap 4 – Métricas do Processo e Projeto de Software
Compressão de Textos Juliano Palmieri Lage.
Pesquisa em Memória Primária
PMBOK 5ª Edição Capítulo 3
Metodologia de Gestão de Projetos
Resolução de problemas por meio de busca
Arquitetura de computadores
Busca com informação e exploração
Conceitos de Lógica Digital
Arquitetura de computadores
Introdução e Busca Cega
Qualidade do Produto de Software
Infra-Estrutura de Hardware
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
Memória virtual Professor Esp. Diego André Sant’Ana
Agenda Modos de Endereçamento.
Prof.ª Me. Marcela Ribeiro de Albuquerque
Ceça Moraes – Introdução à Programação SI1
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Estudo do Trabalho ou Estudo dos Tempos e Movimentos
Construção e Análise de Algoritmos
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Teste de Software 08: Teste Funcional Marcelo d’Amorim
Teste Funcional. 2 Teste funcional Considera o sistema como uma função O teste consiste em: –Gerar dados de entrada para função –Comparar saída com resultado.
Estimativa, Teste e Inspeção de Software
Transcrição da apresentação:

VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com Daniel Vidal RA 099049 dnlvidal@gmail.com VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS

Conteúdo Introdução Métodos Dificuldades e problemas Considerações e conclusões Verificação formal de sistemas complexos

Introdução - Funcionalidade Verificaçao de funcionalidade: implementação X especificação Cada vez mais funcionalidades são integradas nos circuitos integrados Verificação mais complexa que a funcionalidade em si Verificação formal de sistemas complexos

Introdução - Funcionalidade Tradicionalmente verificado por simulação onde deve-se observar: Controlabilidade – estimular o circuito Obersvabilidade – observar o circuito Exaustividade – verificar todos os cenários Simulações de sistemas complexos são bem comportadas em níveis altos de abstração. Para níveis baixos de abstração as simulações são complexas e demoradas Verificação formal de sistemas complexos

Introdução – Verificação formal Processo sistemático baseado em provas matemáticas para verificar a correspondência entre espeficação e implementação. Processo estático – diferente da tradicional simulação Não depende da qualidade/quantidade de vetores de entrada Comparativamente mais rápido que simulação. Verificação formal de sistemas complexos

Verificação de equivalência Modelo referência X Modelo verificado Circuitos integrados sofrem diversas modificações de nível de abstração até o circuito em silício O sistema também sofre modificações estruturais (circuito para testes, árvore de clock, etc.) Simular o circuito em todos os níveis de abstração e após cada modificação demanda muito tempo e recursos computacionais. Verificação formal de sistemas complexos

Verificação de equivalência Utilizando a verificação de equivalência: O modelo de mais alto nível é verificado quanto a funcionalidade e dado como correto. O sistema em implementação é comparado com o modelo correto a cada transformação estrutural ou de nível de abstração Mais rápido e usa menos recursos que a simulação Há várias ferramentas comerciais e é muito usado pelos projetistas Verificação formal de sistemas complexos

Verificação de equivalência Verificação formal de sistemas complexos

Verificação de Modelo Modelo do sistema X Especificação A especificação é descrita por meio de propriedades bem precisas O modelo é expandido para todos os possíveis estados Todos os estados do modelo devem satisfazer as propriedades especificadas Verificação formal de sistemas complexos

Verificação de Modelo Se todos o modelo satisfaz as propriedades para todos os estados ele é correto Se não, pode-se corrigir o modelo com a ajuda de um contra-exemplo onde uma dada propriedade falha Relativamente novo para os projetistas Verificação formal de sistemas complexos

Verificação de Modelo Verificação formal de sistemas complexos

Dificuldades e problemas Tamanho da lógica Complexidade cresce exponencialmente com o espaço de estados e numero de entradas. Complexidade Inerente da lógica Mesmo com um número pequeno de estados a lógica envolvida pode ser muito complexa. Complexidade de interface e protocolos Verificação formal de sistemas complexos

Dificuldades e problemas Lógica difusa Não ligada às funcionalidades primárias Presente em todo o projeto Recursos A complexidade tem impacto direto nos recursos computacionais necessários. Verificação formal de sistemas complexos

Mitigação dos problemas Drivers VF Limitar o espaço entradas eliminando as entradas irreais. Aplicação serial de propriedades Dividir o conjunto de propriedades em máis de uma análise Divisão do espaço de entradas Dividir o espaço de entradas em sub-espaços e aplicar a verificação a cada um dos sub-espaços Verificação formal de sistemas complexos

Mitigação dos problemas Redução de lógica não influente Para um conjunto de propriedades a lógica que não as influecia pode ser eliminada da verificação reduzindo o numero de estados. Localização Substituição de lógica interna por aleatoriedade Extrapolação de condições. Eficiência algoritmica Combinação de algoritmos Aproveitar as vantagens de cada um dos algoritmos Otimizar cobertura x recursos necessários Verificação formal de sistemas complexos

Considerações e conclusões Verificação formal não garante que o circuito é 100% correto Verificação formal não substitui totalmente a simulação Pode ser usado em projetos grandes e complexos Verificação formal de sistemas complexos

Considerações e conclusões A verificação formal pode ser usada por qualquer projetista A verificação formal diminui o tempo do projeto Verificação formal de modelos não é uma tarefa trivial Verificação formal de sistemas complexos

Considerações e conclusões A verificação formal pode ser usada por qualquer projetista A verificação formal diminui o tempo do projeto Verificação formal de modelos não é uma tarefa trivial Verificação formal de sistemas complexos

Considerações e conclusões A verificação formal pode complementar a verificação tradicional Aproveitar as vantagens Contornar limitações Pode aumentar e otimizar o alcance da verificação! Verificação formal de sistemas complexos