Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia...
-
Upload
cecilia-amorim-fonseca -
Category
Documents
-
view
215 -
download
0
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/1.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/2.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/3.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/4.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/5.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/6.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/7.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/8.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/9.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/10.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/11.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/12.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/13.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/14.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/15.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/16.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/17.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/18.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/19.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/20.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/21.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/22.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/23.jpg)
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.](https://reader036.fdocumentos.com/reader036/viewer/2022062819/5706386e1a28abb82390684e/html5/thumbnails/24.jpg)
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