aplicação de métodos formais no desenvolvimento de sistemas multimídia distribuídos cláudia...

Post on 07-Apr-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Multimídia Distribuídos

Cláudia Araújo RibeiroUFPE

Junho/2000

Sumário

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

exemplo• Conclusões

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

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

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

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

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

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

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

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

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

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

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

Modelo Proposto

user

plataform

application

start

start

start end

end

end

r_open r_close

Especificação de primeiro nível

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

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

Fase de ExecuçãoDuas mídias perfeitamente sincronizadas

Mídia mestre

Mídia escravo

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)

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

Mídia mestre

Mídia escravo

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>)

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

Mídia escravo

Mídia mestre

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>)

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

top related