A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

E-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Uma Metodologia para Verificação de Modelos de Sistemas de Comércio.

Apresentações semelhantes


Apresentação em tema: "E-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Uma Metodologia para Verificação de Modelos de Sistemas de Comércio."— Transcrição da apresentação:

1 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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

2 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Introdução Comércio eletrônico (C.E.)Comércio eletrônico –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-hocsistemas de comércio eletrônico –Sistemas menos confiáveis; –Alto custo. 2

3 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Metodologia CAFE Níveis: –ConceitualConceitual –AplicaçãoAplicação –FuncionalFuncional –Execução ou ArquiteturalExecuçãoArquitetural 4

5 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Metodologia CAFE CAFE EntidadesItens Ciclo de Vida Ações Agentes Serviços Produtos Requisitos Funcionais Estratégia de Armazenamento Arquitetura Ambiente de Execução Modelo de Execução Ferramentas

6 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE CAFE Espec.Formal Verif.Formal Model.FormalRegrasDeNegócio Espec.Formal Verif.Formal Model.Formal Espec.Formal Verif.Formal Model.Formal Sistema Correto 11

12 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Conceitual: –Tupla: ; –Regras de negócio; –Quanto mais detalhado for, melhor! Explicação dos níveis e acompanhamento através de um estudo de caso de uma Loja Virtual. 12

13 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Ní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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Aplicação: 16

17 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Aplicação: –ciclo de vida do bem comercializado (item); 17

18 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Aplicação Propriedade de Completeza –EF (item1.estado = Indisponível) –EF (item1.estado = Excluído) 18 item comprador vendedor – –EF (comprador.ação = Reservar) – –EF (comprador.ação = Comprar) – –EF (vendedor.ação = Disponibilizar) – –EF (vendedor.ação = Excluir)

19 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE Funcional: –Serviços providos pelo sistema; –Múltiplos agentes; –Múltiplos itens. 19

20 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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. 21 AG ((estado = Disponível & serviço = Reservar & estoque = v)  AX ((estado = Disponível & estoque = v) | (estado = Reservado & estoque = v – 1)))

22 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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. 22 AG ((serviço_comprador1 = Reservar & serviço_comprador2 = Cancelar Reserva & estoque = v)  AX (estoque = v))

23 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Propriedades Transacionais –Consistência: Ex: o estoque de um determinado produto nunca deve ser negativo. 23 AG !(estoque < 0) AG ((estoque > 0)  (estado_produto = Disponível)) Ex: Se o estoque é positivo, então deve existir pelo menos um item disponível.

24 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Estudo de Caso – Loja Virtual Nível Funcional Erro detectado: next (sessão_usuário) := case... sessão_usuário = 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; next (em_uso) := case... em_uso = 0 & serviço comprador 1 = Reservar & serviço comprador 2 = Reservar & estoque > 0 & estoque <= 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; 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory A Metodologia Formal-CAFE – – Execução ou Arquitetural: – – Componentes do sistema; – – Interações do usuário. 26

27 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 10 23 estados, com mais de 10 14 estados alcançáveis. 27

28 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Publicações 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: an E-commerce System's Case Study” 30

31 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory

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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Arquitetura Típica

42 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Grau de formalidade Nível 00 Nível 11 Nível 22 Nível 33 –Verificação de modelos (model checking)

47 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Verificação de Modelos Exploração exaustiva de todas as possibilidades de comportamento de um sistema. Processo de Verificação de Modelos: –Modelagem formal;Modelagem formal –Especificação formal;Especificação formal –Verificação formal.Verificação formal SMV e NuSMV

48 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory 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 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Modelagem Formal

50 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Ação comprador 1 = reservar Ação comprador 1 = reservar Ação comprador 2 = navegar Ação comprador 2 = navegar Ação vendedor = disponibilizar Ação vendedor = disponibilizar Estado item 1 (L1) = disponível Estado item 1 (L1) = disponível Estado item 2 (L2) = alocado Estado item 2 (L2) = alocado...... Estoque do Livro 1 = 1 Estoque do Livro 1 = 1 Modelagem Formal

51 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory...... Estoque do Livro 1 < 0 Estoque do Livro 1 < 0 Modelagem Formal

52 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Especificação Formal Em minha aplicação modelada, existe alguma situação onde o estoque negativo? Em minha aplicação modelada, existe alguma situação onde o estoque é negativo? Lógica Temporal Fórmulas CTL EG (estoque < 0)

53 e-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Verificação Formal Em minha aplicação modelada, existe alguma situação onde o estoque negativo? Em minha aplicação modelada, existe alguma situação onde o estoque é negativo? Lógica Temporal Fórmulas CTL EG (estoque < 0) Não


Carregar ppt "E-Commerce, Systems Performance Evaluation, and Experimental Development Laboratory Uma Metodologia para Verificação de Modelos de Sistemas de Comércio."

Apresentações semelhantes


Anúncios Google