métodos formais centro de informática ufpe 2009.1

12
Métodos Formais Centro de Informática UFPE 2009.1

Upload: internet

Post on 19-Apr-2015

119 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Métodos Formais Centro de Informática UFPE 2009.1

Métodos Formais

Centro de InformáticaUFPE

2009.1

Page 2: Métodos Formais Centro de Informática UFPE 2009.1

Software é diferente?

tempo

CriatividadeInteligência

CálculoTeoria

Inovação

1884

Repetição “trivial”

1975

Home Insurance Building Prefeitura do Recife

O mesmo padrão ocorre para outros produtos: pontes, túneis, estradas, casas, viadutos, ginásios, etc.

Page 3: Métodos Formais Centro de Informática UFPE 2009.1

Software é diferente?

tempo

CriatividadeInteligência

CálculoTeoria

Inovação

1954

Repetição “trivial”

2009

John Backus & Fortran

Má notícia: este padrão raramente ocorre na Engenharia de Software. Compiladoes são uma exceção.

Geradores de compiladores

Page 4: Métodos Formais Centro de Informática UFPE 2009.1

Software é diferente?

Burj Dubai

Museu Guggenheim

Euro Túnel

Large Hadron Collider

Page 5: Métodos Formais Centro de Informática UFPE 2009.1

Software é diferente?

Engenharia Civil Engenharia de Software

Faz produtos fixos (prédios, pontes, estradas)

Faz produtos novos (iTunes, orkut, gmail notifier)

Page 6: Métodos Formais Centro de Informática UFPE 2009.1

Software é diferente?

CriatividadeInteligência

CálculoTeoria

Inovação

tempoSkype

CriatividadeInteligência

CálculoTeoria

Inovação

tempoiPhone

CriatividadeInteligência

CálculoTeoria

Inovação

tempoBompreço

CriatividadeInteligência

CálculoTeoria

Inovação

tempo

Sistema Único de Saúde

Page 7: Métodos Formais Centro de Informática UFPE 2009.1

Software é diferente?

• Entretanto, projetos de ponta da Engenharia Civil– O cálculo não é abandonado (pelo contrário!)

• Simulações e cálculos são feitos exaustivamente

– Não há fase de testes após a entrega

Page 8: Métodos Formais Centro de Informática UFPE 2009.1

Software é diferente?

• Por que a Engenharia de Software continua semi-formal? – Semi-formal = Semi-artesanal– A principal razão é custo

• Apenas projetos de ponta na Engenharia de Software adotam cálculos (por exemplo, a NASA)

• É possível introduzir métodos mais formais mantendo um bom custo/benefício?

Page 9: Métodos Formais Centro de Informática UFPE 2009.1

Métodos Formais

Mundo Real Modelo

Cientista(Isaac Newton)

Força

Gravitação Massa

221

r

mmGF

Fórmulas e propriedades específicas de um produto (provados matematicamente com papel e lápis)

Page 10: Métodos Formais Centro de Informática UFPE 2009.1

Métodos Formais

Cientista(Tony Hoare)

Pré-condição

Pós-condição Invariante

}{;}{

}{}{},{}{

RTSP

RTQQSP

Mundo Real Modelo

Fórmulas e propriedades específicas de um produto (provados matematicamente com papel e lápis)

Page 11: Métodos Formais Centro de Informática UFPE 2009.1

Neste curso....

Cientista(Tony Hoare)

Pré-condição

Pós-condição Invariante

}{;}{

}{}{},{}{

RTSP

RTQQSP

Mundo Real Modelo

Ferramenta

Produto não verificado

Produto verificado

Page 12: Métodos Formais Centro de Informática UFPE 2009.1

Resumo

• As engenharias usam matemática em projetos inovadores– Trazem muita qualidade– Dispensam boa parte dos testes

• Infelizmente, a maioria dos projetos de software são inovadores (ou de difícil reuso)– O uso de métodos formais traz muita qualidade, mas

é caro.– É possível achar um meio termo razoável através de

ferramentas automáticas?