Uma Metodologia para Verifica - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Uma Metodologia para Verifica

Description:

Modelo de Apresenta o do e-SPEED ... Adriano Machado Pereira (adrianoc_at_dcc.ufmg.br) Orientador: Wagner Meira Jr. (meira_at_dcc.ufmg.br) – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 32
Provided by: AdrianoMa
Category:

less

Transcript and Presenter's Notes

Title: Uma Metodologia para Verifica


1
Uma Metodologia para Verificação de Modelos de
Sistemas de Comércio Eletrônico
  • Adriano Machado Pereira (adrianoc_at_dcc.ufmg.br)
  • Orientador Wagner Meira Jr. (meira_at_dcc.ufmg.br)
  • Co-orientador Sérgio Campos (scampos_at_dcc.ufmg.br)

28 de Agosto de 2002
2
Introdução
  • Comércio eletrônico (C.E.)
  • Popularização
  • Usuários web mais exigentes
  • Serviços cada vez mais complexos
  • Difícil projeto.
  • Processo de concepção de sistemas de comércio
    eletrônico maioria das abordagens são ad-hoc
  • Sistemas menos confiáveis
  • Alto custo.

2
3
Introdução
  • Garantir a corretude de sistemas de comercio
    eletrônico
  • Tarefa não trivial
  • Testes e Simulações são pouco eficientes.
  • Qual a solução?

3
4
Metodologia CAFE
  • Níveis
  • Conceitual
  • Aplicação
  • Funcional
  • Execução ou Arquitetural

4
5
Metodologia CAFE
C
A
F
E
Entidades
Itens
Serviços
Arquitetura
Ciclo de Vida
Produtos
Ambiente de Execução
Ações
Requisitos Funcionais
Modelo de Execução
Agentes
Estratégia de Armazenamento
Ferramentas
6
Metodologia CAFE
  • Direcionada para concepção de sistemas de
    comércio eletrônico.
  • Por que não adotá-la simplesmente?
  • Quem projeta os sistemas?
  • Quem produz os equipamentos de informática?

Ser humano não é perfeito!
6
7
Motivação
  • Erros existentes nos sites são empecilhos para um
    maior crescimento do comércio eletrônico, pois
    podem trazer prejuízos para os usuários web, site
    ou ambos, dependendo de sua natureza
  • Processos de engenharia de software voltados para
    sistemas genéricos (RUP, Praxis)
  • Ausência de metodologia (grau de formalidade)
    específica para sistemas onde há comercialização
    de bens.

7
8
Objetivo
  • Elaborar uma metodologia que utiliza métodos
    formais, mais especificamente verificação de
    modelos, para projetar sistemas de comércio
    eletrônico e verificar automaticamente se suas
    regras de negócio são satisfeitas
  • Validar a metodologia através de estudos de caso
    de comércio eletrônico.

8
9
Verificação de Modelos em Sistemas De Comércio
Eletrônico
  • Regras de negócio
  • Modelo formal de sistemas de comércio eletrônico
  • Propriedades
  • Completeza
  • Transitividade
  • Suporte Transacional do Servidor de Transação
    (Atomicidade, Consistência, Isolamento)

9
10
A Metodologia Formal-CAFE
  • Baseada na metodologia CAFE de especificação de
    sistemas de comércio eletrônico
  • Estende a CAFE definindo método que possibilita a
    verificação de modelos de sistemas de comércio
    eletrônico
  • Incremental e dividida em 4 níveis.

10
11
A Metodologia Formal-CAFE
C
A
F
E
Model. Formal
Regras De Negócio
Model. Formal
Model. Formal
Espec. Formal
Espec. Formal
Espec. Formal
Sistema Correto
Verif. Formal
Verif. Formal
Verif. Formal
11
12
A Metodologia Formal-CAFE
Explicação dos níveis e acompanhamento através
de um estudo de caso de uma Loja Virtual.
  • Conceitual
  • Tupla lt P, I, D, Ag, Ac, S gt
  • Regras de negócio
  • Quanto mais detalhado for, melhor!

12
13
Estudo de Caso Loja VirtualNível Conceitual
  • Produto livro
  • Itens são unidades deste livro
  • Domínio não disponível, disponível, reservado,
    vendido, excluído
  • Agentes comprador e vendedor
  • Ações
  • Comprador Navegar, Reservar, Cancelar Reserva,
    Comprar
  • Vendedor Disponibilizar, Excluir, Alterar
  • Serviços Efetuar reserva, Excluir produto, etc.

13
14
Estudo de Caso Loja Virtual Nível Conceitual
  • Regras de negócio
  • Se um item está indisponível e a ação
    Disponibilizar é executada sobre ele, então o
    item deverá estar disponível no estado seguinte.
  • Se o item está reservado para um comprador e este
    executa a ação comprar, então o estado seguinte
    deste item será vendido.

14
15
Estudo de Caso Loja Virtual Nível Conceitual
  • Regras de negócios
  • Reservar um item e cancelar a reserva de outro
    item do mesmo produto devem ser serviços
    atômicos.
  • Se o estoque é positivo, então deve
    necessariamente existir pelo menos um item no
    estado disponível.
  • Etc.

