O slideshow foi denunciado.

J Boss Drools

3.577 visualizações

Publicada em

Presentation of Drools at Ulbra Gravataí.

Publicada em: Tecnologia, Educação
  • Seja o primeiro a comentar

J Boss Drools

  1. 1. Inteligência Artificial I
  2. 2. <ul><li>BRMS (Business Rule Management System) </li></ul><ul><ul><li>Requisitos </li></ul></ul><ul><ul><li>Regras </li></ul></ul><ul><ul><li>SOA </li></ul></ul><ul><li>Implentação de um Rules Engine </li></ul><ul><li>Implementado com o ReteOO </li></ul><ul><ul><li>Tailoring para Java do Rete </li></ul></ul><ul><li>Programação Declarativa </li></ul><ul><li>DSL (Domain Specifics Language) </li></ul><ul><ul><li>SQL </li></ul></ul>
  3. 3. <ul><li>Maior independência dos setores de negócio </li></ul><ul><li>Aumento do controle sobre as regras de negócio de sisitema </li></ul><ul><li>Expressar regras na linguagem do usuário(DSL) </li></ul><ul><li>Representação gráfica de regras </li></ul><ul><ul><li>Tabelas de decisão </li></ul></ul><ul><ul><li>Árvores </li></ul></ul><ul><ul><li>Fluxos de regras </li></ul></ul>
  4. 4. <ul><li>Expressivas </li></ul><ul><li>Normalmente Simples </li></ul><ul><li>Base do BRMS </li></ul><ul><li>Forward Chaining * </li></ul><ul><ul><li>Premissas -> Conclusões </li></ul></ul><ul><li>BackwardChaining </li></ul><ul><ul><li>Conclusões -> Premissas (Pilha) </li></ul></ul>
  5. 5. <ul><li>Composto basicamente de: </li></ul><ul><ul><li>Máquina de inferências </li></ul></ul><ul><ul><ul><li>Responsável pela execução das regras. </li></ul></ul></ul><ul><ul><li>Memória de trabalho </li></ul></ul><ul><ul><ul><li>Armezena as conclusões (fatos) gerados pela execução das regras. </li></ul></ul></ul><ul><ul><li>Base de conhecimento </li></ul></ul><ul><ul><ul><li>É o repositório das regras a serem utilizadas pela máquina de inferências. </li></ul></ul></ul>
  6. 6.
  7. 7. <ul><li>Programação Declarativa </li></ul><ul><ul><li>Fácil de Expressar soluções </li></ul></ul><ul><li>Separação da Lógica e dos Dados </li></ul><ul><ul><li>Desacoplamento dos Dados e Lógica </li></ul></ul><ul><ul><li>Lógica toda nas Regras </li></ul></ul><ul><li>Velocidade e Escalabilidade </li></ul><ul><ul><li>ReteOO </li></ul></ul><ul><ul><li>Datasets que não mudam tudo (Lembraça dos patterns anteriores) </li></ul></ul><ul><li>Centralização do Conhecimento </li></ul><ul><ul><li>Repositório de Conhecimento Executável </li></ul></ul>
  8. 8. <ul><li>Centralização do Conhecimento </li></ul><ul><ul><li>Regras são documentação </li></ul></ul><ul><li>Explanação </li></ul><ul><ul><li>Log da decisões e os porques </li></ul></ul><ul><li>Regras Legíveis </li></ul><ul><ul><li>Graças ao DSL </li></ul></ul>
  9. 9. <ul><li>Versão otimizada do algoritmo de Rete para execução de ações em um sistema. </li></ul><ul><li>Gera uma máquina de estado de regras. </li></ul><ul><li>Novos fatos alimentam a máquina de estados. </li></ul><ul><li>Máquina de estados tem memória dos estados anteriores </li></ul><ul><li>Resolução de conflitos não está no algoritmo mas está ao redor da solução. (Baseado em saliência-> Prioridade) </li></ul>
  10. 10. <ul><li>Linguagem para propósito específico </li></ul><ul><li>Domínio restrito </li></ul><ul><li>Aproveitamento da Expêriencia usuário </li></ul><ul><li>Não necessita de pessoal técnico </li></ul><ul><li>Exemplos: </li></ul><ul><ul><li>SQL </li></ul></ul><ul><ul><li>Comandos Unix </li></ul></ul><ul><li>Esconder detalhes de implementação </li></ul><ul><li>Edição controlada das regras </li></ul>
  11. 11.
  12. 12.
  13. 13.
  14. 14. 1. Authoring 2. Runtime
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19. <ul><li>Exemplos práticos com o IDE Eclipse... </li></ul>
  20. 20. <ul><li>http://www.jboss.org/drools/ </li></ul><ul><li>http://blog.athico.com/ </li></ul><ul><li>http://en.wikipedia.org/wiki/BRMS </li></ul><ul><li>http://en.wikipedia.org/wiki/Rete_algorithm </li></ul><ul><li>http://en.wikipedia.org/wiki/Domain-specific_programming_language </li></ul>

×