Uma Metodologia para
Verificação de Modelos de
Sistemas de Comércio Eletrônico
Adriano Machado Pereira (adrianoc@dcc.ufmg.br)
Orientador: Wagner Meira Jr. (meira@dcc.ufmg.br)
Co-orientador: Sérgio Campos (scampos@dcc.ufmg.br)
28 de Agosto de 2002
e-Commerce, Systems Performance Evaluation,
and Experimental Development Laboratory
Introdução
e -speed
• 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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
2
Introdução
e -speed
• 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?
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
3
Metodologia CAFE
e -speed
• Níveis:
– Conceitual
– Aplicação
– Funcional
– Execução ou Arquitetural
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
4
e -speed
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
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
Metodologia CAFE
e -speed
• Direcionada
para
concepção
sistemas de comércio eletrônico.
de
– Por que não adotá-la simplesmente?
• Quem projeta os sistemas?
• Quem produz os equipamentos de informática?
Ser humano
não é perfeito!
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
6
e -speed
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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
7
e -speed
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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
8
e -speed
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
Transação
(Atomicidade,
Isolamento)
Servidor
de
Consistência,
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
9
e -speed
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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
10
e -speed
A Metodologia Formal-CAFE
C
A
F
Regras
De
Negócio
Model.
Formal
Model.
Formal
Model.
Formal
Espec.
Formal
Espec.
Formal
Espec.
Formal
Verif.
Formal
Verif.
Formal
Verif.
Formal
Sistema Correto
E
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
11
A Metodologia Formal-CAFE
e -speed
• Conceitual:
– Tupla: < P, I, D, Ag, Ac, S > ;
– RegrasExplicação
de negócio;
dos níveis e
acompanhamento
através
um
– Quanto
mais detalhado
for,demelhor!
estudo de caso de uma Loja Virtual.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
12
e -speed
Estudo de Caso – Loja Virtual
Nível Conceitual
• Produto: livro;
• Itens: são unidades deste livro;
• Domínio:
não
disponível,
reservado, vendido, excluído;
• Agentes: comprador e vendedor;
• Ações:
disponível,
– Comprador:
Navegar,
Reservar,
Cancelar
Reserva, Comprar
– Vendedor: Disponibilizar, Excluir, Alterar
• Serviços: Efetuar reserva, Excluir produto,
etc.
13
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
Estudo de Caso – Loja Virtual
Nível Conceitual
e -speed
• 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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
14
Estudo de Caso – Loja Virtual
Nível Conceitual
e -speed
• 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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
15
A Metodologia Formal-CAFE
e -speed
• Aplicação:
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
16
A Metodologia Formal-CAFE
• Aplicação:
e -speed
– ciclo de vida do bem comercializado (item);
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
17
Estudo de Caso – Loja Virtual
Nível Aplicação
e -speed
• 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
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
18
A Metodologia Formal-CAFE
e -speed
• Funcional:
– Serviços providos pelo sistema;
– Múltiplos agentes;
– Múltiplos itens.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
19
Estudo de Caso – Loja Virtual
Nível Funcional
e -speed
• 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)
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
20
Estudo de Caso – Loja Virtual
Nível Funcional
• Propriedades Transacionais
e -speed
– 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)))
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
21
Estudo de Caso – Loja Virtual
Nível Funcional
• Propriedades Transacionais
e -speed
– 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))
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
22
Estudo de Caso – Loja Virtual
Nível Funcional
• Propriedades Transacionais
e -speed
– Consistência:
• Ex: o estoque de um determinado produto
nunca deve ser negativo.
AG !(estoque < 0)
• Ex: Se o estoque é positivo, então deve existir
pelo menos um item disponível.
AG ((estoque > 0)  (estado_produto = Disponível))
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
23
e -speed
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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
24
Estudo de Caso – Loja Virtual
Nível Funcional
• Erro detectado:
e -speed
next (em_uso) := case
...
next (sessão_usuário)
:= case
em_uso
= 0 & serviço comprador 1 = Reservar & serviço comprador 2 =
...
Reservar & estoque
> 0 & estoque
<= &
2 serviço
: {1,2}; comprador = Reservar &
Resultado:
sessão_usuário
= seleção
de produto
= 1 &disponível
serviço
comprador
1 = Cancelar
Reserva
: 0;a variável
next(produto
= 1)a: carrinho
de
– Quandoem_uso
um comprador
solicitar
reserva
decompras;
um item,
caso
em_uso
=1
serviço
comprador
1 = Comprar
0; então a=adição
sessão_usuário
= seleção
de
& serviço: comprador
Reservar
em_uso contenha
a &identificação
deproduto
outro
comprador,
do&
em_uso
= 2 & serviço comprador
2(“produto
= Cancelar
Reserva : 0;
next(produto
= 0)não
: erro
indisponível”);
item ao seu
carrinho disponível
de compras
é efetuada.
em_uso = 2 & serviço comprador 2 = Comprar : 0;
...
...
1: sessão_usuário;
1: em_uso;
esac;
esac;
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
e -speed
A Metodologia Formal-CAFE
– Execução ou Arquitetural:
– Componentes do sistema;
– Interações do usuário.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
26
e -speed
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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
27
e -speed
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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
28
Contribuições
e -speed
• 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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
29
Publicações
e -speed
• ICFEM’02
– “A Formal Methodology to Specify e-Commerce
Systems”
• Artigo WMF’2002
– “Uma Metodologia para Verificação de Modelos de
Sistemas de Comércio Eletrônico”
• Artigo ICECR-5
– “Formal-CAFE Methodology:
System's Case Study”
an
E-commerce
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
30
e -speed
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.
e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory
31
Download

dissertacao_v12