15
16
A Metodologia Formal-CAFE
  • Aplicação

16
17
A Metodologia Formal-CAFE
  • Aplicação
  • ciclo de vida do bem comercializado (item)

17
18
Estudo de Caso Loja Virtual Nível Aplicação
  • Propriedade de Completeza
  • EF (item1.estado Indisponível)
  • EF (item1.estado Excluído)

item
  • EF (comprador.ação Reservar)
  • EF (comprador.ação Comprar)

comprador
  • EF (vendedor.ação Disponibilizar)
  • EF (vendedor.ação Excluir)

vendedor
18
19
A Metodologia Formal-CAFE
  • Funcional
  • Serviços providos pelo sistema
  • Múltiplos agentes
  • Múltiplos itens.

19
20
Estudo de Caso Loja Virtual Nível Funcional
  • Propriedade de Transitividade
  • AG (estado Indisponível serviço
    Disponibilizar) ? AX (estado Disponível)
  • AG (estado Disponível serviço Excluir) ? AX
    (estado Excluído)
  • AG (estado Reservado serviço Comprar) ? AX
    (estado Vendido)

20
21
Estudo de Caso Loja Virtual Nível Funcional
  • Propriedades Transacionais
  • Atomicidade
  • Ex Se um item está disponível e um comprador
    tenta reservá-lo, o item deverá estar reservado
    no próximo estado e o estoque alterado ou então o
    estado deve ser mantido.

AG ((estado Disponível serviço Reservar
estoque v) ? AX ((estado Disponível
estoque v) (estado Reservado estoque v
1)))
21
22
Estudo de Caso Loja Virtual Nível Funcional
  • Propriedades Transacionais
  • Isolamento
  • Ex Se existirem dois compradores, um reservando
    um item e outro cancelando a reserva de outro
    item do mesmo produto, o estoque do produto deve
    ser mantido consistente.

AG ((serviço_comprador1 Reservar
serviço_comprador2 Cancelar Reserva estoque
v) ? AX (estoque v))
22
23
Estudo de Caso Loja Virtual Nível Funcional
  • Propriedades Transacionais
  • Consistência
  • Ex o estoque de um determinado produto nunca
    deve ser negativo.

AG !(estoque lt 0)
  • Ex Se o estoque é positivo, então deve
    existirpelo menos um item disponível.

AG ((estoque gt 0) ? (estado_produto Disponível))
23
24
Estudo de Caso Loja Virtual Nível Funcional
  • Atomicidade e Isolamento evitam inconsistência no
    sistema
  • Erro grave detectado violação da propriedade de
    isolamento, que ocasionou que um mesmo item de um
    produto fosse vendido duas vezes.
  • Solução mecanismo de exclusão mútua no processo
    de reserva de itens.

24
25
Estudo de Caso Loja Virtual Nível Funcional
  • Erro detectado

next (em_uso) case ... em_uso 0 serviço
comprador 1 Reservar serviço comprador 2
Reservar estoque gt 0 estoque lt 2
1,2 em_uso 1 serviço comprador 1
Cancelar Reserva 0 em_uso 1 serviço
comprador 1 Comprar 0 em_uso 2 serviço
comprador 2 Cancelar Reserva 0 em_uso 2
serviço comprador 2 Comprar 0 ... 1
em_uso esac
next (sessão_usuário) case ... sessão_usuári
o seleção de produto serviço comprador
Reservar next(produto disponível 1)
carrinho de compras sessão_usuário seleção de
produto serviço comprador Reservar
next(produto disponível 0) erro (produto
indisponível) ... 1 sessão_usuário esac
  • Resultado
  • Quando um comprador solicitar a reserva de um
    item, caso a variável
  • em_uso contenha a identificação de outro
    comprador, então a adição do
  • item ao seu carrinho de compras não é efetuada.

26
A Metodologia Formal-CAFE
  • Execução ou Arquitetural
  • Componentes do sistema
  • Interações do usuário.

26
27
Estudo de Caso Loja Virtual Nível Execução /
Arquitetural
  • Verificação de todas as propriedades verificadas
    nos níveis antecedentes.
  • Novas especificações para verificar o correto
    funcionamento dos componentes da arquitetura do
    sistema.
  • 71 especificações verificadas.
  • Modelo completo mais de 1023 estados, com mais
    de 1014 estados alcançáveis.

27
28
Conclusão
  • A aplicação de verificação de modelos em comércio
    eletrônico tem se mostrado promissora
  • Área pouco explorada
  • Processo de verificação em sistemas de software
    não é trivial, porém a definição de uma
    metodologia para tal é necessária e tende a
    atrair pessoas para a área.

28
29
Contribuições
  • Definição uma metodologia que possibilite
  • Identificar antecipadamente erros no projeto
  • Projetar sistemas de comércio eletrônico mais
    confiáveis e robustos.
  • Oportunidade de estender o trabalho a outras
    áreas de aplicação
  • Demonstração que a aplicação de técnicas formais
    pode ser útil e promissora.

