Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia...

24
Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000

Transcript of Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia...

Page 1: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Aplicação de Métodos Formais no Desenvolvimento de Sistemas

Multimídia Distribuídos

Cláudia Araújo RibeiroUFPE

Junho/2000

Page 2: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Sumário

• Introdução• Métodos Formais• Sistemas Multimídia Distribuídos• Aplicação de Métodos Formais - um

exemplo• Conclusões

Page 3: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Introdução• A complexidade crescente dos sistemas • Sistemas críticos envolvendo dinheiro e

vidas• A necessidade de construção de sistemas

confiáveis• A ambigüidade das especificações

informais• Surgimento de ferramentas automatizadas

Page 4: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Métodos Formais• Linguagens, técnicas e ferramentas baseadas na

lógica e na matemática discreta, usadas para especificação e verificação de sistemas

• Reduz a dependência da intuição e julgamento humanos

• Grande poder de abstração• Aumenta a compreensão do sistema• Detecta inconsistências e ambigüidades na

especificação

Page 5: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Classificação dos Métodos Formais

• Nível de formalização

- Conceitos matemáticos e notações, análise informal, sem ferramentas automatizadas

- Linguagens de especificações formais, pouco suporte mecânico

Linguagens de especificações formais, ambiente próprio, ferramentas de análise

• Escopo de uso

1 Fases do ciclo de vida: todas/selecionadas

2 Componentes do sistema: todos/selecionados

3 Funcionalidade do sistema:todo/selecionado

Page 6: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Custo dos Métodos Formais

• Depende:– das características do projeto– da produtividade da equipe– dos recursos disponíveis

• Reduzido através da reusabilidade e do uso de ferramentas automatizadas

• Decomposição de grandes sistemas antes da aplicação

• Limitar o escopo a componentes e propriedades críticas

Page 7: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

O método sob os Métodos Formais• Fase de Caracterização

– rigorosa compreensão do sistema• Fase de Modelagem

– Define representação matemática mais adequada• Fase de Especificação

– Formaliza aspectos relevantes da aplicação e ambiente• Fase de Análise

– Valida a especificação• Fase de Documentação• Fase de Manutenção e Generalização

Page 8: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

FerramentasFase Ferramenta Função

Especificação Parser Checa consistênciasintática

Especificação Unparser Traduz representaçãointernaem formatotexto

Especificação Typechecker Checa a consistênciasemântica

Análise Animador, simulador Exibe ocomportamento dosistema modelado

Análise Model checker,theorem proving

Executa provas sobre aespecificação sintática esemanticamentecorretas

Page 9: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Especificação Formal• Caracterização de um sistema expresso em uma

linguagem formal• Linguagem Formal: coleção de símbolos extraídos

de um alfabeto e um conjunto de regras sintáticas que regem as expressões

• Especificação e diferente de Programa• Especificação: expressa restrições, não precisa ser

completo• Linguagens: baseada em estado ou em álgebra de

processos

Page 10: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Características de Sistemas Multimídia Distribuídos

• Sincronização– restrições temporais e concorrência– Intermídia (múltiplas mídias) e Intramídia

• Qualidade de Serviço– características das mídia e percepção humana,Mídia

contínua, Níveis de QoS• Distribuição

– Capacidade de transmissão, delay, gerenciamento de recursos em ambiente distribuído

• Heterogeneidade de plataformas de execução• Especificação do documento multimídia

Page 11: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Sistemas Multimídia Distribuídos e Métodos Formais

• Especificação formal:– do estado, – do comportamento funcional– das relações temporais– dos requisitos não-funcionais (novo)

• Integração entre múltiplas especificações• Necessidade de ferramentas: simulação e

verificação

Page 12: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Uma aplicação exemplo• Características:

– configuração:• Configuração do ambiente para apresentação e

Políticas de gerenciamento de recursos– apresentação:

• documento de 2 mídias (áudio/vídeo) sincronizadas• mecanismos de recuperação de sincronismo

intermídia e interações do usuário• Desenvolvimento a partir do framework PREMO• Especificação Formal: Z, Object-Z e RT-LOTOS

Page 13: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

RT-LOTOS

Extensão Temporal do LOTOS TDF baseada em álgebra de processos Operadores de tempo: delay e latência Especificação incremental a partir da

decomposição hierárquica de processos e seus eventos visíveis externamente

Ferramentas utilizadas: RTL e bcg_edit

Page 14: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Modelo Proposto

Page 15: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

user

plataform

application

start

start

start end

end

end

r_open r_close

Especificação de primeiro nível

Page 16: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

application

client

virtual device virtual connection release resource

virtual device release resource

virtual resource manag policy ag

server

resource manager

Aquisição de recursos

