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

Upload: cecilia-amorim-fonseca

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

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