29
30
Publicações
  • ICFEM02
  • A Formal Methodology to Specify e-Commerce
    Systems
  • Artigo WMF2002
  • Uma Metodologia para Verificação de Modelos de
    Sistemas de Comércio Eletrônico
  • Artigo ICECR-5
  • Formal-CAFE Methodology an E-commerce System's
    Case Study

30
31
Trabalhos Futuros
  • Definição de padrões para especificação formal de
    regras de negócio de comércio eletrônico (CE)
  • Definição de padrões para construção do modelo
    formal proposto pela metodologia
  • Definição de uma linguagem formal para construção
    de sistemas de CE
  • Aplicação da metodologia em outras áreas, tais
    como comércio eletrônico móvel e telecomunicações.

31
32
(No Transcript)
33
Grau de Formalidade Nível 0
  • Nenhum uso de métodos formais
  • Corresponde a prática padrão, na qual a
    verificação é um processo manual de revisão e
    inspeção aplicada a documentos escritos em
    linguagem natural
  • A validação é baseada em testes.

34
Grau de Formalidade Nível 1
  • Uso de conceitos e notações da matemática
    discreta
  • Substitui-se a linguagem natural utilizada na por
    notações e conceitos da lógica e matemática
    discreta.

35
Grau de Formalidade Nível 2
  • Uso de Linguagens de especificação formal
  • Ferramenta de suporte automático limitado, como
    um analisador, um verificador de tipos ou apenas
    capacidade de prova de teoremas

36
Grau de Formalidade Nível 3
  • Uso de Linguagens de especificação formal mais
    completas
  • Ambiente de suporte amplo, incluindo prova de
    teoremas automática e verificadores de provas
  • Verificação de modelos totalmente automática.

37
CAFE Conceitual
  • Define quais são as entidades que caracterizam um
    serviço de comercio eletrônico
  • Entidades base para elaboração dos níveis
    subseqüentes.

38
CAFE Aplicação
  • São instanciados os possíveis valores para cada
    entidade
  • Descrito o funcionamento da aplicação sob a
    perspectiva do itens que estão sendo
    comercializados.

39
CAFE Funcional
  • Descrição dos serviços providos pelo servidor de
    transação
  • Especificação da estratégia de implementação dos
    serviços
  • Estratégia de armazenamento.

40
CAFE Execução
  • Determina como a aplicação vai ser implementada
  • Arquitetura do sistema
  • Tecnologias a serem adotadas.
  • Complementa o processo de concepção do servidor
    de comercio eletrônico.

41
Arquitetura Típica
42
Comércio eletrônico
  • Conjunto de técnicas e tecnologias computacionais
    utilizadas para realizar ou facilitar transações
    comerciais de bens e serviços.

43
Sistemas de comércio eletrônico
  • Arquitetura típica
  • Servidor WWW
  • Servidor de transações
  • Banco de dados.
  • Requisitos
  • Gerenciamento do estado da aplicação
  • Suporte transacional
  • Segurança
  • Desempenho.

44
Métodos Formais
  • Consiste basicamente no uso de técnicas
    matemáticas para auxiliar na documentação,
    especificação, projeto, análise e certificação de
    sistemas de computação.
  • Exemplo
  • provadores de teoremas
  • matemática discreta
  • verificação de modelos.

45
Métodos Formais
  • Benefícios
  • Capacidade de fornecer especificações precisas e
    não ambíguas
  • Possibilidade de verificar especificações
    iniciais do projeto, onde normalmente não há
    outra forma de validação
  • Mudanças na especificação podem ser realizadas de
    maneira mais confiável.

46
Grau de formalidade
  • Nível 0
  • Nível 1
  • Nível 2
  • Nível 3
  • Verificação de modelos (model checking)

47
Verificação de Modelos
  • Exploração exaustiva de todas as possibilidades
    de comportamento de um sistema.
  • Processo de Verificação de Modelos
  • Modelagem formal
  • Especificação formal
  • Verificação formal.
  • SMV e NuSMV

48
Verificação de Modelos
  • Modelagem formal
  • consiste em converter as características do
    projeto para uma linguagem formal compatível com
    a ferramenta de verificação que pretende-se
    utilizar.
  • Como isso é feito?
  • Qual a representação utilizada?

49
Modelagem Formal
50
Modelagem Formal
Ação comprador 1 reservar Ação comprador 2
navegar Ação vendedor disponibilizar Estado
item 1 (L1) disponível Estado item 2 (L2)
alocado ... Estoque do Livro 1 1
51
Modelagem Formal
... Estoque do Livro 1 lt 0
52
Especificação Formal
Em minha aplicação modelada, existe alguma
situação onde o estoque é negativo?
  • Lógica Temporal
  • Fórmulas CTL

EG (estoque lt 0)
53
Verificação Formal
Em minha aplicação modelada, existe alguma
situação onde o estoque é negativo?
  • Lógica Temporal
  • Fórmulas CTL

EG (estoque lt 0)
Não
Write a Comment
User Comments (0)
About PowerShow.com