engenharia da fiabilidade: metodos´ formais e aplicac¸oes˜desousa/2003-2004/tcomp/mestrado.pdfsi...
TRANSCRIPT
![Page 1: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/1.jpg)
Engenharia da Fiabilidade: Metodos Formaise Aplicacoes
Simao MELO DE SOUSA
DI-UBI, Covilha - Portugal
Mestrado DI-UBI, 17-10-2003 – p.1
![Page 2: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/2.jpg)
Plano
• Contexto e Motivacao
• Panorama dos formalismos e das ferramentas
• Conclusoes
Mestrado DI-UBI, 17-10-2003 – p.2
![Page 3: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/3.jpg)
Plano
• Contexto e Motivacao
• Panorama dos formalismos e das ferramentas
• Conclusões
Mestrado DI-UBI, 17-10-2003 – p.2
![Page 4: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/4.jpg)
Evolução dos Sistemas Informáticos
• Difusao dos Sistemas Informáticos (SIs) (emsectores essenciais da sociedade) cada vezmaior;
• Complexidade dos SIs cada vez maior:tamanho e evolução técnica;
• Emergencia de novas tecnologias, de novosmercados, assim como de novas exigências.
Mestrado DI-UBI, 17-10-2003 – p.3
![Page 5: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/5.jpg)
Evolução dos Sistemas Informáticos
Exemplos: informática omnipresente, sociedadedigital, e-government, sistemas embebidos,sistemas de segurança, sistemas críticos, etc...
=⇒ Métodos actuais de desenvolvimento de
SIs desactualizados frente aos novos desafios
tecnicos e cientıficos
Mestrado DI-UBI, 17-10-2003 – p.3
![Page 6: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/6.jpg)
Evolução dos Sistemas InformáticosSIs modernos = novos desafios
⇓
a
fiabilidade
correccao
seguranca
robustez
etc. . .
dos SIs como desafio central
Mestrado DI-UBI, 17-10-2003 – p.3
![Page 7: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/7.jpg)
Engenharia de Software & Análise de Sistemas
• Identificação de algumas noções chaves,como a de ciclo de vida dum SI
• Produção: planeamento, análise,quantificação e gestão dos custos,manutenção, etc...
• Introdução de metodologia de produção, deexploração (etc...) do SI: =⇒ inıcio de rigor.
Mestrado DI-UBI, 17-10-2003 – p.4
![Page 8: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/8.jpg)
Engenharia de Software & Análise de Sistemas
Exemplos: quantificação de custos deprodução
• Manutenção de um SI =2
3dos custos totais
• Conserto de um erro de especificação:esforço 20 vezes maior se detectado apósprodução do SI
Mestrado DI-UBI, 17-10-2003 – p.4
![Page 9: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/9.jpg)
Inadequação do ciclo Detecção-Conserto
• Um erro na especificação pode implicar maisdo que um simples conserto (vidas humanas,impacto económico, confiança dos clientes,etc...);
• SIs em que o aparecimento de erro éinaceitável
Mestrado DI-UBI, 17-10-2003 – p.5
![Page 10: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/10.jpg)
Inadequação do ciclo Detecção-Conserto
Mais uma vez:
SIs modernos = novos desafios
⇓
necessidade da fiabilidade como desafio central
Mestrado DI-UBI, 17-10-2003 – p.5
![Page 11: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/11.jpg)
Alguns Factos e Números
Despite 50 years of progress, the softwareindustry remains years – perhaps decades –short of the mature engineering disciplineneeded to meet the needs of an information-agesociety.
W. Gibbs, Trends in Computing: Software’s Chronic Crisis
- Scientific American - 1994.
Mestrado DI-UBI, 17-10-2003 – p.6
![Page 12: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/12.jpg)
Alguns Factos e Números
• comercialização = criação de um canal parabug reports.
• Impacto económico
• Ariane V : 2 biliões de $• Avaliação pelo NIST dos custos dos erros
em SIs na economia dos USA:1995 : 81 biliões de $1996 : 100 biliões de $2002 : 59.5 biliões de $
Mestrado DI-UBI, 17-10-2003 – p.6
![Page 13: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/13.jpg)
Alguns Factos e Números
• Argumentos de comercialização:• ruptura de contrato por razões de falta de
garantias de fiabilidade (exemplo da IBM)
US Federal Aviation Agency : 8 biliões de $
DoD : 2 biliões de $
• confiança dos clientes=⇒ Intel e do Bug do Pentium:Impacto da perda de confiança dos clientemaior do que o impacto económico doconserto.
Mestrado DI-UBI, 17-10-2003 – p.6
![Page 14: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/14.jpg)
Alguns Factos e Números
etc...
Mestrado DI-UBI, 17-10-2003 – p.6
![Page 15: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/15.jpg)
Soluções?
Nao ha solucoes universais!
No entanto: soluções adaptadas e satisfatórias:• repensar e adaptar o ciclo de produção de SIs
de forma a integrar a fiabilidade como umrequisito central
=⇒ Common Criteria
Mestrado DI-UBI, 17-10-2003 – p.7
![Page 16: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/16.jpg)
Soluções?
Nao ha solucoes universais!
No entanto: soluções adaptadas e satisfatórias:• integrar e utilizar métodos de “fiabilização”:
• Testes e Simulação• Métodos Formais
Mestrado DI-UBI, 17-10-2003 – p.7
![Page 17: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/17.jpg)
Testes e Simulação
Para um determinado modelo do SI alvo, fornecer
um conjunto de dados representativos e comparar a
resposta com o resultado esperado.
Mestrado DI-UBI, 17-10-2003 – p.8
![Page 18: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/18.jpg)
Testes e Simulação
Para um determinado modelo do SI alvo, fornecerum conjunto de dados representativos e comparara resposta com o resultado esperado.
=⇒ Nao existe teste satisfatorio:
exaustividade: geralmente impossível (conjuntode valores possíveis eventualmente infinito)
representatividade: em geral problemas ocorremquando os dados têm valores inesperados(i.e. não representativos).
Mestrado DI-UBI, 17-10-2003 – p.8
![Page 19: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/19.jpg)
Testes e SimulaçãoLittlewood provou, em 1914 e à surpresa geral de todos,que a função
π(n) − li(n)
onde
li(n) =
∫
n
0
du/ln(u) e π(n) = numero de primos ≤ n
muda de sinal infinitamente.
Surpresa? sim, porque apesar de intensos testes sobre
valores chegando a 1010 (antes da aparição dos computa-
dores), nenhuma mudança de sinal foi detectada.
Mestrado DI-UBI, 17-10-2003 – p.8
![Page 20: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/20.jpg)
Métodos Formais
The term formal methods refers to the useof mathematical modeling, calculation andprediction in the specification, design, analysisand assurance of computer systems andsoftware. The reason it is called formal methodsrather than mathematical modeling of softwareis to highlight the character of the mathematicsinvolved.
J. Rushby, Formal Methods and their Role in the Certification of
Critical Systems - SRI - 1995.
Mestrado DI-UBI, 17-10-2003 – p.9
![Page 21: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/21.jpg)
Métodos Formais
• exaustividade: raciocínio formal (por oposiçãoa informal) sobre o conjunto dos valorespossíveis na sua globalidade
• rigor: bases matemáticas bem assentes• adequacao: solução avaliada como satisfatória
para a garantia de fiabilidade=⇒ Common Criteria
Mestrado DI-UBI, 17-10-2003 – p.9
![Page 22: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/22.jpg)
Common Criteria
Reflexão conjunta de várias entidades norma-
tivas sobre a
{
necessidadedefinição
de um modelo
para a avaliacao da fiabilidade/seguranca dos SIs:
Norma ISO-15408 “Common Criteria”
Mestrado DI-UBI, 17-10-2003 – p.10
![Page 23: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/23.jpg)
Common Criteria
Common Criteria = avaliacao da seguranca dos SIs:
elaboratecertifyevaluate adquire
products and goals
LabsCustomersCertification
InstitutesEvaluationDesigners
Mestrado DI-UBI, 17-10-2003 – p.10
![Page 24: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/24.jpg)
Common Criteria
Common Criteria = avaliacao da seguranca dos SIs:
Certificação organizada em 7 níveis deconfiança (Evaluation Assurance Level)
Para os nível mais elevados (EAL5 a EAL7):• Entidade de certificação governamental
(independência da certificação)• Métodos Formais requeridos (rigor da
avaliação)
Mestrado DI-UBI, 17-10-2003 – p.10
![Page 25: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/25.jpg)
Plano
• Contexto e Motivação
• Panorama dos formalismos e das ferramentas
• Conclusões
Mestrado DI-UBI, 17-10-2003 – p.11
![Page 26: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/26.jpg)
O Problema Central
O problema central que os Métodos Formaispretendem resolver:
Garantir que um SI tenha um determinado (bom)comportamento
Mestrado DI-UBI, 17-10-2003 – p.12
![Page 27: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/27.jpg)
O Problema Central
Garantir que um SI tenha um determinado (bom)comportamento
noção central de
{
modelo
especificacaopara levar o
objecto do discurso para a matematica.
Mestrado DI-UBI, 17-10-2003 – p.12
![Page 28: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/28.jpg)
O Problema Central
Garantir que um SI tenha um determinado (bom)comportamento
Subdivisão em dois sub-problemas:
1. Garantias de comportamento: Como garantir/verificar aonível do modelo o comportamento desejado
2. Confronto “modelo - implementacao”:
(a) Como obter de um modelo uma implementaçãousufruindo desse comportamento?
(b) Como garantir que uma implementação tem omesmo comportamento que um modelo?
Mestrado DI-UBI, 17-10-2003 – p.12
![Page 29: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/29.jpg)
Panorama dos formalismos e das ferramentas
Visita dos formalismos e das ferramentasorganizada em camadas de funcionalidades:
• Especificar e analisar modelos• Especificar e demonstrar propriedades• Especificar e derivar implementações• Especificar e transformar especificações
Mestrado DI-UBI, 17-10-2003 – p.13
![Page 30: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/30.jpg)
Especificar e Analisar
Formalismos/linguagens para expressarmodelos/especificações.Benefícios imediatos:
• linguagens formais = rigor e sem ambiguidades
=⇒ obriga a uma reflexão aprofundada e a umacompreensão detalhada dos mecanismosmodelados (e.g. D. Syme, CISC/IBM)
=⇒ “esperanto” ideal para a documentação ecomunicação entre as diferentes partes envolvidasna produção do SI
Mestrado DI-UBI, 17-10-2003 – p.14
![Page 31: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/31.jpg)
Especificar e Analisar
Formalismos/linguagens para expressarmodelos/especificações.Benefícios imediatos:
• no caso da existência de uma implementação doformalismo, observação directa do comportamentosem necessidade de implementação: prototipagem
• enquadramento formal propício ao raciocíniomatemático
Mestrado DI-UBI, 17-10-2003 – p.14
![Page 32: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/32.jpg)
Máquinas de Estados Abstractos
• formalismos da família dos sistemas de transiçãobaseado nas noções de estado e de transformaçõesde estado,
• SI = máquina abstracta = conjunto de estados +conjunto de transições não determinísticas
• transição = condição de eleição + transformações aoestado da máquina
• Turing-equivalente
• implementações : ASM_Gopher, Sistema B
Mestrado DI-UBI, 17-10-2003 – p.15
![Page 33: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/33.jpg)
Modelização por Autómatos
• Outro formalismo da família dos sistemas detransição
• transição = evento• formalismo particularmente adaptado para a
modelação do comportamento do SI alvo:hardware, SI concorrente, SI reactivo, SIcomunicante, protocolo etc...
Mestrado DI-UBI, 17-10-2003 – p.16
![Page 34: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/34.jpg)
Teoria dos Conjuntos e das Categorias
• estado = conjunto + funções + relações• transição = invariantes + pre/post condições• formalismo particularmente expressivo e
modular• alvo de numerosas implementações : Z,
VDM, RAISE, SPECWARE, CHARITY,CAMILA, etc...
Mestrado DI-UBI, 17-10-2003 – p.17
![Page 35: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/35.jpg)
Especificação Algébrica
• baseado nas álgebras “multi-sorted”• tipos de dados do SI alvo = conjuntos• funções do SI alvo =
• símbolos de funções introduzidos porassinaturas
• propriedades dos símbolos estabelecidospor axiomas
• implementações : OBJ, CLEAR, ACT-ONE
Mestrado DI-UBI, 17-10-2003 – p.18
![Page 36: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/36.jpg)
Modelização Declarativa
Uma classe importante de formalismos:• Formalismos logicos : baseado na noção de
predicados de primeira ordem• tipos de dados do SI alvo = estrutura de
dados (simples) da linguagem alvo• função = descrição via propriedades
comportamentais• implementações: Prolog, λ-Prolog, etc...• animação e execução
Mestrado DI-UBI, 17-10-2003 – p.19
![Page 37: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/37.jpg)
Modelização Declarativa• Formalismos logico-funcionais : baseado no
λ−cálculo (teoria das funções de ordem superior)
• tipos de dados do SI alvo = tipos de dados(arbitrariamente complexos) da linguagem alvo(tipos indutivos, dependentes, etc..)
• função = funções de ordem superior
• implementações:• linguagens: Scheme, SML, Haskell, OCaml,• sistemas de prova: ACL2, DECLARE, COQ, PVS,
HOL, ISABELLE etc...
• Possibilidade de animação e de execução
Mestrado DI-UBI, 17-10-2003 – p.19
![Page 38: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/38.jpg)
Modelização Declarativa
• Sistemas de reescrita: baseada na noção deredução• tipos de dados do SI alvo = estrutura de
dados da linguagem alvo• função = descrição computacional via
equações• implementações: ELAN, SPIKE etc...• animação e execução
Mestrado DI-UBI, 17-10-2003 – p.19
![Page 39: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/39.jpg)
Modelização Declarativa
• Semantica para as linguagens de programacao:família de formalismos adaptados para aexpressão matemática de linguagens deprogramação.• ambiente para a expressão de semânticas
(expressão dos símbolos e docomportamento semântico destes)
• animação e execução• implementações: Action-Semantics,
LETOS, ASF+SDF, Centaur, RML, etc...
Mestrado DI-UBI, 17-10-2003 – p.19
![Page 40: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/40.jpg)
Especificar e Demonstrar
Garantir um comportamento:=⇒ animar ou executar é insuficiente=⇒ necessidade de demonstrar:verificacao formal
3 tipos de suporte a verificação formal (J.
Rushby):
Mestrado DI-UBI, 17-10-2003 – p.20
![Page 41: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/41.jpg)
Especificar e Demonstrar
1 - Ferramentas que fornecem umenquadramento formal, não disponibilizamnenhum suporte adicional
• demonstração “manual”• demonstração válida se convencer a
comunidade
Mestrado DI-UBI, 17-10-2003 – p.20
![Page 42: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/42.jpg)
Especificar e Demonstrar
2 - Ferramentas que fornecem um sistemaformal para a expressão rigorosa de raciocínios
• demonstração “manual”• uso exclusivo de linguagem formal para a
expressão da demonstração
Mestrado DI-UBI, 17-10-2003 – p.20
![Page 43: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/43.jpg)
Especificar e Demonstrar
3 - Ferramentas fornecendo um sistema formale um suporte computacional para a expressãode demonstrações=⇒ Mais rigoroso (e.g. Lamport, etc...)i.e. no mesmo enquadramento:
• expressão de um modelo• expressão formal e verificação mecânica de
demonstrações de propriedades do modelo.
=⇒ Panorama dos sistemas de n ıvel 3
Mestrado DI-UBI, 17-10-2003 – p.20
![Page 44: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/44.jpg)
Sistemas de Prova
sistema formal = sistema dedutivo
a variedade dos formalismos explica-se pelobalanço entre dois factores antagónicos porconsiderar:
expressividade logicaversus
automatizacao da deducao
Mestrado DI-UBI, 17-10-2003 – p.21
![Page 45: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/45.jpg)
Demonstradores de Teoremas
Privilegia: automatizacao da deducaoVantagens:
• Após parametrização do motor de dedução, ademonstração é automática
• Possibilidade de raciocínio sobre conjuntosinfinitos (e.g. por indução)
Desvantagem: Nem tudo o que pretendemosexpressar pode ser expresso
Sistemas: Prolog, SPIKE ELAN, ACL2, etc...
Mestrado DI-UBI, 17-10-2003 – p.22
![Page 46: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/46.jpg)
Sistemas de Prova InteractivaPrivilegia: expressividade logica (em geral lógicade ordem superior)Vantagens:
• Muitas propriedades/demonstraçõesprecisam dessa expressividade
• Raciocínio próximo do raciocínio matemáticostandard
Desvantagem: lógica indecidível =⇒intervenção do utilizador necessáriaSistemas: Coq, PVS, DECLARE, HOL,ISABELLE
Mestrado DI-UBI, 17-10-2003 – p.23
![Page 47: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/47.jpg)
Verificação de modelos
• Abordagem alternativa aos sistemas de provacom muitas aplicações bem sucedidas.
• Técnica de verificação propriedades de SImodelados como sistemas (concorrentes) deestados finitos (e.g. autómatos)
• Propriedades esperadas expressas porfórmulas de uma determinada lógica temporal
• Verificação de propriedade traduzida numadeterminada exploração do sistema detransição
Mestrado DI-UBI, 17-10-2003 – p.24
![Page 48: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/48.jpg)
Verificação de modelos
Vantagens:
• Demonstração automática
• Exibição de um contra-exemplo em caso de erro
Desvantagem:
• Problema da explosão do espaço de estado(crescimento exponencial do grafo de estado emrelação ao tamanho do sistema modelado)
• Não sabe lidar com conjuntos infinitos
Sistemas: SMV, Murphy, SPIN, Kronos, Design/CPN etc...
Mestrado DI-UBI, 17-10-2003 – p.24
![Page 49: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/49.jpg)
Anotações de programas e Lógica de Hoare
Última abordagem a prova de programasConsiste em:
=⇒ Anotações lógicas do programa fonte
=⇒ construção automática de um modelo w.r.t. semânticaaxiomática da linguagem alvo
=⇒ suporte para a demonstração de propriedades(delegação da demonstração a verificadores demodelos, sistemas de prova etc...)
Sistemas: fortemente ligados ás linguagens alvo.
Para Java: JML, LOOP tool, ESC/JAVA, Bandera, Jive etc...
Mestrado DI-UBI, 17-10-2003 – p.25
![Page 50: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/50.jpg)
Especificar e Derivar
2o subproblema = Obter uma implementacao de umaespecificacao aprovada
• a própria linguagem de especificação é umalinguagem de programação =⇒ Q.E.D.
• Refinamento• Extracção
Mestrado DI-UBI, 17-10-2003 – p.26
![Page 51: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/51.jpg)
Refinamento
técnica que permite a síntese “passo a passo”de implementações a partir de especificações.
=⇒ 1 passo = uma escolha de implementação(e.g. um conjunto por uma lista ligada)
=⇒ cada passo tem de ser formalmentejustificado (e.g. não altera comportamento)
Sistemas: Z, VDM, B, SPECWARE
Mestrado DI-UBI, 17-10-2003 – p.27
![Page 52: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/52.jpg)
Extracção
Lógica inerente aos sistemas de prova assistida=
logica intuicionista =⇒ Isomorfismo de Curry-Howard
λ-calculo lógica programação
tipo enunciado lógico especificaçãoλ-termo demonstração programa
Mestrado DI-UBI, 17-10-2003 – p.28
![Page 53: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/53.jpg)
Extracção
Seja T o teorema:
∀x, y ∈ N.∃q, r ∈ N.(y = (q × x + r) ∧ 0 ≤ r < x)
Uma demonstração de T é uma funcao quecalcula o par (q, r) que testemunha da validadede T =⇒ Q.E.D.
Sistemas: COQ
Mestrado DI-UBI, 17-10-2003 – p.28
![Page 54: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/54.jpg)
Especificar e Transformar
Necessidade de mecanismos de transformaçãode modelos (e.g. definir uma variação, umasimplificação, extensão etc...) para expressarprovas complexas, modulares em especificaçõesde tamanho grande etc...
Exemplo : Abstraccao de especificacoes para focara especificação sobre um determinadocomportamento alvo da demonstração
Sistemas: ASF+SDF, JaKarTa
Mestrado DI-UBI, 17-10-2003 – p.29
![Page 55: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/55.jpg)
Potencial das Combinações
Não existe nenhuma ferramenta que permiteresolver de forma global o problema central
=⇒ pertinência das plataformas de especifica-
ção permitindo a colaboração de vários métodos
formais: JaKarTa
Mestrado DI-UBI, 17-10-2003 – p.30
![Page 56: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/56.jpg)
Uma contribuição : JaKarTaObjectivo: permitir um tratamento satisfatório e global:
• uma arquitectura centrada numa plataforma deespecificação própria;
• mecanismos de comunicação com diferentes métodosformais (sistemas de prova, demonstradores deteoremas, linguagens de programação);
• mecanismos de administração e automação dedemonstrações (em COQ);
• mecanismos de transformações de especificação;
• mecanismos de prova de correcção dastransformações realizadas.
Mestrado DI-UBI, 17-10-2003 – p.31
![Page 57: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/57.jpg)
Plano
• Contexto e Motivação
• Panorama dos formalismos e das ferramentas
• Conclusoes
Mestrado DI-UBI, 17-10-2003 – p.32
![Page 58: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/58.jpg)
Algumas aplicações bem sucedidas
Muitos exemplos:• hardware, protocolos, redes, SOs, sistemas
críticos, plataformas de execução, software,etc...
• Áreas de aplicações:• Aviação (NASA, FAA, ARIANE, etc...),• Caminhos de ferro (Metro, etc...)• Sistemas nucleares• Sistemas médicos• Sistemas embebidos
Mestrado DI-UBI, 17-10-2003 – p.33
![Page 59: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/59.jpg)
Algumas aplicações bem sucedidas
Emergência de um mercado “aliciante” (i.e. $$!)ainda por liderar (por quanto mais tempo?):
Intel, Microsoft, IBM, NASA, Esterel Technology,
Prover Technology, Compaq/HP, SIBS (pt), Side-
reus (pt)
Mestrado DI-UBI, 17-10-2003 – p.33
![Page 60: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/60.jpg)
Algumas aplicações bem sucedidasUma contribuição =⇒ verificação formal da plata-formaJavaCard (em conjunto com G. Barthe, G. Dufay):
Definiçãopioneira de uma metodologia paraautomaticamente obter da Especificacao de JavaCard e daDemonstracao de (citação de Milner)
Well-typed (JavaCard) Programs cannot gowrong
uma implementacao da plataforma e de um modulo de
verificacao estatica de programas (BCV) demonstrados correc-
tos
Mestrado DI-UBI, 17-10-2003 – p.33
![Page 61: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/61.jpg)
Conclusões e Perspectivas
Caso da verificação formal do projecto CISC daIBM (Huxley Park- UK & Oxford):
• de 800 000 linhas de código, 268 000reescritas, 37 000 via Z (só especificação,sem provas)
• resultados:• custos de desenvolvimento −9%• 2, 5 vezes menos de bugs e os detectados
foram menos importantes.
Mestrado DI-UBI, 17-10-2003 – p.34
![Page 62: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/62.jpg)
Conclusões e Perspectivas
• Importância estratégica dos Common Criteria cadavez maior
• Perspectivas: 2 eixos
• Desenvolvimento conceptual e técnico de novassoluções (formalismos e ferramentas)
• A tendência actual: Utilização cada vez maisintensiva dos métodos formais (caso FORMAVIE)
Mestrado DI-UBI, 17-10-2003 – p.34
![Page 63: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/63.jpg)
Conclusões e Perspectivas
• Importância estratégica dos Common Criteriacada vez maior
=⇒
- competencia valiosa e procurada
- o informatico, alem de saber produzir SIs,
devera saber valida-los
Mestrado DI-UBI, 17-10-2003 – p.34
![Page 64: Engenharia da Fiabilidade: Metodos´ Formais e Aplicac¸oes˜desousa/2003-2004/Tcomp/mestrado.pdfSI = máquina abstracta = conjunto de estados + conjunto de transições não determinísticas](https://reader031.vdocuments.pub/reader031/viewer/2022041720/5e4df27c93813e203a5de782/html5/thumbnails/64.jpg)
That’s all folks
Obrigado pela atencao!
Mestrado DI-UBI, 17-10-2003 – p.35