Mtodo Formal O que Um bom mtodo formal
Método Formal ● ● ● O que é? Um bom método formal Com ou sem ele
Método Formal - Exemplos ● Lançador Ariane-5 Re-uso de software do Ariane-4 Testes não adequados para detectar erros antes do lançamento malfuncionamento do software controlador Conversão de dado de 64 -bit ponto flutuante para 16 -bit inteiro causou uma falha no processador Explodiu 37 s após lançamento em 1996 US$ 635 milhões gastos
Método Formal - Exemplos ● Therac-25 Máquina de radioterapia com software controlador Dispositivo responsável por sincronizar o hardware é removido, mas o software não possui sincronismo Software falha na tarefa de manter invariantes essenciais: o feixe de elétrons ou o feixe mais forte de radiação e a chapa se interferem na geração de raios X Diversas mortes em decorrência de queimaduras
Métodos Formais - Exemplos ● Customer Information Control System (CICS) Monitor de transações IBM e a Universidade Oxford formalizaram Utilizaram a linguagem Z Houve um melhoria total na qualidade do produto Redução de número de erros descobertos, e uma detecção mais adiantada dos erros
Formalismo em Z ● ● O que é Z? Em que se baseia? Como funciona? Descrição Axiomática em Z Declarações Predicados
Descrição Axiomática em Z fdisp, floc, fitas: IP Fitas clientes, catraso: IP Pessoas tit: IP Titulos maxfitas, maxtit: Z maxfitas ≥ 0 maxtit ≥ 0 fdisp ∩ floc = Ø fdisp U floc = fitas catraso clientes = (maxfitas ≥ 0) (maxtit ≥ 0) . . . (catraso clientes)
A linguagem Z. . . ● ● Uso de operadores matemáticos e lógicos ( , , . . . ) Tipos e estruturas: - Conjuntos: [. . . ] - Tipos enumerados : a I b I c I. . . - Produto Cartesiano: . . . - Conjunto das partes: IP. . . - Esquemas : Ident. . . .
Exemplo [Pessoa] Msg : : = ausente | presente lim == 50 Init Estado’ s’ = {} Exclusão D Estado p? : Pessoa p? Î s s’ = s {p? } Estado s : |P Pessoa # s lim Inclusão D Estado p? : Pessoa (#s < lim ^ p? s) s’ = s {p? } Consulta X Estado p? : Pessoa m!: Msg (p? Î s ^ m! = presente) v (p? s ^ m! = ausente)
- Slides: 8