Conexão Virtual

Liberação de recursos

Page 17: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Fase de Configuração

29

28

27

24

3

2

1

i(exit)

i(end)

i(close<2>)

i(r_open<2>)

Ir_open<1>)

0

25

23

22 31

33

35

34

15

32 30

17

14

19

21

20

18

16

12

13

11

10

9 8 36

37

4 6 7

5

i(close<1>)

i(stop_presentation)

i(start_presentation)

i(connect<1,2>)i(sync_start_connection)

i(r_unbind<1>)

i(disconnect<2>)

i(r_bind<1>)

i(r_unbind<1>)

i(r_unbind<2>)

i(r_unbind<2>)i(disconnect<1>)

i(sync_end_connection)i(sync_end_connection) i(disconnect<1>)

i(disconnect<1>)

i(disconnect<2>)

i(disconnect<2>)i(sync_end_connection) i(sync_end_connection)

i(sync_end_connection)

i(sync_end_connection) i(sync_end_connection)

i(sync_end_connection)

i(r_unbind<1>)

i(disconnect<1>)i(disconnect<2>)

i(r_unbind<2>)

i(r_unbind<2>) i(r_unbind<1>)

i(r_bind<2>)

i(r_bind<2>) i(r_bind<1>)

i(r_avail<2>)

i(r_avail<2>)

i(r_bind<1>)i(r_avail<1>)

i(r_avail<1>)

i(r_bind<2>)

i(r_avail<2>) i(r_avail<1>)

i(start

Page 18: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Fase de ExecuçãoDuas mídias perfeitamente sincronizadas

Mídia mestre

Mídia escravo

Page 19: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

28

3

19

20

24

25

21

23

18

17

22

15

16

12

13

11

14

10

9

26

8

74

6

27

5

2

1

0

i(stop_presentation)

i(end)

i(exibit<2,2>)

i(f<2,2>)

i(ref<1>)

i(exibit<2,1>)

i(exibit<2,2>) i(exibit<2,1>)

i(exibit<2,1>)i(f<2,2>)

i(f<2,1>)i(f<2,2>)

i(f<2,1>)

i(exibit<2,2>)i(f<2,1>)

i(ref<1>)i(ref<2>)

i(ref<2>)

i(exibit<1,1>) i(exibit<1,2>)

i(exibit<1,1>)i(exibit<1,2>)

i(exibit<1,2>)i(exibit<1,1>)

i(f<1,2>)

i(f<1,2>)i(f<1,1>)

i(f<1,2>) i(f<1,1>)

i(f<1,1>)

i(start_presentation)

i(start)

Page 20: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Mídia mestre atrasada em relação à mídia escravo

Mídia mestre

Mídia escravo

Page 21: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

26

3

22

23

20

19

21

16

17

1511

12

8

5

2

1

i(stop_presentation)

i(end)

i(exibit<2,1>)i(end_media)

i(exibit<2,1>) i(end_media)

i(ref<1>)i(f<2,2>)

i(exibit<1,1>)

i(start_presentation)

i(start)

18 24

14

7

25 13

10i(exibit<1,1>)

i(ref<2>)

i(ref<2>)

i(f<1,1>)

i(f<1,1>)

i(ref<2>)

i(ref<1>)

i(ref<1>)

i(exibit<2,2>)

i(f<2,2>)i(exibit<2,2>)

4

6

9

0

i(f<1,2>)

i(exibit<1,2>)

i(f<2,1>)

Page 22: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Mídia mestre adiantada em relação a mídia escravo

Mídia escravo

Mídia mestre

Page 23: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

26

3

12

13

16

15

11

17

18

10

7

8

23

5

2

1

i(stop_presentation)

i(end)

i(exibit<2,2>)i(end_media)

i(exibit<2,2>) i(end_media)

i(f<2,1>)

i(ref<1>)

i(start_presentation)

i(start)

14 20

19

21

9 25

22i(f<1,2>)

i(f<1,2>) i(ref<1>)

i(exibit<1,2>)

i(exibit<1,2>)

i(exibit<2,1>)

i(ref<2>)

i(ref<2>)i(exibit<2,2>)i(f<2,1>)

4

6

24

0

i(f<1,1>)

i(exibit<1,1>)

i(ref<1>)

i(ref<2>)

i(f<1,2>)

Page 24: Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.

Conclusões• Métodos Formais são complementares aos

métodos tradicionais• Reduzem, mas não eliminam erros• O uso de métodos formais pode ocorrer de forma

parcial• Melhor relação custo-benefício se implantado nas

fases iniciais do ciclo de vida• Sistemas complexos exigem normalmente

múltiplos formalismos• Possibilita várias análise sobre o comportamento

do sistema